Stavím NAS
Z historie
Po mnoha letech nám zemřela krabička, na kterou jsem zálohoval. Byl to NAS Thecus N5200 na 5 disků a sloužil dlouho a
dobře a za celých těch bratru 8 let mu jenom padnul zdroj, který jsem nahradil jiným typu TFX a pak jsem vyměnil věráky. Ale i ten největší držák má své limity a tak jednoho rána přišlo hlášení o pádu pole a po několika pokusech o opětovné sestavení odešel Nasík do křemíkového nebe. Budiž mu krystalická pec lehká.
Já jsem se ovšem ocitnul v hloupé, zlé, ošklivá věc… Tedy v situaci, kdy zálohy byly na pěti discích, které jsem neměl ani kam připojit, natož abych se dostal k datům na nich uložených. Navíc mi zejména v poslední době přišel Nasík už takový dýchavičný, jak roste počet zálohovaných serverů, tak i malý, jak narůstá množství dat. Zkrátka nazrál čas na změnu.
Začal jsem sjíždět e-shopy a hledat nástupce. Chtěl jsem alespoň 5 disků a samozřejmě opět typu NAS. Ceny nabízených připravených hotovek mi ale přišly děsivé a má budovatelská duše kříslá strýčkem Skrblíkem se začala natěšeně chystat na novostavbu jsa hojně podporovaná podprahovým remcáním, že 20 kKč do toho přeci nedám, že to umím levněji a ještě k tomu líp.
Navzdory mým silně protučňákovským tendencím se ale cílovou platformou stane FreeNAS na podvozku FreeBSD. Hlavním důvodem je, že to umí všechno, co potřebuji (alespoň RAID5 a iSCSI iniciátor), ale navíc spoustu dalších věcí a zejména to bude jednoduché na údržbu.
Zde tedy máte záznam mého hledačství s popisem, co mě vedlo k jednotlivým rozhodnutím a budu rád, když někoho z vás bude postup inspirovat.
Skříň
Jak už jsem říkal, hledal jsem počítačovou skříň na minimálně 5 disků. Nabídku to značně omezilo a když jsem seškrtal všechny čínské přezdobeniny, abych designem uspokojil i svou esteticky náročnou ženu, v úvahu přišel pouze Fractal Design Node 804. Dle mého velmi elegantní a jednoduchá skorokrychle, do které se vejde 8 3.5″ disků a s trochou snahy 10 až 12. Poslední varianta ale vyžaduje sehnat dodatečný koš na disky.
Klady skříně
- Jelikož nejsem omezen jen minimální sadou pěti disků, snadno můžu recyklovat disky i pochybného
stáří a kapacity.
- Jde v podstatě o krychli, která velmi dobře sedí a vypadá na chodbě na prádelníků. Model „prdel na hrnec“.
- Je skvěle chlazená už v základu a dá se doplnit o ultimátní počet 120mm fičáků, kdybyste třeba uvnitř potřebovali uchladit reaktor Temelína.
- Fractal Design má skříně doladěné a vychytané do detailu jak designem, tak opracováním. Za 5mm bit na šroubomatky k přichycení základní desky, pánové návrháři, klobouček!
- V části pro disky a zdroj jsou připraveny 2 suché zipy na učesání kabelů, které potěší každého neat-freak airflow fanatika.
Zápory skříně
- Skříň patří k těm dražším (přes 3 kKč), ale to je prostě daň za slušnou kvalitu a domyšlený design.
- Chcete-li mít disky hot-swap, s touhle skříní na to zapomeňte. Nebo si rovnou začněte psát blog o hardcore casemoddingu.
- Skříň je celkem velká, zvažte si, že ji opravdu máte kam dát!
Základní deska
NAS budu používat pro off-site zálohování s tím, že přes Wake-On-LAN bude automaticky zapnut, udělá se záloha a systém se zase vypne. Nepotřebuji tedy žádný trhač asfaltu a jakákoliv deska až do formátu miniATX splňuje požadavky. Normálně mi záloha doběhne do hodiny, takže ani nepotřebuji ultra-mega-hustokrutopřísně nízké TDP, takže rozhodla cena a počet on-board SATA 6G portů. 3G jsem odsoudil na smetiště dějin, protože očekávám ještě v době života nového NASu zlevnění SSD a nechci čekat na dvakrát pomalejší rozhraní. K uspokojení vnitřního strýčka Skrblíka padla volba na AMD desku od ASUSu – A88XM-A a doujádro AMD A4-4000. Doplněno 16 GB RAM 1333 MHz DDR3 (zapomeňte na kulervoucí frekvence pamětí, cenou za ně je vysoká latence a ta výkon ovlivní víc, než rychlost hodin).
Velké množství paměti souvisí s volbou FreeNAS, ze kterého budu využívat ZFS a tam platí, že co TB na disku, to GB paměti. Deska má ještě 2 sloty volné, takže dokud budou k sehnání DDR3 moduly, je možné růst.
Zdroj
Volba padla na pasivní Seasonic S12 II s bronzovou certifikací. Ve skříni je uložen na spodu, má tak vlastní oběh vzduchu a větrák jsem ještě ani neslyšel. Vysoká účinnost a prověřená kvalita tohoto výrobce mi myslím zaručí, že o zdroji následujících 10 let neuslyším, pokud ho nespálí bouřka a nějaký opravdu vykutálený výboj, aby prošel i skrz přepěťovou ochranu.
Pozor! Zdroj má 2 větve pro napájení disků, jednu se 5 SATA konektory a druhou s 5 MOLEXy. Určitě budete potřebovat jak redukce MOLEX->SATA, tak vidlice MOLEX->MOLEX nebo lépe MOLEX->SATA!
Řadič SATA
Říkal jsem, že jsem strýček Skrblík? Tak jedna z věcí, kterou jsem hodně zvažoval, bylo jak připojit velké množství disků, když současné desky oplývají nejvýše osmi porty, mnou zvolená dokonce jen šesti. Po chvilce gůglení padla volba na řadič jednak v Čechách již nedostupný a jedna nezaplatitelný – LSI SAS2008-8I SATA 9211-8i. Opět SATA III, který navíc nabízí dvojici MiniSAS (SFF-8087) portů, pro které existuje redukce na 4 SATA kabely. Jednoduché, elegantní a navíc za pár šlupek! Přesně 69 dolarů.
Disky
Z původního NASu mám 5x 1TB SAMSUNG HD103SI, když jsem si myslel, že původcem padlého pole jsou disky, dokoupil jsem dvojici 2TB Seagate ST2000DM006-2DM164 a jen tak pro legraci a jako dočasný systémový disk jsem připojil i Seagate 500GB ST3500320AS z velmi historických zásob. Jako systémový disk pro FreeNAS jsem koupil rozkošnou hračku od ADATA 32GB ISMS312-032GMH – SSD přímo do SATA slotu jako fajfka. Jde v podstatě o DOM (disk on module) do SATA slotu s napájením přes MOLEX adaptér. Pro NAS řešení ideální systémový disk, který vám nezabere žádnou z cenných pozic využitelných skutečnými daty.
Montáž
Skříň má dvojici 120mm větráků na zadní stěně pro odtah části pro desku a procesor a části pro disky, které lze připojit přes jeden napájecí SATA konektor a na zadní stěně můžete nastavit 3 rychlosti otáčení. S mými potřebami je i ta nejpomalejší víc než dostatečná. Deska umožňuje připojit jeden čelní tlačný větrák a samozřejmě větrák chladiče procesoru. Nic jsem nevymýšlel a instaloval ten, který AMD dodává s procesorem.
Podle typu desky si nachystejte matkošrouby pro přichycení do skříně, zaklapněte do skříně štítek základní desky a do desky před instalací doporučuji vložit procesor, připnout chladič, zapojit větrák chladiče CPU a samozřejmě nainstalovat RAM.
Až budete mít hotovo, začněte s disky. Tady mě po osazení první klece polilo horko, jestli se vůbec hluboké 3.5″ disky vejdou se standardními přímými SATA konektory vejdou nad zdroj, ale i přesto, že tam není zbytečně moc místa, všechno se vejde tak akorát, jen počítejte s tím, že konektory si musíte připojit před zasunutím koše do skříně.
Učešte kabely, připojte konektory signalizace činnosti disků, zapnutí (máte-li zájem) a určitě tlačítko zapnutí a můžete instalovat.
Instalace FreeNAS
FreeNAS má krásnou dokumentaci a jediné, co budete potřebovat, je USB disk pro prvotní instalaci, připojení na internet pro stažení ISO obrazu instalačního média a něco času.
- Postup vytvoření instalačního USB disku pro Linux/MacOS/Windows
- Postup po spuštění instalátoru
Náklady
- Skříň: 3102 Kč
- Zdroj: 1569 Kč
- Deska: 1389 Kč
- CPU: 852 Kč
- RAM: 2139 Kč
- Další kabely (SFF-8087, MOLEX->SATA): cca 800 Kč
- Řadič LSI: 1784.33 Kč
Celkem bez disků 11635,33 Kč. Za trochu práce a přemýšlení mám řešení, které mi vydrží minimálně 6 let, dostal jsem se cenou na úroveň o minimálně jednu třídu níž a pokud hledáte domácí NAS, použitá distribuce nabízí vlastnosti, které jsou k nezaplacení:
- Robustní a prověřený souborový systém ZFS, který přežije bezkonkurenčně nejvíc problémů, které vás mohou potkat a to včetně plíživé degradace disku (magnetické vrstvy u otáčivých nebo kolapsu NAND buňky u SSD)
- Plnohodnotný NAS pro všechny OS, včetně sdílení přes media centrum do mobilních aplikací
- Perfektní cíl pro zálohování Windows přes sdílený disk a nativní Windows zálohování metodou backup-to-disk
- Dobrý poměr cena-výkon při dosažení obrovských kapacit (8x 3TB disk vám nabízí 21 TB využitelného prostoru a víte, že vaše data jsou v bezpečí)
- Podporu iSCSI pro případy, kdy chcete pracovat v režimu SAN a třeba stavíte levné virtualizační centrum
Jedna poznámka pro technické fandy: Nekupoval jsem disky do NAS záměrně. V mém případě poběží do 3 hodin denně a nemám potřebu si připlácet. Budete-li však chtít provozovat NAS v režimu 24×7 nebo tomu blízkém, nešetřete na tom. Nevyplatí se to.
Hezké NASení, ať už zálohujete a nebo koukáte v posteli na svou košatou a rostoucí filmotéku!
Edit 2.11.2016
- Až při nastavování jsem zjistil, že základní deska nemá Wake-on-LAN vlastnost, takže bohužel dokupuji separátní síťovou kartu. Pro zálohování mi to nevadí, stejně jsem plánoval jednu dedikovat na velké datové toky a zapnout jumbo frames, ale k nákladům přičítám dalších 289 Kč za Edimax EN-9260TX-E V2.
- Při noření se do FreeNAS jsem zjistil, že mnou zakoupených 16 GB taktak stačí na použití iSCSI, o pokročilých ZFS funkcích lze uvažovat od 32 GB výše, což je i limit zvolené karty. Dejte si tedy ve vašem případě práci s pročtením paměťových nároků dříve, než si obsadíte sloty neprakticky malou kapacitou. Pokud tedy chcete využívat NAS jako on-line úložiště počítejte s následujícími doporučeními:
- Pro iSCSI minimálně 16 GB RAM, pro víceuživatelský přístup 32 GB RAM
- Pro ZFS 1 GB RAM na 1 TB disků
- Pro deduplikaci na úrovni ZFS to ovšem je 5 GB na 1 TB disků
- Pro domácí použití vystačíte i se SATA disky, ale pro enterprise nasazení nic menšího, než 15k SAS nedává smysl. Tam si rovnou přidejte alespoň 4 SSD SAS disky
Edit 7.11.2016
Po delší úvaze jsem opustil myšlenku na FreeNAS. Tím vás nechci odrazovat, je to perfektní systém pro on-line úložiště, jeho instalaci zvládne každý, kdo dokáže číst v angličtině a skvěle vás povede od začátku do konce, ale pro mě už mě vodí za ručičku moc a jeho on-line funkce nevyužiju.
Vracím se tedy k Linux boxu, SW RAID, LVM a iSCSI. Veškeré předpoklady a nákupní seznamy platí, jen operační systém budu mít jiný. Hlavní důvod je, že FreeNAS trvá na tom, že v zpoolu musí být disky stejných kapacit a já v úložišti pro backup recykluju různé disky. Až budu stavět skutečný NAS, tam ZFS určitě místo najde zejména díky své robustnosti a odolnosti proti plíživé degradaci disku.
Edit 31.1.2017
Šedivá je všechny teorie a věčně zemdlený je správce systému, nebo jak to bylo. Tady máte seznam změn udělaných nebo vhodných, podle toho, na co jsem si v průběhu času naběhl. Body rozvedu dál.
- Pokud plánujete osadit více disků, určitě kupte silnější zdroj.
- ZFS fakt chcete, ale na i Linuxu má velmi dobrou podporu.
- Síťovka někdy umí nemile překvapit.
- Recyklace nevyšla, ale zato jsem stěhoval data tam a zpět. A taky přišel o zálohy.
Zdroj
Když jsem vybíral zdroj, byla úvaha jednoduchá. Moderní disk sežere 15-20 W, deska dalších 20 W včetně síťovky, porcík má TDP 90 W, takže 420 W zdroj musí stačit. No, nestačil. A to značně divně. Všechno se totiž tvářilo vlastně OK, ale jakmile jsem začal zapisovat data, začaly mi odpadávat disky. Možná to znáte, ten zvuk „bzzzZZZ-klak, ticho, bzzzZZZ-klak“ a pořád dokola. Jeden disk jsem dokonce doblikal do křemíkového nebe. Podezříval jsem řadič, nízkou kvalitu a stáří disků, ale bylo to mnohem jednodušší. Nestíhal zdroj na 12V větvi. Poté, co jsem ho nahradil za dost sračkoidní 600W Zalman, všechno jede jako z praku.
ZFS
Ne, nehádejte se se mnou. Používám Linux/md/LVM2 roky a je to super, ale i tak chcete ZFS. Zejména na backup disk.
Proč?
Moje finální konfigurace má 10x 2TB disk, kapacita dvou disků je vyhrazena na paritu (ekvivalent RAID6, v ZFS RAIDZ2) a vytvoření plně funkčního svazku zabere asi 1 sekund. A tím to nekončí. Výměna disku migruje jen zapsaná data, protože ZFS pokrývá práci s disky od fyzického zařízení až po metadata souborového systému. Ví tedy přesně, jaká data jste si kam uložili a ta zachová. Zbytek je balast, na kterém nezáleží. Náhrada 1TB disku za 2TB disk trvala necelé dvě hodiny, porotože se fyzicky přenášelo něco jako 170 GB dat. Ale zejména v kontextu použití backup serveru je nejvíc nejlepší funkce to, že kontrola konzistence stačí jednou maximálně dvakrát ročně. Můžete zapoměnout na 2 dny běžící scrubbing klasického linux RAID běžící jednou měsíčně. Zbytek vyřeší dvojitá parita a copy-on-write mechanismus a váš 16TB velký souborový systém pracuje a pracuje a nechce nic na oplátku. Adminův orgasmus.
Síťovka
Levná deska sice vypadal krásně, ale integrovaná RTL8111/8168/8411 měla ošklivou vlastnost se ve velké zátěži odpojit. V kombinaci s NFS dost smrtelná záležitost. Musel jsem koupit jinou kartu a mám slušné zkušenosti s Intel E1000, která svou roli plní k plné spokojenosti a datový tok drží u kontinuálního streamu mezi 800-930 Mbps.
Recyklace a smíšené disky
Tohle je malinko komplikovanější. Původně jsem zamýšlel neměnit disky, ale recyklovat staré a padlé nahrazovat 2TB, až do konečného stádia, kdy pole kapacitně poskočí. No, nevyšlo to a to hned z několika důvodů. Hlavním byl právě ten slabý zdroj. Po jeho zásahu se začaly staré 1TB Samsungy kácet jak obilí v krupobití. Navíc se mi disky začaly odpojovat přesně poté, co jsem na ně přesunul původní zálohy, a tam jsem zjistil, že prostě nechci spoléhat na 2x RAID5 z 5 disků, ale raději RAID6 z deseti. Kapacitní matematika je stejná, ale data máte, i když odpadnou libovolné 2 disky, jen jen vhodné 2 disky, 1 z každého zpoolu.
No, naštěstí jsem tu zkušenost koupil „jen“ za cenu historie záloh a musel udělat komplet zálohu z nuly. Nervózní jsem byl jak pes, ale nakonec vlastně bez ztráty květinky.
Závěr
Když to shrnu, tak pro moje potřeby se ukázalo nejvhodnější toto:
- Deska ASUS A88XM, doplněná o PCIe Intel E1000, WOL přes onboard, data přes E1000
- CPU AMD A4-4000
- RAM 16 GB DDR3
- Řadič LSI SAS2008 9211-8i
- Systémové disky 2x ADATA SSD
- Datové disky 10x ST2000DM006 (8 připojeno přes řadič LSI, 2 přes řadič na desce)
- Zdroj Zalman 600W
- Skříň Fractal Design Node 801
- Linux Debian Jessie, kernel 3.16 (nezbytné pro podporu ZFS), potřebujete povolené repository backports
Systémový disk mám klasicky na EXT4 a Linux SW RAID1 nad GPT. Pro nové UEFI BIOS si vyhraďte oblast 512 MB typu EFI System (typ 1), zbytek je Linux RAID, extra oddíl pro swap nemám, vytvořil jsem swap jako soubor v rootu a pomocí swapiness řeším, že se používá jen v krajní nouzi.
Backup si pro pohodlí exportuju přes NFS, ale zálohu dělám jako vícegenerační rsync přes síť. Výkon přes NFS a lokální rsync byl diskutabilní a nechtělo se mi hrát si s renice, ionice. Takhle mám dedikovanou cache na vysílací i přijímací straně, ale také výhodu lokálního FS, když je třeba.