Sok más MacBook Pro felhasználóhoz hasonlóan én is szembesültem az elégtelen belső memória problémájával. Pontosabban, az általam naponta használt rMBP mindössze 256 GB kapacitású SSD-vel volt felszerelve, ami természetesen sokáig nem volt elég.
És amikor minden más mellett elkezdtem videózni a repüléseim során, a helyzet csak romlott. Az ilyen repülések után felvett felvételek mennyisége 50+ GB volt, és a szegényes 256 GB-os SSD-m nagyon hamar betelt, így kénytelen voltam egy külső 1 TB-os meghajtót vásárolni. Egy év után azonban már nem tudta kezelni az általam generált adatmennyiséget, nem beszélve a redundancia és a biztonsági mentés hiánya miatt, ami alkalmatlanná tette fontos információk tárolására.
Tehát egy ponton úgy döntöttem, hogy egy nagy NAS-t építek, abban a reményben, hogy ez a rendszer legalább néhány évig kitart anélkül, hogy újabb frissítésre lenne szüksége.
Ezt a cikket elsősorban azért írtam, hogy emlékeztessem arra, hogy pontosan mit és hogyan csináltam, arra az esetre, ha újra meg kell tennem. Remélem, neked is hasznos lesz, ha te is így döntesz.
Talán könnyebb vásárolni?
Tehát tudjuk, mit akarunk elérni, a kérdés továbbra is fennáll: hogyan?
Először a kereskedelmi megoldásokat néztem meg, és különös tekintettel a Synologyra, amely a piacon a legjobb fogyasztói szintű NAS rendszereket hivatott biztosítani. Ennek a szolgáltatásnak a költsége azonban meglehetősen magasnak bizonyult. A legolcsóbb 4-rekeszes rendszer 300 dollár feletti ára, és nem tartalmaz merevlemezeket. Ezenkívül maga az ilyen készlet belső kitöltése nem különösebben lenyűgöző, ami megkérdőjelezi valós teljesítményét.
Aztán arra gondoltam: miért nem építek magamnak NAS szervert?
Megfelelő szerver keresése
Ha ilyen szervert szeretne összeállítani, akkor először meg kell találnia a megfelelő hardvert. Egy használt szervernek megfelelőnek kell lennie ehhez a felépítéshez, mivel a tárolási feladatokhoz nem lesz szükségünk nagy teljesítményre. A szükséges dolgok között meg kell említeni a nagy mennyiségű RAM-ot, több SATA csatlakozót és a jó hálózati kártyákat. Mivel a szerverem az állandó lakhelyemen fog működni, a zajszint is számít.
Elkezdtem a keresést az eBay-en. Habár rengeteg használt Dell PowerEdge R410/R210-et találtam ott 100 dollár alatt, kiszolgálóhelyiségben való munkavégzés tapasztalatával tudtam, hogy ezek az 1U egységek túl sok zajt adnak, és otthoni használatra nem alkalmasak. Általános szabály, hogy a toronyszerverek gyakran kevésbé zajosak, de sajnos kevés volt belőlük az eBay-en, és mindegyik vagy drága, vagy alulteljesített.
A következő hely a Craiglist volt, ahol találtam valakit, aki használt HP ProLiant N40L-t árul mindössze 75 dollárért! Ismertem ezeket a szervereket, amelyek általában 300 dollárba kerülnek még használtan is, ezért e-mailt küldtem az eladónak abban a reményben, hogy a hirdetés még mindig aktív. Miután megtudtam, hogy ez a helyzet, kétszeri gondolkodás nélkül elindultam San Mateóba, hogy felvegyem ezt a szervert, ami első pillantásra határozottan tetszett. Minimális kopás volt, és egy kis portól eltekintve minden más remek volt.
Fotó a szerverről, közvetlenül a vásárlás után
Itt vannak a vásárolt készlet specifikációi:
- CPU: AMD Turion(tm) II Neo N40L kétmagos processzor (64 bites)
- RAM: 8 GB nem ECC RAM (az előző tulajdonos telepítette)
- Vaku: 4 GB USB meghajtó
- SATA csatlakozók:4+1
- NIC: 1 Gbps beépített NIC
Mondanom sem kell, annak ellenére, hogy több éves, ennek a szervernek a specifikációi még mindig felülmúlják a legtöbb NAS opciót a piacon, különösen ami a RAM-ot illeti. Kicsit később még 16 GB-os ECC-re is frissítettem, megnövelt puffermérettel és fokozott adatvédelemmel.
Merevlemezek kiválasztása
Most egy kiválóan működő rendszerünk van, és már csak merevlemezeket kell kiválasztani hozzá. Nyilván ezért a 75 dollárért csak magát a szervert kaptam meg HDD nélkül, ami nem lepett meg.
Egy kis kutatás után rájöttem, hogy a WD Red HDD-k a legalkalmasabbak a NAS-rendszerek 24/7-es futtatására. Megvásárlásukhoz az Amazonhoz fordultam, ahol 4 darab 3 TB-os példányt vásároltam. Alapvetően bármilyen HDD-t csatlakoztathat, de ügyeljen arra, hogy azok kapacitása és sebessége azonos legyen. Ez segít elkerülni az esetleges RAID teljesítményproblémákat hosszú távon.
Rendszer telepítés
Úgy gondolom, hogy sokan fogják használni a rendszert a NAS-építéseikhez
A CentOS USB-re történő telepítése meglehetősen egyszerű – csak adja meg az USB-t rendszerindítási forrásként, és indításkor a telepítővarázsló végigvezeti Önt annak minden szakaszán.
RAID felépítés
A CentOS sikeres telepítése után a felsoroltak szerint telepítettem a ZFS-t Linuxra is
Miután ez a folyamat befejeződött, betöltöttem a ZFS Kernel modult:
$ sudo modprobe zfs
És létrehozta a RAIDZ1 tömböt a paranccsal zpool
:
$ sudo zpool create data raidz1 ata-WDC_WD30EFRX-68AX9N0_WD-WMC1T0609145 ata-WDC_WD30EFRX-68AX9N0_WD-WMC1T0609146 ata-WDC_WD30EFRX-68AX9N0_WD-WMC1T0609147 ata-WDC_WD30EFRX-68AX9N0_WD-WMC1T0609148
$ sudo zpool add data log ata-SanDisk_Ultra_II_240GB_174204A06001-part5
$ sudo zpool add data cache ata-SanDisk_Ultra_II_240GB_174204A06001-part6
Kérjük, vegye figyelembe, hogy itt a merevlemezek azonosítóit használom a megjelenített nevek helyett (sdx
).
Hozzáadtam egy külön SSD-n futó ZIL-t és L2ARC gyorsítótárat is, az SSD-t két partícióra osztottam: 5 GB a ZIL-hez, a többi pedig L2ARC-hez.
Ami a RAIDZ1-et illeti, 1 lemezhibát is kibír. Sokan azzal érvelnek, hogy ezt a készletbeállítást nem szabad használni, mert fennáll a valószínűsége annak, hogy a második lemez meghibásodik a RAID újraépítése során, ami adatvesztéshez vezethet. Ezt az ajánlást figyelmen kívül hagytam, mivel a fontos adatokról rendszeresen biztonsági másolatot készítettem egy távoli eszközön, és akár a teljes tömb meghibásodása csak az adatok elérhetőségét befolyásolhatja, biztonságát azonban nem. Ha nem tud biztonsági másolatot készíteni, akkor jobb, ha olyan megoldásokat használ, mint a RAIDZ2 vagy RAID10.
A következő futtatásával ellenőrizheti, hogy a készlet létrehozása sikeres volt-e:
$ sudo zpool status
и
$ sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
data 510G 7.16T 140K /mnt/data
Alapértelmezés szerint a ZFS közvetlenül csatolja az újonnan létrehozott készletet /
, ami általában nem kívánatos. Ezt a következő futtatással módosíthatja:
zfs set mountpoint=/mnt/data data
Innen kiválaszthatja, hogy egy vagy több adatkészletet hozzon létre az adatok tárolására. Létrehoztam kettőt, egyet a Time Machine biztonsági mentéséhez, egyet pedig a megosztott fájltároláshoz. A Time Machine adatkészlet méretét 512 GB-os kvótára korlátoztam, hogy megakadályozzam a végtelen növekedést.
Optimalizálás
zfs set compression=on data
Ez a parancs engedélyezi a ZFS-tömörítés támogatását. A tömörítés minimális CPU-teljesítményt használ, de jelentősen javíthatja az I/O átviteli sebességet, ezért mindig ajánlott.
zfs set relatime=on data
Ezzel a paranccsal csökkentjük a frissítések számát atime
hogy csökkentse az IOPS-generációt a fájlok elérésekor.
Alapértelmezés szerint a Linuxon futó ZFS a fizikai memória 50%-át használja az ARC számára. Az én esetemben, amikor a fájlok teljes száma kicsi, ez biztonságosan 90%-ra növelhető, mivel más alkalmazás nem fog futni a szerveren.
$ cat /etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=14378074112
Aztán használva
$ python arc_summary.py
...
ARC Size: 100.05% 11.55 GiB
Target Size: (Adaptive) 100.00% 11.54 GiB
Min Size (Hard Limit): 0.27% 32.00 MiB
Max Size (High Water): 369:1 11.54 GiB
...
Ismétlődő feladatok beállítása
használtam
A Netatalk telepítése
Konfiguráció beállítása
$ cat /etc/netatalk/afp.conf
[datong@Titan ~]$ cat /etc/netatalk/afp.conf
;
; Netatalk 3.x configuration file
;
[Global]
; Global server settings
mimic model = TimeCapsule6,106
; [Homes]
; basedir regex = /home
; [My AFP Volume]
; path = /path/to/volume
; [My Time Machine Volume]
; path = /path/to/backup
; time machine = yes
[Datong's Files]
path = /mnt/data/datong
valid users = datong
[Datong's Time Machine Backups]
path = /mnt/data/datong_time_machine_backups
time machine = yes
valid users = datong
Kérjük, vegye figyelembe, hogy a vol dbnest
Jelentős előrelépés az esetemben, mivel a Netatalk alapértelmezés szerint a CNID adatbázist a fájlrendszer gyökerébe írja, ami egyáltalán nem volt kívánatos, mivel a fő fájlrendszerem USB-n fut, és ezért viszonylag lassú. Bekapcsolni vol dbnest
azt eredményezi, hogy az adatbázist a Volume gyökérbe mentjük, ami jelen esetben a ZFS-készlethez tartozik, és már egy nagyságrenddel produktívabb.
Portok engedélyezése a tűzfalban
$ sudo firewall-cmd --permanent --zone=public --add-service=mdns
$ sudo firewall-cmd --permanent --zone=public --add-port=afpovertcp/tcp
sudo firewall-cmd --permanent --zone=public --add-port=afpovertcp/tcp
Ha minden helyesen volt beállítva, akkor a gépednek meg kell jelennie a Finderben, és a Time Machine-nek is működnie kell.
További beállítások
SMART felügyelet
Javasoljuk, hogy figyelje a lemezek állapotát a lemezhibák elkerülése érdekében.
$ sudo yum install smartmontools
$ sudo systemctl start smartd
Démon UPS-hez
Figyeli az APC UPS töltöttségét, és kikapcsolja a rendszert, ha a töltés kritikusan alacsony lesz.
$ sudo yum install epel-release
$ sudo yum install apcupsd
$ sudo systemctl enable apcupsd
Hardver frissítés
Egy héttel a rendszer beállítása után egyre jobban aggódtam a szerver nem ECC memóriája miatt. Ezenkívül a ZFS esetében nagyon hasznos lesz a puffereléshez szükséges kiegészítő memória. Így hát visszamentem az Amazonhoz, ahol 2x Kingston DDR3 8GB ECC RAM-ot vásároltam darabonként 80 dollárért, és kicseréltem az előző tulajdonos által telepített asztali RAM-ot. A rendszer először minden probléma nélkül elindult, és megbizonyosodtam arról, hogy az ECC támogatás aktiválva van:
$ dmesg | grep ECC
[ 10.492367] EDAC amd64: DRAM ECC enabled.
Eredmény
Nagyon elégedett voltam az eredménnyel. Mostantól a szerver 1Gbps LAN kapcsolatát folyamatosan lefoglalhatom fájlok másolásával, a Time Machine pedig hibátlanul működik. Szóval összességében elégedett vagyok a beállítással.
A teljes költség:
- 1 * HP ProLiant N40L = 75 USD
- 2 * 8 GB ECC RAM = 174 USD
- 4 * WD Red 3 TB HDD = 440 USD
Összességében = $ 689
Most már elmondhatom, hogy megérte az árát.
Csinálsz saját NAS szervereket?
Forrás: will.com