In some cases (as a rule in clustering scenarios) it may be necessary to share the same disk between 2 (or more) virtual machines (VMs). The most optimal way is to use the vmdk disk physically located on the shared storage or locally on the ESXi host. If you want to use shared drives on different ESXi hosts, you can only use the shared storage (datastore).
Suppose the shared external storage (connected to each ESXi host using iSCSI or Fibre Channel SAN) have already presented to all VMWare ESXi hosts, which are running the VMs you want to add a shared virtual drive. On both virtual machines you need to add a new SCSI controller.
Share disk between virtual machines on VMware ESXi
In the vSphere Client inventory select first virtual machine (Node 1), right click on it and select Edit Settings.
To add a new virtual device select SCSI controller in the dropdown list and press Add button.
As a type of SCSI controller select LSI Logic SAS.
Now you need to choose the desired SCSI Bus sharing mode:
- Virtual – virtual disk shared between VM on the same ESXi host
- Physical – vmdk file can be shared between VM on different ESXi hosts
Press OK. Next you need to add a new virtual drive on the first VM (New Device -> New Hard Disk -> Add) with the following disk settings:
- VM Storage Policy: optional
- Location: you need to select a shared datastore name, that will store the disc
- Disk Provisioning: select Thick provision eager zeroed (another disk provisioning modes are not suitable)
- Sharing: Multi-writer
- Virtual Device Node: select created earlier SCSI controller
- Disk mode: Independant – Persistdent – in this mode you can’t create a snapshots for a shared drive
In the same way you need to add a new SCSI controller to another virtual machine (Node 2). After that in the settings of the second virtual machine you need to add a new disk (Existing Hard Disk).
In the menu that appears, select Datastore, which kept the shared disk you created earlier. In the submenu, select the name of the first virtual machine and in the middle pane select the desired vmdk disc file.
If you want to use more than one shared disks, keep in mind that each of them does not require the addition SCSI controller. One controller can serve up to 16 different drives.
After changing the virtual machines settings, connect to the console of the guest OS virtual machine. In this case the VM with Windows. Start the Computer Management console and expand Storage -> Disk Management section. Right click and select Rescan Disk.
The system detects the new disk and offer to initialize it. Select the desired partition table (MBR or GPT), create a new partition and format it. Similar operations must performed on the second VM. After these settings, both VMs may share a single vmdk disk.