
Dear forum, If I understand correctly, I need shared storage for the self-hosted engine to make it highly available. But is it possible to create 2 self-hosted engines on 2 hosts and make it high available this way? Kind regard

On Sun, Apr 4, 2021 at 4:47 PM <wilrikvdvliert@hotmail.com> wrote:
Dear forum,
If I understand correctly, I need shared storage for the self-hosted engine to make it highly available. But is it possible to create 2 self-hosted engines on 2 hosts and make it high available this way?
Not exactly. If you simply want two *engines* on two machines (self-hosted or standalone) to work against a single replicated database, so that if one dies, the other takes over - that's not supported as a feature per se, but IIUC there are people that are doing that. That's definitely not very easy to do. If you ask that just because you do not have any shared storage, then you are looking at using HCI - same hosts used for both VMs and gluster storage. There is a related feature, although different, called "Disaster Recovery". Best regards, -- Didi

This is where a design philosophy chapter in the documentation would really help, especially since its brilliance would make for a very nice read. The self hosted engine (SHE) is in fact extremely highly available, because it always leaves behind a fully working 'testament' on what needs to run where e.g. in case of a major hickup or servers (including the one running the SHE) dying. And that includes instructions to bring up a new instance of the SHE, which will then use this "testament" to create the next one, as workloads and systems change. So as long as there is always a good enough testmament and an SHE running long enough to create the next iteration, there is no need for the SHE to run at all: the VDSM daemons on each host will faithfully do their work without stepping on each other's toes. The principle isn't really that original to oVirt and has been used for things like mainframe job scheduling systems for decades. But it's extremely solid in principle as long as the "testament" or execution plan doesn't need to be to complex. You can even run a mathematical proof on it then. On the other hand, two servers will only create chaos, because they'd have to decide who is right. That can take so long, the winner might die during the negotiations and then what?
participants (3)
-
Thomas Hoberg
-
wilrikvdvliert@hotmail.com
-
Yedidyah Bar David