Multiple LDom vdisks with the same backend
A cool feature of LDoms 1.2 software is support for multiple guest domains accessing the same vdisk backend.
This is handy if you've got a file system that supports concurrent writes from multiple hosts.
Keep in mind, though, that while you can have 1:many relationship between backends and virtual disks (vdisk), the virtual disk server device (vdsdev) to vdisk relationship is still 1:1.
From the Logical Domains 1.2 Administration Guide:
Export a Virtual Disk Backend Multiple Times
A virtual disk backend can be exported multiple times either through the same or different virtual disk servers. Each exported instance of the virtual disk backend can then be assigned to either the same or different guest domains.
When a virtual disk backend is exported multiple times, it should not be exported with the exclusive (excl) option. Specifying the excl option will only allow exporting the backend once. The backend can be safely exported multiple times as a read-only device with the ro option.
Caution –
When a virtual disk backend is exported multiple times, applications running on guest domains and using that virtual disk are responsible for coordinating and synchronizing concurrent write access to ensure data coherency.
The following example describes how to add the same virtual disk to two different guest domains through the same virtual disk service.
Export the virtual disk backend two times from a service domain by using the following commands.
# ldm add-vdsdev [options={ro,slice}] backend volume1@service-name # ldm add-vdsdev -f [options={ro,slice}] backend volume2@service-nameNote that the second ldm add-vdsdev command uses the -f option to force the second export of the backend. Use this option when using the same backend path for both commands and when the virtual disk servers are located on the same service domain.
Assign the exported backend to each guest domain by using the following commands.
The disk-name can be different for ldom1 and ldom2.
# ldm add-vdisk [timeout=seconds] disk-name volume1@service-name ldom1 # ldm add-vdisk [timeout=seconds] disk-name volume2@service-name ldom2
So given that example, you might do something like:
# ldm add-vdsdev /dev/dsk/c0t1d0s0 vol1@primary-vds0
# ldm add-vdsdev -f /dev/dsk/c0t1d0s0 vol2@primary-vds0
# ldm add-vdisk vdisk1 vol1@primary-vds0 ldom1
# ldm add-vdisk vdisk1 vol2@primary-vds0 ldom2
What file systems are you suggesting might be used by Solaris that support multiple concurrent writers?
Posted by Jim Laurent on October 15, 2009 at 04:35 PM EDT #
@Jim - QFS-SAMFS, Symantec Storage Foundation, Quantum StorNext, etc.
I probably should have used the term 'multi-writer'.
Posted by Jason Callaway on October 15, 2009 at 05:44 PM EDT #