We recently showed that you can use the consumer Intel Optane Memory m.2 devices in a server, and as ZFS cache and log devices. That was an important step because Intel’s product page specifically cites 7th gen Core CPUs and platforms as a requirement for the devices. By showing that we could take a standard server platform and use the m.2 device we open up Intel Optane Memory and 3D Xpoint to a lower price point.
The Intel DC P4800X is a much better, much faster device, but it costs upwards of $1500 in its smallest 375GB form. The m.2 drives are meant for client caching are significantly smaller (16GB and 32GB) but also both cost well under $100 making the technology more accessible.
Using VT-d PCIe Pass-through on Intel Optane Memory
For those unaccustomed to pass-through, it is an advanced virtualization feature. Essentially it allows a PCIe device to be utilized solely by a guest VM in order to improve performance. I/o devices such as network interface cards, GPUs, and storage devices/ controllers are common VT-d virtualization targets. For the Intel Optane Memory used case we are showing here, this is a great way to get low latency storage into a web hosting virtual machine.
Here is a small illustration regarding what we are setting up:
The basic idea here is that we are going to use a Debian Stretch-based (Proxmox VE 5.0) Linux KVM hypervisor. We installed a Windows Server 2012 R2 64-bit guest OS. We are going to use VT-d pass-through to hand the Intel Optane Memory m.2 card from the host Linux OS directly to Windows. Here is a video to see how well this worked.
Intel specs for the 16GB drive are 145MB/s write and 900MB/s read. We essentially hit these numbers using a best case sequential benchmark (ATTO) in the Windows VM so we know that PCIe pass-through is working as intended.
We are still likely to recommend getting a bigger/ faster NVMe drive or more RAM over these small devices. These days, m.2 slots are in short supply on most server platforms so it may be difficult even mirroring these devices in a server. If you look at 16GB and 32GB pricing v. performance, you will likely conclude that you want the 32GB model. The 32GB model will leave an Intel DC S3700 100GB drive in the dust in terms of performance (more on this later.)
What we do like about this setup is the ability to get the benefits of PCIe pass-through disks at an extremely low cost. If you just want to learn NVMe pass-through, this may be the least expensive way to do so.