
On Sat, Mar 12, 2016 at 11:17 PM, Samuli Heinonen <samppah@neutraali.net> wrote:
On 12 Mar 2016, at 17:04, Nir Soffer <nsoffer@redhat.com> wrote:
On Sat, Mar 12, 2016 at 1:55 PM, Samuli Heinonen <samppah@neutraali.net> wrote:
Hello all,
It seems that oVirt 3.6 is still using FUSE to access GlusterFS storage domains instead of using QEMU driver (libgfapi). As far as I know libgfapi support should be available in Libvirt and QEMU packages provided in CentOS 7.
We started to work this during 3.6 development, but the work was suspended because libvirt and qemu do not support multiple gluster servers [1]. This means that if your single server is down, you will not be able to connect to glister.
Since this is only used to fetch volume information when connecting to Gluster volume I don’t think it should be treated as blocking issue. If we lose one storage server that’s a problem we have to fix as soon as possible anyway. Even then hypervisors are already connected to other storage servers and there is no need to fetch volume information again. Also there are other ways to work around this like having a separate hostname that is used to fetch volume information and which can then be pointed to server that’s up.
Multiple servers are used to connect to gluster. If you are using only one server address and this server is not reachable, your connection will fail, and you will not able to start a vm. The solution is either manage server addresses in engine (like iscsi targets), and pass this to vdsm, or use special DNS name that point to all servers. The first option is not possible yet since libvirt can accept only one host in the disk description.
It would be great if libgfapi could be available even as selectable option so it could be tested in real world situation.
Recently Niels suggested that we use DNS for this purpose - if the DNS return multiple servers, libgafpi should be able to failover to one of these servers, so connecting with single server address should good as multiple server support in libvirt or qemu.
The changes needed to support this are not big as you can see in [2], [3]. However the work was not completed and I don't know if it will completed for 4.0.
Thank you for these links. I’ll see if this is something we can try out in our test environment
The patches not complete, so I don't think they will be useful in the current state. They can be used as a starting point for someone who want to complete this work. Nir