Leveraging Shared VHDX and VHD Sets
Windows Server  2012    R2  and above   provides    a   feature that    for most    environments
will    remove  the need    to  use iSCSI   inside  the virtual machine or  virtual Fibre   Channel
and remove  the need    to  expose  the storage fabric  details to  the virtual machine.
Shared  VHDX    allows  a   VHDX    file    to  be  connected   to  multiple    virtual machines
simultaneously, and the shared  VHDX    will    be  seen    as  shared  storage (shared SAS)    and
therefore   used    as  cluster storage within  guest   clusters.   The requirements    for shared
VHDX    in  Windows Server  2012    R2  and above   are as  follows:
Must    use Windows Server  2012    R2  Hyper-V
Guest   operating   systems must    be  Windows Server  2012    or  above   and must    be
running the Windows Server  2012    R2  Integration Services.
The disk    must    be  VHDX,   not VHD,    and must    be  connected   to  an  SCSI    controller,
not IDE.    It  can be  a   generation  1   or  generation  2   virtual machine.
VHDX    can be  fixed   or  dynamic but not differencing.
Can be  used    for data    disks   only.   Cannot  be  used    for operating   system  disks
The storage for the VHDX    file    being   shared  must    either  be  a   CSV or  be  hosted  from
a   Scale-Out   File    Server  (SoFS)  accessed    using   SMB 3   (the    SoFS    would   be  using
CSV for its backend storage).   The reason  CSV must    be  used    to  store   the VHDX    is
that    the code    to  implement   the VHDX    sharing is  part    of  CSV and not the regular
NTFS    code.It  is  possible    to  force   the process of  loading and attaching   the shared  VHD filter  driver
to  a   non-CSV volume. However,    this    loading will    survive only    until   the disk    is  offlined
in  some    way,    at  which   point   you would   have    to  load    and attach  again.  Note    that    this    is
not supported   or  even    tested  by  Microsoft   and should  be  used    only    in  basic   test
scenarios   if  a   CSV is  not available.  Here    are the steps:
1 . Install the Failover    Clustering  feature through Server  Manager or  through
PowerShell:
Install-WindowsFeature  Failover-Clustering2 . Run the following   command,    specifying  the volume  to  attach  the shared  VHDX
filter  to:
FLTMC.EXE   attach  svhdxflt    <volume>:Provided    that    a   VHDX    file    is  stored  on  a   CSV volume  or  SoFS    and is  connected   via an
SCSI    controller, there   is  only    one step    to  make    it  shared: After   it  has been    added   to  a
virtual machine in  the Advanced    Features    properties  for the disk,   select  the Enable
Virtual Hard    Disk    Sharing check   box,    as  shown   in  Figure  4.28.   Repeat  this    for the
same    disk    on  all virtual machines    that    need    to  access  the shared  disk.
