High Availability Setups


Jclendineng

Recommended Posts

Polling the crowd here, what are you all using for a HA setup? Im getting to the point where I really should have HA set up for my database docker container, but it would be nice to have a few important dockers high available. Any thoughts? I know I can do this through podman etc but is anyone doing this using the unraid ui?

Link to comment

I think what he means is that when your main server goes down, the backup server takes over without human intervention. Sort of...

I have two almost identical z170 platforms running unraid and i'm trying to setup something like this mainly for when my homeassistant vm fails.

]Spaceinvader made a video about this iirc.

Link to comment

Don't expect to do HA with Unraid, it's not expected to do so.

 

ESXi with the vCenter is the basic one system to do so. You can proceed to replication each hour with a third server (better than a VM) hosting Veeam. The vCenter Replication can do so each minute and give more automatic actions in case of emergency.

 

Some other solution, still with vCenter, is Datacore, but as all others solutions I quoted, you've to pay and you can't crack this solution, whatever, it works with an ideal HA server and its network.

 

You can find ESXi and vCenter keys on github dedicated for labs. Host Unraid VM on it and proceed to replication according to the solution you're using. But if you're a rookie, I stronlgy do not recommand to do so. It's easier to manage backup instead of setting up and managing an HA solution.

 

Load Balancing and Failover need to be also managed from your router if you're expecting traffic from WAN to work.

Edited by gyto6
  • Thanks 1
Link to comment

The only good DIY alternative would be to proceed ZFS replications and using Mikrotik router (cheaper and customizable) to proceed "heartbeat" from your VM with ping or from your host each minute. In case of failure, of VM or container answer, the Mikrotik can proceed an SSH session to boot the sibling VM/container on the backup server, but trafic also need to be manage on the network side.

 

So another mess to script also according to your need.

Edited by gyto6
Link to comment
The only good DIY alternative would be to proceed ZFS replications and using Mikrotik router (cheaper and customizable) to proceed "heartbeat" from your VM with ping or from your host each minute. In case of failure, of VM or container answer, the Mikrotik can proceed an SSH session to boot the sibling VM/container on the backup server, but trafic also need to be manage on the network side.
 
So another mess to script also according to your need.

That’s true, I could do that, I was more thinking about ha within unraid so running 2 instances of the sql docker so I can patch one and not take all the apps relying on it down.


Sent from my iPhone using Tapatalk
Link to comment
1 hour ago, Jclendineng said:


That’s true, I could do that, I was more thinking about ha within unraid so running 2 instances of the sql docker so I can patch one and not take all the apps relying on it down.


Sent from my iPhone using Tapatalk

 

In this expected configuration, the SQL docker must run on its own storage datastore, independent of the application pool storage running grace to your database container.

 

Because the expected failure is then your SQL storage, what about the application storage? You'll be only able then to restore your system in one situation. Not ideal but that's a beginning.

 

Whatever, an HA is litteraly a copy from your whole system on several servers. So your scenario is still not ideal for full HA.

Link to comment
  • 1 year later...

I've been looking into this, a lot.

 

Here is my experience so far. I'm sharing here just as much to keep my notes, but this is 2 weeks of videos and tinkering. I share this to give you a real sense of the challenge, it also separates the target customer base of unraid vs something like proxmox.

 

TLDR: proxmox is amazing because it's features are great, but generally orders of magniture more challenging to setup than unraid. unraid is what I went for in the end, because having something working is better than not, and meets most of my needs, oh, and saves me hours of time, I just click the GUI and it works, oh, and I can use my old HDDs however I like and they spin down saving £$£$ when not in use, which is most of the time. But you can install unraid inside proxmox to get what you want.

 

I started looking for 'free' products, so found proxmox to be a great solution for HA, storage and backup etc.. Watched many videos, thought it was 'the one' and off I went. Windows bye bye and proxmox installed.

 

Ok, I have friends with unraid, so immediatly expected similar functions.

 

I was wrong.

 

HA and Proxmox are really for super users, I mean, really super, I'm a dev, but don't want to tinker with this thing forever. I would like something to work.

 

Proxmox has some great features, but the simplicity at any level is not there. You can run many more services with less RAM and less CPU usage compared to Docker for example AND they will just magically migrate to another proxmox server if one fails. BUT, to get that working you'll need.... two servers, they don't use Unraid file system, so now you're at spinning disks spinning... all the time £$£$. There is no unraid, so you need 'real raid' lol, so now you're at what, Raid 5, performance is pants, ok, mirror. So now you need 2 disks just get somewhere. But you can't just 'add another drive'. You can if you use this LVM filesystem, oh man, I know more about file systems than I ever should (but I can see why the unraid crewe want to use ZFS now, lol). But if you just want to add another drive to LVM, get used to the CLI.

 

OK, so you've got your mirrored drive. But if you buy a new hard drive, well, you can't 'just add it', there is lots of work to do, but lets ignore this (this is clealry the killer feature of unraid)

Now you need that on another system

 

so, for 4TB of storage, you'll be using 16TB of disk space, that can't easily be expanded to just add that old 1GB disk you had laying around.

 

Oh, did I mention the GUI that is in Proxmox wants your mirror disks to be 'exactly' the same size, otherwise you're up for some pretty intense CLI sessions. Don't think you can just use a Seagate here and an WD there, oh no sir, they are 'slightly' every so *slightly* different sizes. hello cli.

 

OK, so you've got your 16TB of disks given 4TB of storage, you now need to setup ceph, which to be fair, looks quite simple, but I didn't get this far so that's from videos only.

 

Once you have this setup, you'll want a separate physical network for the servers to keep all the disks in perfect sync, and then the normal network for actual usage (e.g. connecting to the docker containers) - you can use the same one if you want, but, you're building a cluster here!

 

ahh, docker containers, well, you'll be installing a VM and then 'something' to host the docker containers, because proxmox dosn't support those nativly. It does support VMs and LXCs though, so you may find moving to LXCs much better, they are designed for proxmox and migrate really well (according to videos).

BUT, they are not the same level as sepration as docker, so there may be some security things to worry about.

 

There are actually many people that install unraid, inside proxmox to try and get the best of both worlds.

 

This might actually be a good solution for you.

 

You'll need a HBA card, it's a PCI Express card, with 1 or more 'mini SAS' connectors and you can pass through that to unraid, and a USB port for the key/boot.

 

Now you can have unraid, just add disks etc. and 'share back' to proxmox the files through the linux share system (NFS? not used it). Proxmox actually lets you 'add storage' like unraid, and it will appear for all the LXCs/VMs as a drive, but you can point it right at the unraid NFS share.

 

I assume you can tell proxmox 'don't auto migrate this (unraid) VM, as that will cause chaos' but for the odd LXC you could have that on, or even a different VM hosting dockers.

 

But you'll have say your databases on proxmox storage not unraid storage, since that won't be migrating to the new proxmox.

 

I hope this helps a little. and serves as a refrence for some.

 

In the end, I just installed unraid. and here i am :)

 

 

Link to comment

Sorry, a bit late to the game here.

 

When I hear of HA I think of clustering/replication and load balancing.  You should read the following articles:

 

https://www.ituonline.com/blogs/achieving-high-availability/

 

https://mariadb.com/kb/en/kubernetes-overview-for-mariadb-users/

 

Proxmox, VMware, Hyper-V, and unRAID are all VMEs but to different degrees.  These alone don't give you High Availability; it's the apps inside that need to be designed for this.  But if you have multiple VMEs and, of course, multiple VMs (dockers) inside then you can set up the apps to have the proper clustering (vertical/horizontal), replication, and load balancing.  Assuming these strategies are supported by the app.

 

On 12/23/2022 at 3:31 PM, Jclendineng said:

that’s true, I could do that, I was more thinking about ha within unraid so running 2 instances of the sql docker so I can patch one and not take all the apps relying on it down.


But in your case the goal is to minimize downtime when you're doing an upgrade and you've hit upon the solution.

  • Copy/back up the original container (Container A) to another container (Container B) and then point the app to that backup.
  • Upgrade the original container (Container A).
  • Copy/back up (Container B - the backup) to the original container (Container A) and then point the app to the original again.
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.