DIY Proxmox homeserver
There is a time in life of an sysadmins where he needs to bring all his services, data and projects back home 👶. I was considering to buy a 4-Bay-NAS from Synology or Asustor. But I think I’ve build something better and more flexible for less money. A Synology DS920+ 4-Bay 12TB Bundle with 4X 3TB HDDs costs about 920€. So I set my budget limit to be less than 1000€ for more storage and more compute power. So this is my homeserver-build.
!!!IF YOU WANT TO BUILD THIS BY YOUR OWN PLEASE BY A CPU WITH GRAPHICS!!!
- Case: Chieftec Gaming Cube (CI-01B-OP) for 48€
- Processor: Intel i3 9100F for 122€
- please buy a i3-9100 or i3-9100T WITH iGPU
- Mainboard: Fujitsu D3644-B Intel C246 So.1151 Dual Channel DDR for 153€
- RAM: 2x 16GB REG ECC DDR4 Samsung for 85€ (used)
REG ECC is not working with this board :(
- brought unregistered ECC UDIMM ECC RAM
- SSD: Samsung 980 1 TB PCIe 3.0 (up to 3.500 MB/s) NVMe M.2 Internes Solid State Drive (SSD) (MZ-V8V1T0BW) for 110€
- _should have about 600TBW (lasting ~25 years)
- HDD: 3x 4000GB Seagate IronWolf (ST4000VN008) 3x 100€ = 300€ total
- best price and performance overall for my use-case
- Power: 300 Watt be quiet! Pure Power 11 Non-Modular 80+ Bronze 38€
- should be enough
- Fans: ~ 30€
- 3x Arctic P12 PWM 120x120x25mm 200-1800 U/min
💸 = 1025€
As hypervisor for my homeserver I’m using Proxmox 7 CE
- NVMe: used for proxmox os and vm’s
- 3x HDDs are setup as RAID-Z1 and provide a 8TB pool
Also I’m using a 8TB external HDD for regulary backups every 14 days.
with this setup one disk can fail without crashing the whole RAID
if one disk fails it must be replaced immediately
calculate avaiable storage for RAID-Z1 (Single parity with variable stripe width) $$\ raw\ storage\ capacity=(N-1) \cdot S(min)$$ $$N=total\ number\ of\ disks$$ $$S(min)=smallest\ disks\ size$$
in my case: $$(3-1) \cdot 4000GB = 8000GB = 8TB$$
online calculator wintelguy.com
cache and log
The maximum size of a log device should be about half the size of physical memory, so this is usually quite small. The rest of the SSD can be used as cache.
I have an 1000GB SSD and 32GB RAM. So my log should be about 16GB and the rest can be used as cache.
- after some more research I think an SSD Cache is not useful for my purpose
- to monitor all disks I followed this guide: Disk Health Email Alerts
The project has already made me headaches. Especially the i3-9100F without iGPU… Nevertheless, I am happy about the server and the possibilities it provides me.