I have several servers running Solaris 10u9 with VirtualBox server installed. Each of those hosts can manage several guest. Currently I use VirtualBox multiattach image types to clone guests from master images. This doesn't require me to use clonehd on the master images, which is a very time consuming process.
The new guest immediately creates a snapshot and writes its changes as a differential image instead:
serverA> v showhdinfo 6fad07e6-10c0-4aef-ae24-b45b024aad23
Logical size: 5000 MBytes
Current size on disk: 205 MBytes
Type: normal (differencing)
Storage format: VDI
Format variant: differencing default
In use by VMs: bullhead07 (UUID: f8edbc59-660f-4384-b8f3-8e73e884bc5a)
This works great but still requires a copy of the master image on every host server.
Since VirtualBox supports iSCSI targets natively, and my host is Solaris supporting iSCSI with ZFS, I decided to convert my existing master VMDK into a ZFS vol and make it an iSCSI target to be used from other servers.
First I created a ZVOL
serverA> zfs create -o shareiscsi=on -V 20G kahoona/masterImage
Now turn the existing master VMDK into the ZVOL (v is an alias for VBoxManage)
serverA> v internalcommands converttoraw /VMs/masterImage.vdi /VMs/masterImage.img
Converting image "/VMs/masterImage.vdi" with size 52428800000 bytes (50000MB) to raw...
serverA> dd if=/VMs/masterImage.img of=/dev/zvol/rdsk/kahoona/masterImage
Next I determined the iSCSI name for my new disk
serverA> iscsitadm list target
iSCSI Name: iqn.1986-03.com.sun:02:004a92c5-6c33-69b8-d1d9-b65c3b44f179
Last but not least I attached this new disk to an existing VM on another server
serverB> v storageattach bullhead08 --storagectl IDE --device 0 --port 0 --type hdd --medium iscsi --server 10.79.243.114 --target iqn.1986-03.com.sun:02:004a92c5-6c33-69b8-d1d9-b65c3b44f179
Now I can use ZFS clones to generate new copies of the master image and make those accessible via iSCSI