n100 based hosts? AMD 5800h?
-
Yes, I'm finding the speed limits on shared storage to be a factor when I move my production system around for work on one of the storage machines. Hoping there's a fix somewhere for this.
When on local storage, and assuming the management agent is installed, can the system automatically migrate VMs to other hosts during a rolling pool upgrade or rolling pool reboot? This is something I need to look into, I tried in the past but had a problem. If I could get everything on local storage and still have the rolling upgrades, I'd probably install drives in my hosts to handle this and turn off my oldest Truenas system. Especially if it was faster during migrations. I'll have to try this with my current lab, there's enough left on the system drive to handle one VM for testing.
-
@Greg_E What do you mean by speed limits on shared storage? With a shared SR you're just moving memory from host to host and not the disk.
Automatic migration, rolling updates, etc won't work with local storage. That's a part of the reason I moved to shared storage.
I don't have any local storage configured on the new pool. The only drive in each host is a small and cheap m2 sata to run XCPng. That's part of what allows the low power usage.
-
I've been playing in my lab and finding that the "maximum" I can get is gigabit speeds when I migrate a VM from host to host with shared storage. More than 1 VM gets more than gigabit.
Migrating from host to host with local storage was very slow, under 100mbps slow.
And this is all over 10gbps networking. But it does prove out that I'll need to add a Truenas to whatever I build.
-
@Greg_E The current storage API has some limitations which mean that you won't saturate a 10g connection with any single disk operation. Vates has a new version that should fix those issues but it's not here yet.
Even if the migrations happened at the same speed, shared storage will always be faster since it's just memory and not the disk as well. The other way to keep migrations fast is to keep your VMs as small as possible, using network shares for data as much as you can.
-
Hi @Greg_E. I've setup a few homelabs with XCP-ng using older and newer mini PCs, so thought I'd share some of my experiences.
First pass, I used the Lenovo Tiny M710q PCs, bought for around £100 each on eBay. They had either the i5-6400T or i5-6500T processor. I added 32GB of Crucial RAM, added the SATA drive tray for a boot drive, and added a 1TB NVMe in each for storage. Since I don't use Wifi on these, I removed the M.2 wifi card and added in a cheap 2.5GbE NIC (https://www.amazon.co.uk/gp/product/B09YG8J7BP)
XCP-ng 8.2.1 works perfectly, no customisation or challenges. I did see the exact same storage performance trends as you, and see that @CJ has already correctly pointed out the current limitation in the current storage API (SMAPIv1).I've also built a homelab with the Trigkey G5 N100 mini PCs. Again, XCP-ng 8.2.1 works perfectly on the 4-core E-cores of the N100. This G5 model has dual 2.5GbE NICs which is perfect for giving VMs a 2.5GbE link to the world, and a separate 2.5GbE link for the host to use for storage. Be aware, if you split networking this way, Xen Orchestra needs to be present on both networks (management to talk to the XCP-ng hosts over HTTPS, and storage to talk to NFS and/or CIFS for backups/replication).
I've not measured the power draw much, but typically the Lenovos are using around 15-25W, and the Trigkey G5s about 10-18W. Fan noise on both are very low - I have them on a shelf in my desk, so I sit next to them all day. My daily driver is a dead-silent Mac Mini M2, so I'm very aware of surrounding noise, and there's nearly none.
The only challenge I had with the N100 was that Windows VMs seemed to think they only had a clock speed of 800MHz - so performance was poor. I did not get around to trying any performance settings in the BIOS to force higher clock speeds : in my view this would trigger additional power usage, unwanted additional heat and additional fan noise.
If you build a homelab with 3 XCP-ng hosts, slap a 1TB NVME in each and trial the XOSTOR as an alternative to network shared storage. In my case, I went down to running my workloads on a single Lenovo M710q, stored locally on NVME. Xen Orchestra (VM on the Lenovo) which backs up and replicates VMs to an NFS hosts (another Trigkey G5 with Ubuntu Server, a 4TB NVME, and running Ubuntu-native NFS)
Typical network performance during backups / DR is around 150-200MB/sec on the 2.5GbE.
Hope that helps!
-
Thanks, I'm still thinking about this and how I might solve my riddle.
Burned down my current lab storage and building it back from fresh, not going great at the moment.
-
Hope you don't lose too much sleep thinking about it! There are so many right ways of doing it
My short'n'sweet advice: keep it as simple as possible while providing what you actually need.
Full resilience at every level to tackle every potential fault often brings more complexity than it's worth. Hence why I've boiled my homelab down to a single host, all VMs stored on local NVME, with regular backups and replicas. Worst case: boot up another Lenovo host, restore, and carry on. Even when I used 3x Lenovo hosts in a pool, I found that the shared storage performance was not worth needing 4 hosts sucking electricity
-
One thing I feel I need to be able to simulate is updates/upgrades and really rolling pool updates being the focus. Most of the rest of the features that you get with multiple hosts I can probably live without. HA might be another consideration for multiple hosts.
I will say one thing, I need to find a PCIe to m.2 card that allows bifurcated PCI lanes. 4 m.2 drives on a single PCIe card that exposes them as individual drives to Truenas would be really nice for a lot of things. Price being the consideration and reason I don't have any. I may need to drop back to having a single big drive shared out, ran for years like this on a different lab.
-
@Greg_E if the motherboard supports PCIe lane bifurcation, these cards work well: https://www.amazon.co.uk/GLOTRENDS-Platform-Bifurcation-Motherboard-PA41/dp/B0BHWN7WKD
If no bifurcation support on your mobo, then you need a PCIe card with a PCIe switch on it - lthey're much more expensive but typically solve the problem. I've used this one: https://www.amazon.co.uk/GLOTRENDS-PA40-Adapter-Bifurcation-Function/dp/B0CCNL7YD8
Just remember to add heatsinks and if possible, additional active cooling. I ended up wedging a rubber-edged Noctua 80mm fan inside my DIY NAS to blow directly onto the NVMEs and dropped them from 60-70 degrees C down to 30-40 degrees.
-
Currently I have 6 hosts -
AMD Ryzen 7 4800U with Radeon Graphics
AMD Ryzen 7 5800U with Radeon Graphics
AMD Ryzen 7 4800U with Radeon Graphics
AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
AMD Ryzen 7 4800U with Radeon Graphics
I'm using a QNAP NAS for my storage and the 2.5G NICs are all used for storage. It all works very well for my HomeLab. -
I had not seen that adapter, finding a main board that supports bifurcation is probably easier than a card that bifurcates. I'll have to look at some of the devices I have and see if this is supported.