Replies: 3 comments 3 replies
-
Think this is a valid and easy use-case. It could also be used to perform application failover between VMs. I know some people do this to quickly start their SQL database on another server without needing to wait for the VM to reboot on a different location. @luboss79 Do you see the oppertunity to work on this and submit a PR? |
Beta Was this translation helpful? Give feedback.
-
good idea |
Beta Was this translation helpful? Give feedback.
-
Hi, To weigh in here, this is a very dangerous feature and very hard to implement correctly. The use cases I've seen require specific SCSI support from the underlying storage for either "persistent reservations" (Microsoft's cluster shared volumes) or atomics (VMWare VMFS), or other guarantees. Take, for example, the following use case: two VMs (v1 and v2) on two hosts (h1 and h2) have the same disk and use some kind of communication (which is not via the storage) on who does what. Then, h2 loses connectivity to the network and storage but has some operations in flight that are in the queue. There's no mechanism that v2 can use to "cancel" these operations. There's also no way for v1 to know if there are such operations or where they write. So if v1 takes over and the connectivity of h2/v2 is restored, this pretty much guarantees data corruption because the queued old operations will be executed on top of the things v1 has already done. This is solvable with storage or host fencing but would have to be exposed to VMs as an API, which has its own problems. Looking at the oVirt documentation, there's the cop-out "it's the responsibility of the VM to take care of locking," but to reiterate, to be able to do this in a useful way, the guests will need access to low-level SCSI storage functions (or their emulation, like via qemu-pr-helper) or fencing. |
Beta Was this translation helpful? Give feedback.
-
Please add the support for using the shared RAW disk between the VM instances. Just to create the virtual disk in UI, mark it as shared and then attach it to more than 1 VM instance. This the common requirements for installing the Oracle Database, where the OCFS2 or ACFS cluster filesystem is taking the responsibility for IO/locking and preserving the data corruption.
For example oVirt has that solution implemented,very good description of the feature is here https://www.ovirt.org/develop/release-management/features/storage/sharedrawdisk.html .
I know there will be added support for the SharedFilesystem in v 4.20 but this is not the case I need to cover. We discussed it little in CCC in Madrid few days ago.
Thank you
Lubomir
Beta Was this translation helpful? Give feedback.
All reactions