Bini ta' sistema NAS tad-dar irħas fuq Linux

Bini ta' sistema NAS tad-dar irħas fuq Linux

Jien, bħal ħafna utenti oħra tal-MacBook Pro, kont iffaċċjat bil-problema ta 'memorja interna insuffiċjenti. Biex inkun aktar preċiż, l-rMBP li użajt kuljum kien mgħammar b'SSD b'kapaċità ta' 256GB biss, li, naturalment, ma kienx biżżejjed għal żmien twil.

U meta, fuq kollox, bdejt nirrekordja filmati waqt it-titjiriet tiegħi, is-sitwazzjoni biss marret għall-agħar. Il-volum ta 'filmati ffilmjati wara titjiriet bħal dawn kien ta' 50+ GB, u l-fqir SSD tiegħi ta '256GB malajr imtela, u ġiegħlini nixtri drive estern ta' 1TB. Madankollu, wara sena, ma setgħetx aktar timmaniġġja l-ammont ta 'dejta li kont qed niġġenera, biex ma nsemmux in-nuqqas ta' redundancy u backup għamluha mhux adattata biex tospita informazzjoni importanti.

Għalhekk, f'ħin minnhom iddeċidejt li nibni NAS kbir bit-tama li din is-sistema ddum mill-inqas ftit snin mingħajr ma teħtieġ aġġornament ieħor.

Ktibt dan l-artiklu primarjament bħala tfakkira ta’ eżattament x’għamilt u kif għamilt f’każ li jkolli bżonn nerġa’ nagħmel. Nittama li tkun utli għalik ukoll jekk tiddeċiedi li tagħmel l-istess.

Forsi huwa aktar faċli li tixtri?

Allura, nafu dak li rridu nġibu, il-mistoqsija tibqa ': kif?

L-ewwel ħarist lejn is-soluzzjonijiet kummerċjali u ħares b'mod partikolari lejn Synology, li suppost kienet tipprovdi l-aqwa sistemi NAS tal-konsumatur fis-suq. Madankollu, l-ispiża ta 'dan is-servizz irriżulta li kienet pjuttost għolja. L-orħos sistema 4-bay tiswa $300+ u ma tinkludix hard drives. Barra minn hekk, il-mili intern ta 'tali kit innifsu mhuwiex partikolarment impressjonanti, li jqajjem dubji dwar il-prestazzjoni reali tiegħu.

Imbagħad ħsibt: għaliex ma nibnix server NAS jien stess?

Sib server adattat

Jekk se tgħaqqad server bħal dan, allura l-ewwelnett għandek bżonn issib il-ħardwer it-tajjeb. Server użat għandu jkun pjuttost adattat għal din il-bini, peress li mhux se jkollna bżonn ħafna prestazzjoni għall-kompiti tal-ħażna. Fost l-affarijiet meħtieġa, għandna ninnotaw ammont kbir ta 'RAM, diversi konnetturi SATA u karti tan-netwerk tajbin. Peress li s-server tiegħi se jaħdem fil-post tar-residenza permanenti tiegħi, il-livell tal-istorbju huwa importanti wkoll.

Bdejt it-tfittxija tiegħi fuq eBay. Għalkemm sibt ħafna Dell PowerEdge R410/R210 użati hemmhekk għal inqas minn $ 100, li kellhom esperjenza ta 'ħidma f'kamra tas-server, kont naf li dawn l-unitajiet 1U għamlu wisq storbju u ma kinux adattati għall-użu fid-dar. Bħala regola, is-servers tat-torri ħafna drabi huma inqas storbjużi, iżda, sfortunatament, kien hemm ftit minnhom fuq eBay, u kollha kienu jew għaljin jew taħt il-qawwa.

Il-post li jmiss biex infittex kien Craiglist, fejn sibt lil xi ħadd ibigħ HP ProLiant N40L użat għal $75 biss! Kont familjari ma 'dawn is-servers, li normalment jiswew madwar $ 300 saħansitra użati, għalhekk bgħatt email lill-bejjiegħ bit-tama li r-reklam kien għadu attiv. Wara li tgħallimt li dan kien il-każ, jien, mingħajr ma ħsibt darbtejn, mort San Mateo biex niġbor dan is-server, li mal-ewwel daqqa t'għajn żgur għoġni. Kellha xedd minimu u ħlief għal ftit trab, kollox kien kbir.

Bini ta' sistema NAS tad-dar irħas fuq Linux
Ritratt tas-server, immedjatament wara x-xiri

Hawn huma l-ispeċifikazzjonijiet għall-kit li xtrajt:

  • CPU: AMD Turion(tm) II Neo N40L Proċessur Dual-Core (64-bit)
  • RAM: 8 GB RAM mhux ECC (installat mis-sid preċedenti)
  • Flash: 4 GB USB Drive
  • Konnetturi SATA:4+1
  • NIC: NIC abbord ta' 1 Gbps

M'għandniex xi ngħidu, minkejja li għandha bosta snin, l-ispeċifikazzjoni ta 'dan is-server għadha superjuri għall-biċċa l-kbira tal-għażliet NAS fis-suq, speċjalment f'termini ta' RAM. Ftit aktar tard, saħansitra upgradejt għal 16 GB ECC b'daqs akbar tal-buffer u protezzjoni tad-dejta miżjuda.

Għażla hard drives

Issa għandna sistema ta 'ħidma eċċellenti u dak kollu li jibqa' huwa li tagħżel hard drives għaliha. Ovvjament, għal dak $ 75 sibt biss is-server innifsu mingħajr l-HDD, li ma ssorprendixni.

Wara li għamilt ftit riċerka, sibt li WD Red HDDs huma l-aktar adattati għat-tħaddim ta 'sistemi NAS 24/7. Biex nixtrihom, mort għand Amazon, fejn xtrajt 4 kopji ta’ 3 TB kull waħda. Bażikament, tista 'tqabbad kwalunkwe HDD li tippreferi, iżda kun żgur li huma tal-istess kapaċità u veloċità. Dan jgħinek tevita problemi possibbli ta 'prestazzjoni RAID fit-tul.

Setup tas-Sistema

Naħseb li ħafna se jużaw is-sistema għall-bini NAS tagħhom FreeNAS, u m'hemm xejn ħażin f'dan. Madankollu, minkejja l-possibbiltà li ninstalla din is-sistema fuq is-server tiegħi, ippreferejt nuża CentOS, peress li s-sistema ZFS fuq Linux hija inizjalment ippreparata għal ambjent ta 'produzzjoni, u b'mod ġenerali, il-ġestjoni ta' server Linux hija aktar familjari għalija. Barra minn hekk, ma kontx interessat fl-interface fancy u l-karatteristiċi pprovduti minn FreeNAS - l-array RAIDZ u l-qsim tal-AFP kienu biżżejjed għalija.

L-installazzjoni ta 'CentOS fuq USB hija pjuttost sempliċi - speċifika USB bħala s-sors tal-boot, u mat-tnedija l-wizard tal-installazzjoni jiggwidak fl-istadji kollha tiegħu.

RAID build

Wara li installajt b'suċċess CentOS, installajt ukoll ZFS fuq Linux wara l-elenkat passi hawn.

Ladarba dan il-proċess tlesta, għabbejt il-modulu ZFS Kernel:

$ sudo modprobe zfs

U ħoloq il-firxa RAIDZ1 bl-użu tal-kmand 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

Jekk jogħġbok innota li hawnhekk qed nuża l-IDs tal-hard drives minflok l-ismijiet tal-wiri tagħhom (sdx) biex jitnaqqas iċ-ċans li jonqsu li jintramaw wara l-ibbutjar minħabba bidla ta 'ittra.

Żidt ukoll ZIL u L2ARC cache li taħdem fuq SSD separat, qasmet dak l-SSD f'żewġ diviżorji: 5GB għal ZIL u l-bqija għal L2ARC.

Fir-rigward ta 'RAIDZ1, jista' jiflaħ falliment tad-diska 1. Ħafna jargumentaw li din l-għażla tal-pool m'għandhiex tintuża minħabba l-probabbiltà li t-tieni disk ifalli matul il-proċess tal-bini mill-ġdid tar-RAID, li jista 'jwassal għal telf ta' data. Injorajt din ir-rakkomandazzjoni, peress li b'mod regolari għamilt kopji ta 'backup ta' dejta importanti fuq apparat remot, u n-nuqqas ta 'anki l-firxa sħiħa tista' taffettwa biss id-disponibbiltà tad-dejta, iżda mhux is-sigurtà tagħha. Jekk ma jkollokx il-ħila li tagħmel backups, allura jkun aħjar li tuża soluzzjonijiet bħal RAIDZ2 jew RAID10.

Tista' tivverifika li l-ħolqien tal-pool kien ta' suċċess billi tħaddem:

$ sudo zpool status

и

$ sudo zfs list
NAME                               USED  AVAIL  REFER  MOUNTPOINT
data                               510G  7.16T   140K  /mnt/data

B'mod awtomatiku, ZFS jimmonta l-pool maħluq ġdid direttament fuq /, li ġeneralment mhix mixtieqa. Tista' tibdel dan billi tmexxi:

zfs set mountpoint=/mnt/data data

Minn hawn tista' tagħżel li toħloq sett ta' dejta wieħed jew aktar biex taħżen id-dejta. Ħloqt tnejn, waħda għall-backup tal-Magni tal-Ħin u waħda għall-ħażna tal-fajls maqsuma. Illimitajt id-daqs tas-sett tad-dejta tal-Magni tal-Ħin għal kwota ta '512 GB biex jipprevjeni t-tkabbir bla tarf tiegħu.

Ottimizzazzjoni

zfs set compression=on data

Dan il-kmand jippermetti l-appoġġ tal-kompressjoni ZFS. Il-kompressjoni tuża qawwa minima tas-CPU, iżda tista 'ttejjeb b'mod sinifikanti l-fluss I/O, għalhekk hija dejjem rakkomandata.

zfs set relatime=on data

B'dan il-kmand innaqqsu n-numru ta 'aġġornamenti għal atimebiex titnaqqas il-ġenerazzjoni tal-IOPS meta taċċessa l-fajls.

B'mod awtomatiku, ZFS fuq Linux juża 50% tal-memorja fiżika għall-ARC. Fil-każ tiegħi, meta n-numru totali ta 'fajls huwa żgħir, dan jista' jiżdied b'mod sikur għal 90% peress li l-ebda applikazzjonijiet oħra ma jkunu qed jaħdmu fuq is-server.

$ cat /etc/modprobe.d/zfs.conf 
options zfs zfs_arc_max=14378074112

Imbagħad bl-użu arc_summary.py Tista' tivverifika li l-bidliet daħlu fis-seħħ:

$ 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
...

Twaqqif ta' kompiti rikorrenti

jien kont systemd-zpool-scrub biex jiġi kkonfigurat tajmers systemd biex iwettqu tindif darba fil-ġimgħa u zfs-auto-snapshot biex awtomatikament toħloq snapshots kull 15-il minuta, siegħa u ġurnata.

Installazzjoni Netatalk

nettalk hija implimentazzjoni ta' sors miftuħ ta' AFP (Protokoll tal-Filing tat-tuffieħ). Wara struzzjonijiet uffiċjali ta 'installazzjoni għal CentOS, litteralment irċevejt pakkett RPM immuntat u installat fi ftit minuti biss.

Setup tal-konfigurazzjoni

$ 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

innota li vol dbnest huwa titjib kbir fil-każ tiegħi, peress li b'mod awtomatiku Netatalk jikteb id-database CNID fl-għerq tas-sistema tal-fajls, li xejn ma kien mixtieq peress li s-sistema tal-fajls prinċipali tiegħi taħdem fuq USB u għalhekk hija relattivament bil-mod. Tixgħel vol dbnest jirriżulta fl-iffrankar tad-database fl-għerq tal-Volum, li f'dan il-każ jappartjeni għall-pool ZFS u diġà huwa ordni ta 'kobor aktar produttiv.

Attivazzjoni tal-portijiet fil-Firewall

$ 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
Jekk kollox kien ikkonfigurat b'mod korrett, il-magna tiegħek għandha tidher fil-Finder, u l-Magni tal-Ħin għandha taħdem ukoll.

Settings addizzjonali
Monitoraġġ SMART

Huwa rakkomandat li tissorvelja l-istatus tad-diski tiegħek biex tevita l-falliment tad-disk.

$ sudo yum install smartmontools
$ sudo systemctl start smartd

Daemon għal UPS

Tissorvelja l-ħlas tal-UPS APC u titfi s-sistema meta l-ħlas isir baxx b'mod kritiku.

$ sudo yum install epel-release
$ sudo yum install apcupsd
$ sudo systemctl enable apcupsd

Aġġornament tal-ħardwer

Ġimgħa wara li twaqqaf is-sistema, bdejt insir dejjem aktar imħasseb dwar il-memorja mhux ECC tas-server. Barra minn hekk, fil-każ ta 'ZFS, memorja addizzjonali għall-buffering se tkun utli ħafna. Allura mort lura għall-Amazon fejn xtrajt 2x Kingston DDR3 8GB ECC RAM għal $80 kull wieħed u biddel id-desktop RAM installat mis-sid preċedenti. Is-sistema bdiet l-ewwel darba mingħajr problemi, u għamilt ċert li l-appoġġ ECC ġie attivat:

$ dmesg | grep ECC
[   10.492367] EDAC amd64: DRAM ECC enabled.

Riżultat

Kont kuntent ħafna bir-riżultat. Issa nista' nżomm kontinwament il-konnessjoni LAN 1Gbps tas-server okkupata billi nikkupja l-fajls, u Time Machine taħdem bla difetti. Għalhekk, b'mod ġenerali, jien kuntent bis-setup.

L-ispiża totali:

  1. 1 * HP ProLiant N40L = $75
  2. 2 * 8 GB ECC RAM = $174
  3. 4 * WD Red 3 TB HDD = $440

B'kollox = $ 689

Issa nista’ ngħid li l-prezz kien worth it.

Inti tagħmel is-servers NAS tiegħek?

Bini ta' sistema NAS tad-dar irħas fuq Linux

Bini ta' sistema NAS tad-dar irħas fuq Linux

Sors: www.habr.com

Żid kumment