3 minutes
DIY Proxmox homeserver
Homeserver
Intro:
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.
Hardware
!!!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€
Software
As hypervisor for my homeserver I’m using Proxmox 7 CE
Storage
- 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.
The RAID-Z1
Theory
-
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
Monitoring
- to monitor all disks I followed this guide: Disk Health Email Alerts
Conclusion
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.