The Friday 16 May 2014 à 09:54:43 (-0400), Daniel P. Berrange wrote :
> 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

It reflect the ways QEMU does it. A single BlockDriverState holding n
quorum BlockDriverState children. There is a 1-1 mapping.

How would you see it ?

Best regards

Benoît


> 
> 
> 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 :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to