Add-VMHardDiskDrive -VMName Demo1 -Path D:\Virtuals\newdyn.vhdx '
-ControllerType SCSI
Pass-Through Storage
As I mentioned, one storage option is to use a pass-through disk, whereby a virtual
machine has connectivity mapped directly to physical disks. However, this requires
the physical disk to be used exclusively by a single virtual machine. The benefits of
abstracting the virtual machine from hardware are lost, because the virtual machine is
now directly linked to a physical piece of hardware. Other features, such as using
checkpoints that provide a point-in-time saved state of a virtual machine, are not
possible.
The Hyper-V host cannot access a disk that is passed through to a VM. It becomes
exclusively usable by the virtual machine. The disk must be offline on the Hyper-V
host to be connected to a virtual machine. Pass-through disks may be used for very
high I/O applications like SQL Server, but this is typically not required given the
continued improvements in VHDX performance. Prior to VHDX, the use of pass-
through storage was required for a volume larger than 2TB because of the VHD size
limit, but this is no longer a limiting factor because of VHDX.
Discrete Device Assignment
SR-IOV is a part of the PCI Express specification. It allows you to separate the
controlling aspects of a device from the data-moving aspects of the device, so that the
device appears on the PCI Express bus multiple times (once for the control plane and
once for each data plane). When you use this for NIC (Network Interface Card), it
allows each VM to have its own path directly to the NIC, and for the NIC to have a
direct path to the VM’s memory. No software needs to get in the way. To make this all
happen, the hypervisor has to build a virtual network switch and let the NIC run part
of it. The software switch still exists, but the individual data paths in the NIC can
bypass it.
In Hyper-V, these individual data planes (called virtual functions, for reasons dating
back 20 years) aren’t modeled as full virtual NICs. The virtual NIC is handled in
software and most, but not all, of the networking traffic is offloaded to the virtual
function. You can see this, by the way, in the guest VM by looking at the vNIC and the
virtual function. They have the same MAC address. The virtual function can’t function
entirely by itself, though, and at times during a VM’s life cycle (while it’s in the middle
of Live Migration, for instance), all the traffic goes through the software path. This is
in contrast to most other hypervisors, by the way, which send all traffic through the
virtual function and don’t build a software path beside it, foregoing things like Live
Migration, VM checkpoints, and anything else that can’t work with a piece of actual
hardware exposed to the VM.
Windows Server 2016 expands on this idea of mapping hardware directly to a VM with
Discrete Device Assignment (DDA). DDA enables PCI Express–connected devices to