Tak się jakoś ostatnio złożyło, iż więcej piszę o swojej domowej sieci komputerowej niż o front-endzie, no ale co zrobić – home lab wciąga i uzależnia Dziś nie będzie inaczej, napiszę kilka słów o ostatnich modyfikacjach.
W poprzednim wpisie: Proxmox na Lenovo M710q – czyli domowy serwer po taniości – opisałem mini-komputer jaki kupiłem i zainstalowałem w roli małego serwera hostującego maszyny wirtualne.
Wciąż jednak chodził mi po głowie temat uruchomienia w swojej sieci serwera NAS – czyli sieciowego magazynu danych. Co prawda mam już jeden pseudo-NAS, bo kupiłem kiedyś takie 1-dyskowe 3 TB urządzenie sieciowe Seagate, ale to wciąż tylko jeden dysk, a producent zakończył wsparcie dla tego urządzenia i zamknął powiązaną infrastrukturę chmurową.
Po co mi w ogóle magazyn danych?
Zanim się rozpiszę o dalszych modyfikacjach, napiszę kilka słów dlaczego w ogóle temat magazynu danych chodzi mi po głowie…
Jest takie mądre powiedzenie, iż są 2 rodzaje ludzi – ci którzy robią backupy i ci, którzy dopiero będą je robić.
Głęboki sens tych słów zrozumie każdy kto stracił ważne dane – czy to na skutek awarii komputera czy też przez przypadek. Ja w swojej „karierze” miałem kilka takich wydarzeń – „najzabawniejszym” było sformatowanie nie tej partycji co trzeba…
Nie powiem żebym przez to stał się maniakiem backupów, ale z drugiej strony, każdy ma jakieś dane, które są szczególnie cenne. Ważne dokumenty, cyfrowe kopie zapasowe kluczowych dokumentów papierowych, czy wreszcie rodzinne zdjęcia czy filmy.
Dziś – w epoce telefonów z dużymi kartami pamięci – często trzymamy na telefonach setki lub wręcz tysiące zdjęć i filmów, o których przypominamy sobie jak coś się z telefonem podzieje. Wtedy jest panika i ratowanie tego co jeszcze uda się uratować.
W tym miejscu na pomoc przychodzi właśnie wielodyskowy sieciowy magazyn danych. Takie urządzenie posiada co najmniej 2 dyski twarde, które można ustawić w jakąś konfigurację RAID. Czym jest RAID – kto wie to wie, a dla niewtajemniczonych powiem tylko, iż to kilka sposobów na zapisywanie danych na wielu dyskach na raz. W zależności od ilości dysków i wybranego trybu zyskujemy jakiś stopień ochrony kosztem pojemności. W efekcie mamy dostępną np. połowę łącznej pojemności dysków, ale jeżeli 1 lub 2 dyski padną, to nie tracimy danych (zależy jaka konfiguracja i ile dysków jest w macierzy). To nie czas i miejsce na rozpisywanie się o szczegółach technicznych, ale trzeba po prostu przyjąć, iż im więcej dysków tym lepiej i bezpieczniej. W myśl zasady: „two is one and one is none”.
To jaki system NAS wybrać?
Jeśli dojrzejemy do myśli, iż trzeba zabezpieczyć nasze dane, by przypadkiem nie wyparowały, to zaczynamy przeglądać internet w poszukiwaniu dostępnych rozwiązań.
To co pierwsze rzuca się w oczy to CENY! Koszt chociażby podstawowego 2-dyskowego systemu QNAP czy SYNOLOGY to co najmniej kilkaset złotych, a mówimy o zakupie samego urządzenia, bez dysków twardych.
Taki choćby QNAP TS-231K kosztuje ok 1000 zł, w podobnej cenie kupimy też Synology DS220J.
Dokupienie 2 dysków twardych dedykowanych do pracy w urządzeniach typu NAS, to też niemały wydatek – taki WD Red 2TB to ok 380 zł za sztukę, a wersja 4 TB to już ok 500 zł za dysk.
Widać więc, iż kupując najprostszego gotowca koszty gwałtownie eskalują w okolicę 2000 zł.
A mówimy tu o wersji 2 dyskowej, wersje 4 dyskowe potrafią podwoić tą kwotę, a profesjonalne serwery RACK 4U 24 dyskowe – hu hu, tu już mówimy o dziesiątkach tysięcy PLNów.
Zastanówmy się więc jak zrobić to taniej…
Czy potrzebuję gotowca?
Jeszcze jeden aspekt sprawy to decyzja, czy potrzebuję gotowca czy nie. Co to znaczy gotowca?
Jeśli kupimy NAS jednej z popularnych marek – czyli QNAP czy SYNOLOGY – to dostajemy produkt w zasadzie gotowy do użycia. Podłączamy go do lokalnej sieci, wchodzimy przez przeglądarkę na dedykowaną stronę z panelem administracyjnym, krótka konfiguracja i mamy gotowy dysk sieciowy. Przy czym samo udostępnianie dysku to tylko jedna z wielu gotowych funkcji – możemy udostępniać media, korzystać z prywatnej chmury, podłączyć drukarkę sieciową i mamy jeszcze wiele innych funkcjonalności do dyspozycji.
To super rozwiązanie dla średnio zaawansowanego użytkownika lub dla amatora, któremu ktoś to podłączy i skonfiguruje. To rozwiązanie out-of-the-box – podłącz i zapomnij.
Jednak ta wygoda ma swoją cenę wyrażoną bezpośrednio w ilości PLNów jakie za nią płacimy.
Jeśli jednak chcemy się trochę pobawić lub zaoszczędzić, to warto rozejrzeć się za alternatywnym rozwiązaniem.
Budujemy własny NAS
Ciekawą alternatywą może być zbudowanie własnego serwera NAS. Może to być jakiś nieużywany już PCet, laptop czy inny komputer, choćby Raspberry Pi. W zależności od dostępnego urządzenia mamy różne opcje na podłączenie dysków twardych – jeżeli użyjemy jakiegoś PCta, to możemy wykorzystać dostępne złącza SATA i podłączyć dyski bezpośrednio. Są choćby dostępne interesujące obudowy do dysków z wyprowadzonymi złączami SATA.
Jeśli użyjemy laptopa, mini-PC lub RPi to dobrym rozwiązaniem będzie podłączenie dysków dzięki USB 3. Tu również są na rynku interesujące rozwiązania obudów wielodyskowych z wyjściem USB-A, USB-B i USB-C.
Co ciekawe, niektóre z nich mają wbudowany sprzętowy kontroler RAID, który umożliwia stworzenie jednej z kilku dostępnych wersji macierzy już na etapie samej obudowy.
Ponieważ nie korzystamy z gotowca, będziemy potrzebować jeszcze jakieś oprogramowanie do zarządzania naszym magazynem danych – tu z pomocą przychodzi TrueNAS.
TrueNAS to gotowy system operacyjny oparty na FreeBSD. Jest bardzo prosty w instalacji i użytkowaniu – po krótkiej instalacji na naszym komputerze i skonfigurowaniu dostępu sieciowego, dalsze operacje wykonujemy poprzez wygodny i dość intuicyjny panel administratora dzięki przeglądarki www.
Instalując TrueNAS musimy pamiętać, iż musimy przeznaczyć jeden dysk na sam system – warto więc mieć w komputerze jakiś niewielki ale szybki dysk systemowy. W moim przypadku instalacja odbywa się na wspomnianym wcześniej mini-pc Lenovo (wyleciał z niego Proxmox z wirtualkami, ale o tym za chwilę). Mam tam zainstalowany dysk SSD 2.5″ 250 GB (a mam możliwość dołożenia jeszcze dysku NVME na złączu M2). Dodatkowe dyski zostaną podłączone po USB – póki co w ramach testów i nauki podłączyłem do komputera dysk przenośny 320 GB. Docelowo zamiast tego dysku testowego mam zamiar podłączyć 4 lub 5 dyskową obudowę z wyjściem USB.
Jaki to będzie model to się jeszcze okaże – zaczyna się black week – może uda się coś taniej upolować.
Póki co mam kilka typów:
QNAP TR-004U – 4 zatokowa obudowa rozszerzająca do serwera NAS – to najfajniejsza z opcji, bo jest to konstrukcja przystosowana do szafy RACK o wysokości 1U – czyli idealna do mojej szafy. Jest to rozwiązanie dedykowane do serwerów NAS QNAPa, jako rozszerzenie pojemności lub dyski do backupów – ale może też być podłączone do dowolnego komputera po USB. Możemy w niej umieścić 4 dyski HDD/SSD o maksymalnej łącznej pojemności 64GB. Obudowa ta posiada wbudowany kontroler RAID – możemy wybrać jeden z dostępnych trybów (pojedyncze dyski, grupa JBOD, RAID 0, RAID 1/10 lub RAID 5). Jest to też opcja najdroższa – koszt samej obudowy bez dysków to co najmniej 1600 zł.
QNAP TR-004 – to w zasadzie to samo urządzenie, jednak w bardziej kompaktowej obudowie stand-alone. Możliwości te same co obudowa RACK, ale cena mniejsza: ok 1160 zł. Dość rozsądna alternatywa jeżeli szukamy oszczędności – różnica w cenie daje nam 1 dysk 4TB.
Yottamaster FS4U3 – bardzo podobne rozwiązanie, choć mniej znanej firmy (a przynajmniej ja pierwsze o niej słyszę). Obudowa na 5 dysków, obsługa łącznej pojemności 90TB, wbudowany kontroler RAID (RAID 0/1/5/10 / JBOD / CLONE/ Normal RAID), wyjście danych USB-B. Tu cena atrakcyjna: ok 800 zł
Jeśli chodzi o dyski twarde to mój wybór padł na WD RED 4 TB – to dyski dedykowane do systemów NAS ze względu na swoją żywotność. Można kupić oczywiście jeszcze bardziej „profesjonalne”, no ale to zawsze jest jakiś kompromis związany z ceną. Wybrany przeze mnie dysk to i tak koszt ok 500 zł za sztukę. Póki co chcę kupić 2 dyski po 4 TB każdy. Nie wiem jeszcze w jakim trybie RAID będą pracować – przy 2 dyskach mirror będzie chyba najbezpieczniejszy (czyli dane zapisują się na obu dyskach na raz). Jako trzeci dysk do obudowy trafi najprawdopodobniej 3 TB dysk z posiadanego już przeze mnie NASa Seagate.
Póki co mój pomysł na dane jest taki: 2 dyski w mirrorze na ważne dane (zdjęcia i filmy rodzinne, najważniejsze dokumenty i pliki), oraz osobny dysk 3 TB na multimedia i mniej ważne zasoby. Dzięki temu mam jeszcze wolne 2 zatoki (bo najprawdopodobniej kupię obudowę Yottamaster) – jeżeli w przyszłości dokupię 2 dodatkowe dyski, to będę mógł je dodać jako kolejny zasób.
Zarządzanie zasobami w TrueNAS
Cała magia zarządzania zasobami zaczyna się na poziomie oprogramowania. TrueNAS w wersji CORE (darmowa podstawowa wersja znana wcześniej jako FreeNAS) obsługuje pojedynczy node, czyli jeden serwer (wersje Enterprise i Scale umożliwiają administrowanie całymi klastrami), ale w naszym przypadku to zupełnie wystarczy. Wersja ta obsługuje 128-bitowy system plików o nazwie ZFS, a także ma wsparcie dla pluginów oraz maszyn wirtualnych.
To właśnie wsparcie dla pluginów i wirtualek było powodem dla którego zrezygnowałem z Proxmoxa.
Przy pierwszym podejściu gdy postanowiłem przetestować TrueNAS, zainstalowałem go właśnie na wirtualce utworzonej w Proxmox – i generalnie działało to dobrze, choć trzeba było skonfigurować widoczność portów USB. jeżeli jednak mogę uruchomić TrueNAS natywnie, a w nim utworzyć wirtualki, to dlaczego z tego nie skorzystać? Tym bardziej, iż dużo różnych systemów jest dostępnych w postaci pluginów – i tak możemy całą masę systemu zainstalować dosłownie kilkoma klikami.
TrueNAS pozwala również dzięki wbudowanej konsoli VNC „uruchomić” podgląd takiej maszyny wirtualnej czy pluginu w oknie przeglądarki i tam bezpośrednio nimi zarządzać.
Usunąłem więc Proxmox, zainstalowałem TrueNAS, a w nim na małej wirtualce instancję Pi-Hole. Całość okazała się mega prosta w realizacji.
Problemy…
Ten wpis powstaje na raty, ale nie chcę go dzielić, niech zostanie jako zapis nauki na własnych błędach…
Czasem tak jest, iż coś sobie wymyślimy, wykombinujemy, a potem zderzamy się z rzeczywistością niczym z górą lodową. Ja tak miałem z tym NASem…
Ze względu na koszty zdecydowałem się na zakup obudowy Yottamaster. Ładna, solidna, aluminiowa obudowa, no i cena – niecałe 800 zł. Jakież było moje zdziwienie, gdy po włożeniu do obudowy 2 dysków WD i po podłączeniu jej do komputera dzięki USB 3.0, TrueNAS zobaczył tylko 1 dysk twardy. Zaczęło się kombinowanie: czy może 1 z dysków jest uszkodzony, czy widzi oba podłączone pojedynczo, a może to kwestia kieszeni…
Po wykluczeniu niesprawności dysków przyszedł czas na poproszenie o pomoc wujka Google. gwałtownie okazało się, że: po pierwsze podłączanie dysków NASowych po USB to generalnie bardzo zły pomysł i jest mocno odradzany, a po drugie, iż w takiej sytuacji GUI TrueNAS widzi tylko 1 dysk twardy, bo rozróżnia dyski na podstawie ich numerów seryjnych, a tak naprawdę widzi inny numer – zgłaszany przez kontroler USB – taki sam dla wszystkich z dysków. W praktyce – ile dysków bym nie podłączył poprzez ten sam kontroler – TrueNAS będzie je widział jako 1 dysk.
Co ciekawe, z poziomu shella i dzięki odpowiednich komend systemowych dokopałem się do tego, iż fizycznie podłączone są 2 dyski, ale tworzenie Poola z poziomu konsoli i problemy w GUI skutecznie mnie do tego rozwiązania zniechęciły.
No dobra – a co jeżeli podłączymy dyski osobno – każdy przez swój kontroler. Wcześniej miałem tak podłączone dyski SSD w zewnętrznych kieszeniach i były poprawnie wykrywane.
Udało mi się zwrócić obudowę Yottamaster, w to miejsce kupiłem 2 obudowy USB na dyski HDD 3.5 cala. Koszt: niecałe 100 zł za obie sztuki. Można taniej, można drożej – celowałem w średni przedział cenowy.
2 dni później czas na następną próbę. Po instalacji dysków w obudowach czas na podłączenie do komputera.
Niestety, tu też nie obyło się bez problemów. Kieszenie wymagają zasilania 12V, są więc wyposażone w odpowiednie zasilacze. Podczas montażu w szafie rackowej, gdy oba zasilacze wisiały sobie podłączone do listwy zasilającej, ale jeszcze bez podłączenia do kieszeni, coś nagle strzeliło. W pierwszej chwili myślałem, iż pękł jakiś plastik na który niechcący stanąłem, ale okazało się, ze jeden z zasilaczy padł. Po rozebraniu go okazało się, iż usmażył się jeden z rezystorów…
Na szczęście miałem inny zasilacz 12V z odpowiednim wejściem, ale to też dało mi do myślenia – im więcej kombinacji typu kieszeń, kabel USB, zewnętrzne tanie chińskie zasilanie – tym więcej miejsc, w których może coś pójść nie tak… A przecież chcę na tych dyskach trzymać najważniejsze dane!
Po podłączeniu obu kieszeni – niespodzianka – TrueNAS znów widzi tylko 1 dysk… Bo przecież zamówiłem 2 takie same kieszenie, a ich kontrolery USB zwracają jako numer seryjny TEN SAM numer: 0123456789ABCDEF !!!
Dość prowizorki!
Pomoc i rozwiązanie nadeszło z zupełnie nieoczekiwanej strony, a mianowicie z oferty umieszczonej na grupie SysOps / DevOps Bazarek na Facebooku. Jedno z ogłoszeń dotyczyło sporej ilości różnych serwerów przeznaczonych do krótkich szaf rackowych. Po konsultacji ze sprzedającym zakupiłem serwer SuperMicro z procesorem Intel 6C E-2236, 16 GB RAM ECC i dodatkowym dyskiem SSD na M.2. Koszt serwera: 1400 zł netto.
W przypadku tego serwera miałem tylko 2 drobne problemy: dość mało miejsca przy montażu dysków HDD (trzeba trochę się nagimnastykować) oraz wyjście wideo w standardzie VGA (na szczęście jeden stary TV miał takie wejście). No ale takie problemy to żadne problemy – po instalacji TrueNAS na dysku SSD i wstępnej konfiguracji serwera bezpośrednio na stole, całość finalnie trafiła do szafy rackowej. Tu też wymagana była drobna przebudowa – musiałem przesunąć trochę stelaż do przodu by serwer się zmieścił – razem z wtyczkami kabli od tyłu. Przy okazji zmieniłem trochę ułożenie poszczególnych elementów w szafie – rozsunąłem je by łatwiej oddawały ciepło.
Czy było warto?
Oczywiście iż tak! Co prawda musiałem uczyć się na własnych błędach, ale na szczęście zostałem tylko z 2 pustymi kieszeniami na HDD – niewielka wtopa.
Czy zatem udało się po taniości? No nie do końca. Sądzę, iż nie na wszystkim należy oszczędzać. Dyski na pewno musiały być nowe, a to już 1000 zł. Sam serwer? Cóż, uparłem się na rozwiązanie 1U do szafy rackowej, a to też swoje kosztuje. Trochę taniej mógłbym kupić 2 zatokowy gotowy NAS Qnapa lub Synology – ale ja chciałem mieć własny serwer z TrueNAS, a nie gotowca. Poza tym mój serwer ma zdecydowanie lepszą moc obliczeniową – 6 rdzeni, 12 wątków – to pozwoli nie tylko na obsługę NASa, ale i na postawienie na nim dodatkowych wirtualek.
Jeśli więc mam jakoś podsumować ten zdecydowanie za długi artykuł, to powiem tylko iż dla mnie było warto – najwięcej uczę się grzebiąc przy czymś. Finalnie udało się osiągnąć cel – mam serwer NAS, mam bezpieczne miejsce na dane, a mój home lab wzbogacił się o nową zabawkę. Czego i Wam wszystkim życzę