Homelab #11: przeniesienie serwera Proxmox do szafy rack
— 4 min read
PLTable of Contents
W poprzednim artykule opisałem zakup nowego NAS. W związku z tym zwolniła się obudowa rack, w której docelowo miał znaleźć się serwer Proxmox. Nadszedł więc czas na migrację.

Co było do tej pory?
Ostatni raz, gdy opisywałem homelab, Proxmox działał na Dell Precision 3240 Compact. W międzyczasie przeniosłem go jednak na komputer, który pierwotnie kupiłem z myślą o serwerze NAS. Do NAS-a dokupiłem nową płytę główną i zamontowałem go w obudowie rack, dzięki czemu zwolnił mi się poprzedni zestaw: obudowa rack, zasilacz, płyta główna i RAM.
Dokupiłem więc procesor Intel Core i3-8100 jako tymczasowe rozwiązanie i w ten sposób zyskałem dodatkowy komputer. Dell Precision 3240 był świetny, ale nie wykorzystywałem go w pełni, więc zdecydowałem się go sprzedać, a Proxmoxa przenieść na wolny komputer.
Po pewnym czasie stwierdziłem jednak, że i3-8100 to trochę za mało. Udało mi się kupić Intel Core i7-8700 za 300 zł i to znacznie poprawiło wydajność.
W samym homelabie niewiele się zmieniło — w tym czasie modyfikacje dotyczyły głównie sprzętu.
Sieć
Pod biurkiem mam switch 2.5 Gb, więc chciałem w pełni wykorzystać jego potencjał. Nowy NAS jest podłączony przez 10 Gb, więc sensowne stało się doprowadzenie 2.5 Gb również do Proxmoxa. Kupiłem więc na AliExpress kartę sieciową 2.5 Gb.

Proxmox wykrył ją bez problemu. Obecnie mam:
- Mac Studio — 2.5 Gb
- Proxmox — 2.5 Gb
- UNAS Pro — 10 Gb
UNAS Pro jest połączony do USW Pro Max 16 PoE przez SFP+, a switch pod biurkiem przez 2.5 Gb RJ45. NAS może być wykorzystywany przez różne urządzenia w sieci, więc port 10 Gb ma uzasadnienie. Pozostałe urządzenia komunikują się przez 2.5 Gb — to i tak więcej, niż potrzebuję, więc mam zapas.
Przeniesienie do obudowy rack

Sam proces nie był zbyt ekscytujący. Skoro NAS był już przeniesiony, pozostał mi wolny komputer w obudowie rack. Postanowiłem wymienić płyty główne między zestawami: ta z Proxmoxa trafiła do racka, a ta od NAS-a do obudowy pod biurkiem.
Po kilku dniach pracy Proxmoxa w obudowie rack hałas chłodzenia zaczął mi przeszkadzać. Używałem tego samego chłodzenia, co przy i3-8100 — wystarczającego dla NAS, ale nie dla serwera z większym obciążeniem w LXC. Wymieniłem więc chłodzenie na Noctua NH-L9I. Od tego momentu nie słyszałem praktycznie żadnego szumu.
Dodatkowo, dzięki przeniesieniu serwera do szafy rack, mogłem go podłączyć bezpośrednio do głównego switcha, co pozwoliło osiągnąć maksymalne możliwe prędkości. NAS działa na 10 Gb, a Mac i Proxmox na 2.5 Gb. Do NAS podłączone są także dwa telewizory przez 1 Gb, więc w teorii można wykorzystać niemal całą przepustowość UNAS Pro.
Zmiany w przestrzeni dyskowej
Do tej pory Proxmox korzystał z dwóch dysków: systemowego i dysku na dane. Jednak każda migracja między maszynami oznaczała przenoszenie danych, co stawało się męczące. Postanowiłem więc trzymać dane aplikacji hostowanych na Proxmoxie bezpośrednio na NAS-ie.
Niestety UNAS Pro nie obsługuje NFSv4, które idealnie nadawałoby się do takich zastosowań. Obsługuje tylko NFSv3, które nie ma poprawnego zarządzania uprawnieniami, więc odpadło. Zostało mi jedynie SMB — nie jest to najlepsze rozwiązanie dla takich danych, ale działa.
Największym problemem okazał się SQLite — czasem blokuje się przy operacjach, ale da się z tym żyć.
Kupiłem trzy dyski SSD 512 GB i połączyłem je w RAID 5, co dało mi ~1 TB przestrzeni z tolerancją jednego uszkodzonego dysku. UNAS Pro ma 7 zatok, więc trzy wykorzystałem na tę macierz, a pozostałe cztery na dane i multimedia (HDD).
Wyniki testów SMB:
WRITE: bw=251MiB/s (263MB/s), io=1024MiB (1074MB), run=4086ms
READ: bw=279MiB/s (292MB/s), io=1024MiB (1074MB), run=3673ms
Najważniejsze jest to, że dane usług w sieci domowej są teraz niezależne od migracji Proxmoxa. Nic krytycznego nie hostuję, więc nawet okazjonalne problemy z bazami mnie nie martwią. Liczę, że wkrótce UNAS Pro otrzyma wsparcie NFSv4.
Montowanie NAS w LXC
nano /etc/fstab
//192.168.2.223/Data/ /mnt/pve/data cifs _netdev,x-systemd.automount,noatime,uid=101000,gid=101000,dir_mode=0770,file_mode=0770,user=username,pass=password 0 0
systemctl daemon-reload
mount -o remount -a
Następnie w konfiguracji LXC:
mp1: /mnt/pve/data,mp=/mnt/data
Po restarcie kontenera dane z macierzy pojawią się pod /mnt/data.
Szafa rack
W samej szafie niewiele się zmieniło, ale dokupiłem dużo lepszy system montowania urządzeń — PATCHBOX /dev/mount. To świetny zakup: wygląda estetycznie, a przede wszystkim nie potrzebuję śrubokręta, żeby cokolwiek wyjąć.
UPS ma dedykowaną półkę rack, ale kosztuje ~150 zł, więc stoi na zwykłej, taniej półce z Allegro. Obok niego zostawiłem miejsce na przedłużacz.
Nieco zmieniłem też układ urządzeń sieciowych. Chciałem rozdzielić UDM od switcha, bo oba dość się grzeją. Teraz UDM jest na samej górze, pod nim patch panel, a niżej główny switch. Dzięki temu jest lepsza organizacja kabli i więcej przestrzeni powietrznej wokół UDM.
Pod switchem znajduje się UNAS — nagrzewa się bardziej niż UDM, ale układ musi pozostać taki.
Na dole zostawiłem 3U wolnej przestrzeni z półką na urządzenia bez możliwości montażu w racku. Możliwe, że kiedyś wymienię obudowę serwera na 3U, jeśli będę potrzebował więcej miejsca na karty rozszerzeń.
Podsumowanie
Udało mi się osiągnąć coś, o czym marzyłem już od dawna — mieć cały homelab w jednym miejscu. Dodatkowo mogę teraz łatwiej monitorować zużycie prądu oraz zarządzać wyłączaniem urządzeń przy braku zasilania.
Kolejne kroki:
- dodanie karty graficznej pod lokalne AI,
- migracja części publicznie dostępnych aplikacji z DigitalOcean do sieci lokalnej.
Szafa rack, która jeszcze niedawno była prawie pusta, zaczyna wyglądać naprawdę dobrze — i działa jeszcze lepiej.