This is my first post, so be gentle with me
I am currently in the proces of replacing my trusty HP Microserver N40L with a selfbuild machine.
The machine is a ASRockRack C246WSI with an I3-9300 and 32 GB of ECC RAM. Storage is 2x Crucial 500 GB SSD, 2x 6TB Seagate NVR grade spinning rust and a 250GB SSD for videocapture from my security camera’s. I want to make 2 raid 1 volumes (1 boot and applications and 1 storagetank). For NVR footage I don’t need redundancy.
My current machine runs Ubuntu server 18.04.6 with some services running from the OS and some from Docker.
webserver with a recipe database
Mosquitto MQTT server
Samba for filesharing on 4 Windows machines
Xeoma nvr (probably to be replaced by Frigate NVR)
Home assistant, ESPHome, Zigbee2MQTT in Docker
I would like to run everything in VMs (especialy Home Assistant because then I can run Home Assistant Operating System)
At the moment I have some Questions:
Is XCP-ng a good choice?
I want a system that is stable and easy maintainable.
Home assistant needs access to some USB devices like my Zigbee dongle (Conbee2) and RFXtrx433XL USB 433.92MHz Transceiver, so passtru is essential.
How to setup RAID?
At the moment I run a test setup with the disks defined as RAID1 in bios (Intel RSTe). XCP-ng installed without problems on one of the raid volumes.
Is this methode preferred, of should I use pure software RAID or…?
I want a pretty simple NAS solution (mainly windows shares), which program is best fit this task (Truenas/OMV)?
Thanks for taking the time to read this post and perhaps shed some light on my questions.
Yes Xcp-ng is great! But since you’ll need to run Xen orchestra (for now at least until they release xoa lite that is) and many other VMs will find that you need a lot of RAM… This is why I suggest you try our Proxmox first since you’ll be able to leverage LXC containers as well as KVM+Qemu VMs. When you enable nesting and keyctl in a container you’ll be able to use docker/podman in them and use it as a real machine. The other benefit is, that you can use ZFS as the software raid backend and use moundpoints to expose directorys to the container. So you don’t have to create virtual disks.
Another great things is Intel’s GVT-g which works great on Proxmox. It allows you to split the iGPU into multiple mdevs and pass them to VMs.
I’ve heard some good things about Intel’s RTSe, weird to setup but quite performant. The problem I see with it is that it doesn’t checksum every block like btrfs and zfs do, so if corruption occurs, RTSe can’t tell which of the drives is lying/correct.
This is true for pretty much any RAID1 solution that does no checksumming. So I personally would go with either BTRFS or ZFS for RAID1.
You can get away with less, but it just does need more RAM than Proxmox.
Also I just got into the Proxmox Backup server and it works great! It’s easy and it does it’s job really well!
Besides, you can run libvirt on Proxmox as well, if you need to, but be sure to install it one by one with --no-install-recommends… I did that for a project that needed the libvirt Terraform provider and it works rather well. You’ll need to add the vmbr0 or all the needed bridges yourself tho