[null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//2.bp.blogspot.com/-Ies-8dkCrgw/Uvb6eURvWhI/AAAAAAAAFO0/Zw6OojndSOc/s1600/update_PIC01.png", "src": "http://2.bp.blogspot.com/-Ies-8dkCrgw/Uvb6eURvWhI/AAAAAAAAFO0/Zw6OojndSOc/s1600/update_PIC01.png", "formatted_filename": "update PIC", "rendered_width": 320, "rendered_height": 60}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//4.bp.blogspot.com/-Vcg6iQIypnw/UtaLESbH5HI/AAAAAAAAEus/VsenJ1RVc_Y/s320/PIC01.png", "src": "http://4.bp.blogspot.com/-Vcg6iQIypnw/UtaLESbH5HI/AAAAAAAAEus/VsenJ1RVc_Y/s320/PIC01.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 300}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//3.bp.blogspot.com/-0_nmS9vT8-8/UtaWcqbXsII/AAAAAAAAEvU/xKmoqe-dam8/s320/PIC02.png", "src": "http://3.bp.blogspot.com/-0_nmS9vT8-8/UtaWcqbXsII/AAAAAAAAEvU/xKmoqe-dam8/s320/PIC02.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 57}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//1.bp.blogspot.com/-mQfASGhu2qg/UtaUyMBNn0I/AAAAAAAAEvI/UW20TrbegWE/s320/PIC03.png", "src": "http://1.bp.blogspot.com/-mQfASGhu2qg/UtaUyMBNn0I/AAAAAAAAEvI/UW20TrbegWE/s320/PIC03.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 64}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//4.bp.blogspot.com/-CSMNpGQQZZA/UtaXxCpeTWI/AAAAAAAAEvg/BU_kHoVkOeI/s320/PIC04.png", "src": "http://4.bp.blogspot.com/-CSMNpGQQZZA/UtaXxCpeTWI/AAAAAAAAEvg/BU_kHoVkOeI/s320/PIC04.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 83}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//3.bp.blogspot.com/-1mKK7wDclWk/UtahlZx-KEI/AAAAAAAAEvw/Zf_w9Cqhbwg/s320/PIC05.png", "src": "http://3.bp.blogspot.com/-1mKK7wDclWk/UtahlZx-KEI/AAAAAAAAEvw/Zf_w9Cqhbwg/s320/PIC05.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 216}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//4.bp.blogspot.com/-jlxO3SFKT44/UtaiFMwHXoI/AAAAAAAAEwA/tNBzYRZ40rY/s320/PIC06.png", "src": "http://4.bp.blogspot.com/-jlxO3SFKT44/UtaiFMwHXoI/AAAAAAAAEwA/tNBzYRZ40rY/s320/PIC06.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 112}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//2.bp.blogspot.com/-HuMAinbox-I/UtaiVNyqhmI/AAAAAAAAEwI/XzgtaEm1OZs/s320/PIC07.png", "src": "http://2.bp.blogspot.com/-HuMAinbox-I/UtaiVNyqhmI/AAAAAAAAEwI/XzgtaEm1OZs/s320/PIC07.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 135}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//2.bp.blogspot.com/-wwSjNTzuiJg/UtainqV2DiI/AAAAAAAAEwQ/d9mUGd71J1o/s320/PIC08.png", "src": "http://2.bp.blogspot.com/-wwSjNTzuiJg/UtainqV2DiI/AAAAAAAAEwQ/d9mUGd71J1o/s320/PIC08.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 160}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//1.bp.blogspot.com/-St8H9ddaQ18/UtajJZEQIPI/AAAAAAAAEwY/XyPWVxsQDoI/s320/PIC09.png", "src": "http://1.bp.blogspot.com/-St8H9ddaQ18/UtajJZEQIPI/AAAAAAAAEwY/XyPWVxsQDoI/s320/PIC09.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 101}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//4.bp.blogspot.com/-Tus0gTtpW0c/Utaj71i5HNI/AAAAAAAAEwg/Cg1aPQBxGBo/s320/PIC10.png", "src": "http://4.bp.blogspot.com/-Tus0gTtpW0c/Utaj71i5HNI/AAAAAAAAEwg/Cg1aPQBxGBo/s320/PIC10.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 190}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//2.bp.blogspot.com/-Dpu2SDhb620/UtakYHYiGoI/AAAAAAAAEws/yxXnW5Da6vo/s1600/PIC11.png", "src": "http://2.bp.blogspot.com/-Dpu2SDhb620/UtakYHYiGoI/AAAAAAAAEws/yxXnW5Da6vo/s1600/PIC11.png", "formatted_filename": "PIC"}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//4.bp.blogspot.com/-Q0XQcV8ESBU/UtakqYkEs9I/AAAAAAAAEw0/a97d3ICKMPc/s320/PIC12.png", "src": "http://4.bp.blogspot.com/-Q0XQcV8ESBU/UtakqYkEs9I/AAAAAAAAEw0/a97d3ICKMPc/s320/PIC12.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 195}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//1.bp.blogspot.com/-awdYwUMBDPc/UtalVOVpyEI/AAAAAAAAExA/vwfzxswQt1U/s320/PIC13.png", "src": "http://1.bp.blogspot.com/-awdYwUMBDPc/UtalVOVpyEI/AAAAAAAAExA/vwfzxswQt1U/s320/PIC13.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 48}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//4.bp.blogspot.com/-5GBgMqOCCQ8/UtalxvzvIKI/AAAAAAAAExI/VU4BGWy8CAA/s320/PIC14.png", "src": "http://4.bp.blogspot.com/-5GBgMqOCCQ8/UtalxvzvIKI/AAAAAAAAExI/VU4BGWy8CAA/s320/PIC14.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 301}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//2.bp.blogspot.com/-TVrF1qPihac/UtamS388_HI/AAAAAAAAExU/t3Us68dbwAk/s320/PIC15.png", "src": "http://2.bp.blogspot.com/-TVrF1qPihac/UtamS388_HI/AAAAAAAAExU/t3Us68dbwAk/s320/PIC15.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 241}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//2.bp.blogspot.com/-V-6i3pgEkSo/Utam6Yetc9I/AAAAAAAAExc/l7x_9AkM2ys/s320/PIC16.png", "src": "http://2.bp.blogspot.com/-V-6i3pgEkSo/Utam6Yetc9I/AAAAAAAAExc/l7x_9AkM2ys/s320/PIC16.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 128}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//1.bp.blogspot.com/-ZlOJKnBaTxY/UtankvdPEzI/AAAAAAAAExs/qgQxgdsRESM/s320/PIC17.png", "src": "http://1.bp.blogspot.com/-ZlOJKnBaTxY/UtankvdPEzI/AAAAAAAAExs/qgQxgdsRESM/s320/PIC17.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 278}, null, {"document_url": "https://terrytlslau.tls1.cc/2014/01/testing-shared-vhdx-in-windows-server.html", "unformatted_src": "//1.bp.blogspot.com/-mPjla8zHHjs/UtaoA7hzm0I/AAAAAAAAEx0/8yhb_duJ02k/s320/PIC18.png", "src": "http://1.bp.blogspot.com/-mPjla8zHHjs/UtaoA7hzm0I/AAAAAAAAEx0/8yhb_duJ02k/s320/PIC18.png", "formatted_filename": "PIC", "rendered_width": 320, "rendered_height": 291}, null, null, null, null, null, null]

Testing Shared VHDX in Windows Server 2012 R2 Hyper-V environment

In Windows Server 2012 R2 with Hyper-V role, it supports a virtual hard disk sharing. Multiple virtual machines can share a virtual hard disk which is in vhdx format. To use shared VHDX function in Windows Server 2012 R2 with Hyper-V, there are some following requirements. Quote from "Deploy a Guest Cluster Using a Shared Virtual Hard Disk".

Virtual Hard Disk Sharing function can be applied to deploy failover cluster in virtual machines. It supports both Generation 1 and Generation 2 virtual machines.

In my lab environment, I don't have the above hardware. However, I read the post from Microsoft technet which was wrote by "Jose Barreto". He used a command "fltmc" to load  a minifilter driver to support Shared VHDX in a hard disk even though there is no "Cluster Shared Volumes" and "Scale-Out File Server" in his lab environment.

Remark: This following setting is used to testing Shared VHDX function. You shouldn't apply this following setting in any production environment.

Lab environment

Share a virtual hard disk for 2 virtual machines by "Enable virtual hard disk sharing" in a lab environment. 1. On HV02, log in as Local Administrator.
2. Launch "Command Prompt" as administrator.
3. Perform "fltmc" to check the current minifilter driver. There is no "svhdxflt" minifilter driver at this moment. To add "svhdxflt", we have to install "Failover Clustering" feature in the Hyper-V server, HV02.

4. Launch "PowerShell" as administrator.
5. Perform "Install-WindowsFeature Failover-Clustering -IncludeManagementTools" to install "Failover Clustering" feature. 6. Go to "Command Prompt" to check the current minifilter driver again. "svhdxflt" minifilter driver has been installed. Then, we need to load this driver.

Before we load the "svhdxflt" driver, I'd like to add a new virtual hard disk in VM01.

7. Launch "Hyper-V Manager".
8. Make sure VM01 hasn't been started. Right-click "VM01", select "Settings". 9. Navigate to "SCSI Controller", click "Add" to add a "Hard Drive". 10. Next to "Virtual hard disk", click "New". 11. On "Before You Begin" window, click "Next".
12. On "Choose Disk Type" window, select "Dynamically expanding". 13. Click "Next".
14. On "Specify Name and Location" window, next to "Name", type "SHD01.vhdx".
14. Next to "Location", type "I:\DataDisk\". There is a physical hard disk named I in my test environment. I will perform "fltmc" to attach the "svhdxflt" into this drive. There is no other vhdx file in I drive.

15. Click "Next".
16. On "Configure Disk" window, next to "Size", type "2". 17. Click "Next".
18. On "Summary" window, click "Finish".
19. Expand "SHD01.vhdx", select "Advanced Features". 20. On right pane, check "Enable virtual hard disk sharing" and then click "Apply". The "svhdxflt" hasn't been loaded into I drive so we made this error.

21. Click "Close".
22. Go to "Command Prompt", perform "fltmc attach svhdxflt I:\" to load the driver into I drive. The "svhdxflt" has been loaded successfully into I drive.

23. Back to "Settings for VM01 on HV02", click "Apply" again. This time there is no error to enable virtual hard disk sharing.

24. Click "OK".
25. On "Hyper-V Manager", right-click "VM02", select "Settings". 26. Navigate to "SCSI Controller", click "Add" to add a "Hard Drive".
27. Click "Browse". 28. Navigate to "I:\DataDisk\", select "SHD01" and then click "Open". 29. Expand "SHD01.vhdx", select "Advanced Features".
30. On right pane, check "Enable virtual hard disk sharing" and then click "OK". As a result, the virtual hard disk has been shared in both virtual machines.

Windows Server 2012 R2 Storage: Step-by-step with Storage Spaces, SMB Scale-Out and Shared VHDX (Virtual)

Virtual Hard Disk Sharing Overview

Configure a Shared Virtual Hard Disk

Windows Server 2012 R2 Hyper-V - Guest Clustering With Shared VHDX

This posting is provided “AS IS” with no warranties, and confers no rights!
Posted by Terry Lau at 11:43 PM Labels: Hyper-V Server 2012 R2, PowerShell, Windows Server 2012 R2


