[libvirt] Quorum block driver libvirt support proposal

Eric Blake eblake at redhat.com
Fri May 16 14:18:36 UTC 2014


On 05/16/2014 07:54 AM, Daniel P. Berrange wrote:

>> <disk type='quorum' device='disk'>                                              
>>   <driver name='qemu' type='quorum'/>                                           
>>   <threshold value=2/>                                                          
>>   <backingStore type='file'>                                                    
>>     <format type='qcow2'/>                                                      
>>     <source file='/var/lib/libvirt/images/file1.qcow2'/>                        
>>   </backingStore>                                                               
>>   <backingStore type='file'>                                                    
>>     <format type='qcow2'/>                                                      
>>     <source file='/var/lib/libvirt/images/file2.qcow2'/>                        
>>   </backingStore>                                                               
>>   <backingStore type='file'>                                                    
>>     <format type='qcow2'/>                                                      
>>     <source file='/var/lib/libvirt/images/file3.qcow2'/>                        
>>   </backingStore>                                                               
>>   <target dev='vda' bus='virtio'/>                                              
>> </disk>
> 
> It feels rather odd to have <backingStore> elements but no top level
> disk images. Really these are all top level images

Unfortunately, we are allowed to have a quorum with mixed-mode sources -
I could have a quorum where file 1 is a local file, file 2 is a block
device, and file 3 is a gluster protocol.  But since we encode the type
of file at the <disk type='...'> level, there is NO way to list three
different <source> elements for those three quorum members.  I think
Benoit's proposal makes sense - a quorum is a node in the backing chain
with NO <source> element, but instead has MULTIPLE <backingStore> elements.

<disk type='quorum' device='disk'>
  <driver name='qemu' type='quorum'/>
  <threshold value=2/>
  <backingStore type='file'>
    <format type='qcow2'/>
    <source file='/var/lib/libvirt/images/file1.qcow2'/>
  </backingStore>
  <backingStore type='block'>
    <format type='qcow2'/>
    <source dev='/var/lib/libvirt/images/file2.qcow2'/>
  </backingStore>
  <backingStore type='network'>
    <format type='qcow2'/>
    <source protocol='gluster' name='Volume1/Image'>
      <host name='example.org'/>
    </source>
  </backingStore>
  <target dev='vda' bus='virtio'/>
</disk>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140516/659fed6a/attachment-0001.sig>


More information about the libvir-list mailing list