[libvirt] Quorum block driver libvirt support proposal

Daniel P. Berrange berrange at redhat.com
Fri May 16 13:54:43 UTC 2014


On Fri, May 16, 2014 at 12:33:04PM +0200, Benoît Canet wrote:
> 
> Hello list,                                                                     
>                                                                                 
> I want to implement libvirt Quorum support.                                     
> (https://github.com/qemu/qemu/commit/c88a1de51ab2f26a9a37ffc317249736de8c015c)  
> Quorum is a QEMU RAID like block storage driver.                                
> Data are written on n replicas and when a read is done a comparison between the 
> replica read is done. If more than threshold reads are identical the read succeed
> else it's and error.
> 
> For example a Quorum with n = 3 and threshold = 2 would be made of three QCOW2
> backing chains used as identicals replicas. threshold = 2 means that at least
> 2 replica must be identical when doing a read.                                                            
>                                                                                 
> I want to make use of the new backingStore xml element to implement quorum.     
>                                                                                 
> Proposed Quorum libvirt format:                                                 
> -------------------------------                                                 
>                                                                                 
> <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


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list