Hello Kariste,
I don't think this will work until you use a cluster aware filesystem like OCFS2 on this virtual drive and configure the VMs which use it as OCFS2 Nodes.
What I mean is...
Did you check if you create a file from one VM on this shared disk with "touch /mnt/shared_disk/file1" you can see it on the other VMs? I'm pretty sure NO - you will damage your data on this disk pretty fast.
This is why you need a cluster aware filesystem like OCFS2.
Link 1 says:
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).
This VMtrash (sorry VMware) link does only talk about howto share a disk with multiple VMs.
Link 2 says:
Detailed Description
The shared disk feature should provide the ability to attach a disk to multiple VMs. It is the user's responsibility to make sure that the VMs do not corrupt disk data.
This means you have to install cluster aware FS.
And last but not least YES this works!!!!
I did this some months/years ago with three ganeti VMs with my "Shared LVM" based ext provider... similar to you.
https://github.com/ganeti/ganeti/wiki/External-Storage-Providers (look at the bottom).
1. I did install 3 VMs and OCFS2 on them.
2. Added a second disk to all VMs with the same size.
3. Configured all VMs as OCFS2 nodes.
4. Created Linux partion on 1st VMs second disk (shared disk) and formatted with OCFS2.
5. shutdown VM2 and VM3.
6. stopped ganeti on master.
7. took a backup from config.data
8. changed 2nd disk of VM2 and VM3 in config.data to the one from VM1.
9. Manually deleted 2nd disk from VM2 and VM3.
10. started ganeti on master > gnt-cluster verify > OK.
11. started VM2 and VM3.
12. "tail -f /var/log/syslog" to see VM2 and VM3 join the cluster.
This should also work with sharedfile as you did with nfs.
NOW the bad thing...
As long as you don't forget that VM1, VM2 and VM3 share the same disk all is cool.
BUT when you accidentally remove VM1, VM2 or VM3 from ganeti cluster then ganeti WILL REMOVE THE SHARED DISK WITHOUT WARNING.
Ganeti needs a feature to recognize that THIS disk is "shared" and simply check if it not used by any other instances before it can be deleted.
for example....
...
Disks:
- disk/0: ext, size 8.0G
access mode: rw,shared
logical_id: ['lvm', '1a6d3ac0-2177-4ea0-8be5-5a1d27f1fde3.ext.disk0']
on primary: /dev/rktstorage2/1a6d3ac0-2177-4ea0-8be5-5a1d27f1fde3.ext.disk0 (254:35)
name: None
UUID: 050baaea-277f-4e75-b426-b8f1d76afff5
...
Regards
Darius