I have a step by step in the works, but before everbody is jumping onto the wagon, here is a preview. Let me start with the overview, that is my proxmox machine.
As you can read in the middle, this is a very cheap CPU with not that much power nor RAM, so the total power consumption is about 15W, but it is not busy at all.
I have
- openhab (don’t need explain that
)
- TIG is Telegram,InfluxDB,Grafana.
- Shinobi is doing my Ip-Camera Monitoring
- UnifiController (Network Manager)
- Fileserver (just a plain ubuntu with SMB share)
- Nextcloud (this is where I share my documents/pictures between my devices/people)
- Mosquitto (MQTT broker)
- OPNSense (Firewall etc. )
They all share the same host running on a raid1 2TB HDD with a 500GB Nvme stick. The stick is read/write cache, this is easily done with ZFS. (https://www.youtube.com/watch?v=Ui3VTzUjlWk&)
I haven’t had this problem, but I had other problems - so I decided NOT to use Proxmox Cluster. I just have 2 seperate Proxmox Hosts with 2 different IPs, each has 2 LAN ports (one goes to router, one to the LAN). No “sharing” - that was too complicated.
So because I have to seperate machines, I can run the simple command:
ZFS send … | ssh … | zfs receive… on one side, it will move the snapshot to a different machine. If that is combined with ZFS-auto-snapshot( script that manages when snaptshots are made, like 15min keep 8, hoursly keep 24, daily keep 7, weekly keep 4) and zfs-backup,(manages to calculate the difference between the newest snapshot on target and newest snapshot on host and then sends this incremental data to the target), you have 2 very similiar machines. In my case, If one machine breaks, I will continue to have all those services with the snapshot of last night. (https://www.youtube.com/watch?v=2ozrP8ODPTw )
And for the replication part, I have a couple of simple scripts that run as cronjobs and ping a service and if it is down, they WOL the spare machine and on the spare host, a cronjob is pinging the services and start the machine ( on that spare host).
Indeed, one of the next steps is to move the USBs (z-wave and powermeter) to a little raspberryPI that either channels those as virtual USB devices to the hosts… or I just install OpenHab on that raspberryPI and use some MQTT or HTTP scripting to proxy the commands.
Hope that helps to get you started - or you wait a couple of days for my more detailed step -by-step guide.