Linux-szal épített NAS: személyes utazás egy megbízható helyi adattároló felé
A cikk fő témája a NAS építésének folyamata Linux-alapokon, a kezdeti kihívásoktól egészen a stabil, hálózatban megosztott adattároló rendszerig. Bemutatja a hardver kiválasztását, a szoftveres konfigurációkat, a ZFS alapú adattárolást, a biztonsági mentések szerepét, továbbá megvitatja a felhő kontra helyi tárolás előnyeit és hátrányait. A történet középpontjában az állandó lakóhelyen működő, halk és energiatakarékos NAS megvalósítása áll, amely hosszú távon megbízható tárhelyet nyújt a felhasználó adatai számára.
Rövid áttekintés a kiindulási helyzetről
Az év elején vásárolt NAS-t nem láttam az adott környezetben, míg korábban, Linux Mint 18.3 alatt szó nélkül felismerte. A NAS-szolgáltatások összehasonlítása során felmerül a kérdés: hogyan lehet úgy megtervezni egy helyi adattárolót, hogy az felhő nélkül, megbízható legyen, és hosszú távon megérje a befektetés?
Szemléletmód: felhő kontra helyi adattárolás
A felhős tárolás előnye, hogy bárki számára könnyen elérhető és „csak működik”, de költsége folyamatosan növekszik, és nem garantálható az adatok örökös biztonsága. A NAS célja az adatok tárolása, és minden más funkció ezen alapul vagy ezt egészíti ki. A NAS‑típussal kapcsolatban gyakori megfigyelés, hogy egy önálló szerver és egy készíthezett NAS között az alapszolgáltatások elérhetők lehetnek mindkettőben. A cikk szerint a traditionális helyi adattárolások felé való visszajutás erőltetett volt, és a döntés a saját NAS felépítésére esett.
Hardver kiválasztása: mit érdemes keresni?
- Megbízható használt szerverek megfelelő teljesítménnyel: a nagy memóriamennyiség, több SATA csatlakozó és jó hálózati kártya kiemelt fontosságú.
- A zajszint és a megbízhatóság otthoni használat esetén kritikus tényező.
- Az 1U nagy zajt és korlátozott bővíthetőséget jelenthet, így toronyszerverek kerülendőek otthoni környezetben.
Az egyik megoldás egy HP ProLiant N40L használt szerver volt, amely jó kiindulópontot nyújtott, és később ECC RAM-mal bővült. A kiválasztott processzor AMD Turion II Neo N40L kétmagos, és 8 GB nem ECC RAM állt rendelkezésre, amelyet később 16 GB ECC-re frissítettek.
Merevlemezek kiválasztása
A NAS hosszú távú megbízhatóságához WD Red HDD-k kerültek kiválasztásra, mivel ezek kifejezetten 24/7 üzemre készültek. Négy darab, 3 TB-os példányt vásároltak az azonosítás és teljesítmény érdekében. Fontos, hogy a lemezek kapacitása és sebessége egyeztetett legyen a RAID-felépítéshez.
Rendszer telepítése és fájlrendszer
Alapértelmezés szerint a FreeNAS is gyakran használt lehetőség, de a cikkben a CentOS-alapú megoldást részesítették előnyben. A ZFS fájlrendszer használata kiemelt szerepet kapott, a ZFS készletet a / illetve külön adatkészletekre osztották. Fontos volt a ZIL (ZFS Intent Log) és az L2ARC gyorsítótár használata SSD-n, a teljesítmény javítása érdekében. A parancs például a következő volt: zpool add data cache ata-SanDisk_Ultra_II_240GB_174204A06001-part6.
A RAIDZ1 konfiguráció 1 lemez meghibásodása esetén is lehetővé teszi az adatok védelmét, de az írási teljesítmény és a második lemez meghibásodásának kockázata miatt a biztonsági mentések kiemelten fontosak. A fájlrendszer csatolási pontját gyakran a /mnt/data alatt lehet elérni, amit a zfs set mountpoint=data parancs segítségével módosítottak.
Adatkészletek és tömörítés
- Két adatkészletet hoztak létre: egyet a Time Machine biztonsági mentéséhez, egyet a megosztott fájltároláshoz.
- A Time Machine adatkészlet kvótája 512 GB volt a végtelen növekedés megakadályozására.
- A tömörítés engedélyezése a zfs set compression=on data parancs kiadásával történt, ami CPU-költsége minimális, de jelentős I/O gyorsulást hoz.
Atime és teljesítmény
A relatime engedélyezésével csökkenthető az IOPS-generáció a fájlok elérésekor. A ZFS be van kapcsolva Linux alatt, és az ARC 50% körüli memóriahasználata figyelhető meg a fizikai RAMból.
Rendszeres karbantartás és automatizálás
- Systemd-szkript a zpool-scrub heti egy alkalomra ütemezéséhez.
- zfs-auto-snapshot automatizált pillanatfelvételek készítésére 15 percenként, 1 óránként és 1 naponként.
Hálózati megosztások és AFP támogatás
A Netatalk telepítése az AFP protokoll támogatásáért történt. Az alapértelmezett CNID adatbázis problémáit elkerülendő a CNID adatbázist a fájlrendszer gyökerébe írja, ami nem volt kívánatos egy USB-n futó fő fájlrendszer esetében.
Hardver bővítése és hibaelhárítás
Egy idő után az ECC memória hiánya aggasztóvá vált. Ennek következtében a RAM-ot 2× 8 GB ECC modulokra cserélték, és a memória- és I/O teljesítmény jelentősen javult. A szerver 1 Gbps LAN kapcsolaton folyamatosan leköti a hálózati forgalmat fájlok másolásakor, és a Time Machine hibátlanul működik.
Összegzés: miért éri meg egy okosan megtervezett Linux-alapú NAS?
A történet rávilágít arra, hogy a megfelelő hardver kiválasztása, a ZFS-alapú adattároló vezetése és a megfelelő szoftveres beállításokkal egy otthoni NAS is akár évekig is stabil, gyors és költséghatékony megoldást nyújthat a személyes adatokhoz. A havi felhőszolgáltatási díjak és a gyorsan növekvő adatmennyiség miatt érdemes mérlegelni a helyi tárolást, amely a saját irányítás alatt áll, és amelynél a biztonsági mentések és a redundancia megtervezése kulcsfontosságú.

