I gave a decade-old PC NVMe storage with out changing the motherboard

A short time in the past, I purchased a Gigabyte 512 GB NVMe SSD to make use of in a USB-C enclosure as a portable hard drive. The enclosure venture by no means got here to fruition, so the SSD sat in my drawer for months.
It was nonetheless sitting unused after I constructed my Xeon-based Proxmox server out of decade-old {hardware}. There was one actually apparent drawback, nevertheless. Its motherboard didn’t have an M.2 socket.
An affordable PCIe adapter gave me someplace to put in it, including much-needed storage to the server. What I didn’t count on, although, was the large efficiency increase it gave my VMs.
My server wanted storage, and my SSD wanted someplace to go
An affordable adapter gave it a job in {hardware} I already owned
My server runs an outdated Xeon E3-1225 v3 on a Gigabyte LGA1150-socket motherboard, with two SATA SSDs and one outdated mechanical onerous drive for storage. It’s outdated {hardware} that firmly sits within the “if it’s not damaged, don’t repair it” class, and it nonetheless runs the virtual machines I would like.
Replacing the motherboard to accommodate one lonely NVMe drive would’ve concerned upgrading, and I simply wasn’t able to say goodbye to working {hardware} simply but. Instead, I purchased a PCIe-to-M.2 adapter for simply over $17. The card offers the NVMe drive a socket and connects it by one of many motherboard’s PCIe expansion slots.
I fitted the SSD into the adapter’s NVMe socket, secured it with a tiny screw, and put in the assembled card within the prime PCIe slot above the PCI NIC card. The drive had now discovered a house inside a server I really use every day.
The two M.2 sockets on my adapter do deserve a more in-depth look, primarily as a result of I made a foolish mistake when shopping for it. I didn’t learn the superb print and assumed each slots would accommodate an NVMe drive. Unfortunately, just one accepts an NVMe SSD, and the opposite takes a SATA M.2 SSD and requires a separate SATA knowledge cable.
They aren’t interchangeable, and the cardboard won’t ever assist two NVMe drives. I solely wanted one socket, however having the choice for 2 would’ve been good.
- Brand
-
MHQJRH
- Input
-
PCIe 3.0 x4 and SATA
The MHQJRH Dual M.2 PCIe Adapter provides connections for one NVMe SSD and one SATA M.2 SSD to a desktop PC. The NVMe drive makes use of PCIe 3.0 x4, whereas the SATA drive requires a separate SATA knowledge cable.
Proxmox noticed the drive on the primary boot
Recognizing it and making it helpful have been two separate jobs
The Gigabyte NVMe drive appeared in Proxmox as /dev/nvme0n1, with a capability of 476.9 GiB. That’s round what I used to be anticipating for a drive offered as 512 GB, for the reason that capacity is counted differently.
I checked it alongside the present SATA drives with this command:
lsblk -d -o NAME,MODEL,SIZE,TRAN
The {hardware} was acknowledged, however I nonetheless needed to inform Proxmox the best way to use it. Through the online interface, I created an LVM-thin storage pool aptly named vm-nvme. For Proxmox, this was someplace for the hypervisor to retailer digital disks.
After creating the storage, Proxmox’s abstract confirmed the pool as lively, with a beneficiant 501.74 GB of storage capability now added.
The subsequent job was to maneuver my Windows 11 VM off of the SATA SSD and onto the brand-new NVMe drive. I shut down the VM and used Proxmox’s Move Storage choice to switch its 64 GB system disk from the Intel SATA SSD over to the brand new pool. I stored the unique copy on the outdated drive simply in case, then deleted it as soon as I’d confirmed the VM efficiently booted.
Windows began fortunately from the relocated system disk, with the present set up intact and able to check out.
Better efficiency on the Windows VM made the improve really feel worthwhile
I felt the distinction even earlier than I confirmed it with numbers
Booting up the Windows 11 VM on the brand new storage pool felt noticeably sooner. Even booting to the desktop was sooner. Now, as a result of I didn’t get out a stopwatch, this efficiency improve was purely subjective, however the distinction caught my consideration instantly.
To be sure that I wasn’t imagining issues, I made a decision to take a measured comparability. I ran the benchmarking tool CrystalDiskMark earlier than and after transferring the system from the SATA SSD to the Gigabyte NVMe drive. Both of those exams used three runs and a 4 GiB check measurement. For each exams, the VM stored the identical compute sources of two vCPU cores, 8 GB of RAM, and the VirtIO SCSI controller.
These two rows present the most important enchancment and substantial outcomes. Sequential exams measure massive, consecutive transfers, whereas random 4K exams measure the small, scattered accesses a drive would expertise in the actual planet. Each cell lists learn velocity adopted by its write velocity:
|
Test |
Intel SATA SSD |
Gigabyte NVMe SSD |
|
Sequential Q8T1 |
454 / 150 MB/s |
1,896 / 1,846 MB/s |
|
Random 4K Q1T1 |
8.27 / 39.82 MB/s |
21.70 / 51.34 MB/s |
Sequential learn throughput climbed 4.2 occasions the earlier end result. Random Q1T1 writes improved by 29%, displaying the features weren’t uniform throughout the board.
The figures positively defined what I had felt when booting into the VM’s desktop off of the NVMe storage, representing the development in velocity whereas utilizing the identical Windows set up.
I’d test the slot earlier than shopping for an adapter
Just as a result of it matches doesn’t robotically imply it’s appropriate
After the profitable set up, I checked the NVMe controller’s PCIe connection. It supported PCIe 3.0 x4 and fortunately had negotiated precisely that. That meant the slot I’d chosen wasn’t lowering its link speed or lane count, nor was it impacting its efficiency.
That’s one thing I’d advise checking earlier than shopping for something. My motherboard’s specs listing PCIe 3.0 assist for the highest slot solely, whereas the second backside slot runs at PCIe 2.0 x4. Yes, each can bodily accommodate the adapter, however just one might use it to its full potential.
A SATA SSD would nonetheless have been a sensible choice if I didn’t have a slot out there, however sadly my case can solely match three 2.5-inch drives. Having to purchase each an NVMe drive and the adapter would have additionally modified the fee calculation. In my case, I already owned the SSD and had room for the cardboard, making it a worthwhile $17 asset placement.
Storage assist doesn’t imply boot assist. In my case, I stored Proxmox booting from its SATA drive and used the NVMe SSD purely for VM storage. Successfully booting off this setup would require the motherboard BIOS/UEFI to acknowledge NVMe as a boot supply.
I’m glad I gave the spare drive a job
More capability and sooner VMs gave me sufficient cause to maintain the outdated {hardware}
Thankfully, the NVMe SSD lastly made it out of my drawer and was given a job to do. For solely $17, I gained helpful storage from a motherboard that was by no means meant to assist NVMe within the first place.
The value was proper as a result of I already owned the drive. Still, I might’ve purchased one for this improve anyway. I wanted the additional storage, and with RAM tight on the server, I desperately wanted the efficiency increase the NVMe SSD provided as effectively.
Having the drive sitting unused basically gave me a cause to simply get on with it. In the top, I’m glad this older machine was in a position to accommodate each with out having to contemplate shopping for a brand new motherboard.
