(I believe that this is the most appropriate forum for this post. My apologies if it's not.)
All,
I'm building my first Homelab. I have some design questions that I'd be interested in getting ideas/suggestions/input from you all on before make some needed purchases and dive in.
My Goals with this Homelab:
- Learn about type-1 hypervisors. I've never used them before and have some personal dev project that could benefit from my getting experience with them. For now... I've chosen XCP-ng 8.2.
- Use on old desktop PC and minimize expenses.
- Learn about TrueNAS Scale. I've never built a NAS before. Given goals #1-2, my plan is to go the virtualized TrueNAS Scale route.
- Learn how to make a home media server. Again, I've never setup a media server before. (Figured that this is a great outcome of my Homelab efforts.) My plan is to go with the TrueCharts Jellyfin app for TrueNAS Scale.
- The family, currently, has two Windows 11 desktops. One is getting converted to the Homelab. There will be rare occasions when two family members need to use Windows 11 at the same time. So, I seek to keep a Windows 11 at the console capability on the Homelab machine.
- Add a Linux server VM for some other personal dev projects
- NAS data MUST be backuped up
- Hypervisor state/config MUST be backed up
- ["desirement"] TrueNAS stability/reliability needs to be reasonable but this is a Homelab... squeezing out maximum delivery performance and ensuring zero downtime are not that crucial
- ["desirement"] Jellyfin performance: I'd like to see if I can support up to two movies streaming at the same time...
Basic description of the deskop PC:
- MSI Z270-A PRO motherboard
- 1 x16 pcie 3.0 slot (has support for either x16 or x8x8 mode)
- 1 x4 pcie 3.0 slot
- 4 x1 pcie 3.0 slots
- 6x SATA 6Gb/s ports*
- 1x M.2 slot (Key M)
- Supports up to PCIe 3.0 x4 and SATA 6Gb/s
- Supports PCIe 3.0 x4 NVMe U.2 SSD with add-on Turbo U.2 Host
Car
- Supports 2242/ 2260 /2280/ 22110 storage devices
- USB-3.1 ports x8, USB-2.0 ports x6
- [IGD] Integrated Graphics Display + [PEG] PCI-Express Graphics Device.
- Supports RAID 0, RAID 1, RAID 5 and RAID 10 for SATA storage devices
- Intel i7-7700k processor (x4 cores --> x8 virtualized)
- 64 GB 2666MH DDR Memory
- 1 GB/s cabled ethernet
- x1 NVIDIA GTX-1060, 6GB
- x1 SanDisk Ultra II 500G SSD (2.5-inch) sata drive
- x1 SanDisk SSD Plus 2T (2.5-inch) sata drive
- x2 Hitachi 3T sata disk drives
Nominal Homelab "Design":
- XCP-ng 8.2
- VM #1: virtualized TrueNAS Scale
- Jellyfin "app" virtualized by TrueNAS Scale VM (i.e. nested virtualization; Kubernetes container)
- VM #2: linux server
- VM #3: Windows 11 Professional
Status/prototyping to-date
- Used the 2T SanDisk SSD as the master XCP-ng drive
- XCP-ng 8.2 is up and running with:
- Ubuntu 20.04 Linux VM
- TrueNAS Scale VM
- Used a single Hitachi 3T sata disk drive as a "stripe" pool with a single dataset configured for testing my Jellyfin app configuration
- TrueChart Jellyfin app (a Kubernetes container in TrueNAS Scale)
- NVIDIA GTX-1060 GPU has been successfully isolated from XCP-ng and passed through to the TrueNAS Scale VM and then re-isolated from the TrueNAS Scale VM and passed on to the Jellyfin app (Kubernetes container).
- Jellyfin media transcoding is up and running on the GTX-1060 gpu
Only a handful of test media files have been uploaded to the NAS thus far. Before proceeding... I'm taking a step back to design the Homelab trying to maximize solutions to the stated goals.
Design Brainstorming
- New Purchases:
- 2nd SanDisk SSD Plus 2T (2.5-inch) sata drive
- 2nd "cheap" pcie 3.0 x4 gpu
- Single KVM switch that supports a single console for two machines
- Single sata drive atleast 8T or more
- Planned configuration:
- Passthrough devices:
- GTX-1060 passed through to Jellyfin container for transcoding media
- 2nd GPU passed through to the Windows 11 VM
- USB-3.1 controller passed through to Windows 11 VM
- [SATA-1] use the single SanDisk Ultra II 500G SSD as the base drive for:
- Installing/hosting XCP-ng
- Storing the associated VM ISOs
- Storing virtual drives (vhd) for all VMs
- [SATA-2/3] use the two 2T SSD drives as a RAID-1 pool for the Jellyfin media server
- [SATA-4/5] use the two Hitachi 3T sata disk drives as a 2nd RAID-1 pool for the TrueNAS datasets
- [SATA-6] use the single 8T drive to back up both RAID-1 pools as well as the XCP-ng drive/configuration.
- Goal assessment:
- Goals 1,3,4,6,9 are implicitly satisfied
- Goal 2 is reasonably satisfied. Some new purchases needed but reuse of all existing devices is achieved
- Goal 5 is satisfied but has open questions:
- OPEN QUESTION: Is there a pcie 3.0 x4 gpu available that has passthrough support on XCP-ng? I assume 'yes' but need to investigate.
- OPEN QUESTION: can motherboard 3.1 USB ports be passed through to VMs? I assume 'yes' but need to test.
- Goals 7 & 8 are satisfied but has an open question:
- OPEN QUESTION: can multiple RAID backups be stored on a single larger drive? I assume 'yes' but need investigate.
- Goal 10 is satisfied but has an open question:
- OPEN QUESTION: Is a 6Gb/s sata RAID-1 pool configuration sufficient for Jellyfin to transcode two movies at once through a single GTX-1060 and then host them simultaneously on a 1GB/s cabled ethernet network? I assume 'yes' but needs to be tested...
- The IDG/PEG graphics and USB 2.0 ports are still available to XCP-ng
- The KVM allows both the Windows 11 and XCP-ng graphics, keyboard and mice to be mapped to the single monitor, keyboard and mouse at the console. Thus finalizing a solution for goal #5.
Additional Homelab design configurations may need to be considered/investigated depending upon the answers to the current open questions related to goals 5,7,8,10.
Any insights that you all might have related to the general Homelab design and the open questions would be greatly appreciated.