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í­the­zett 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ú.

Infografika: NAS architektúra és ZFS felépítés

ZFS alapjai - Poolok és VDEV-k - Tesztelés, konfiguráció és bővítés

tags: #nas #epites #linuxal

Népszerű bejegyzések: