Ik, lykas in protte oare MacBook Pro-brûkers, waard konfrontearre mei it probleem fan ûnfoldwaande ynterne ûnthâld. Om krekter te wêzen, wie de rMBP dy't ik deistich brûkte, foarsjoen fan in SSD mei in kapasiteit fan mar 256GB, wat, fansels, lang net genôch wie.
En doe't ik boppe al it oare begon fideo's op te nimmen tidens myn flechten, waard de situaasje allinich slimmer. It folume fan byldmateriaal filme nei sokke flechten wie 50+ GB, en myn earme 256GB SSD hiel gau fol, twingt my te keapjen in eksterne 1TB drive. Nei ien jier koe it lykwols net mear omgean mei de hoemannichte gegevens dy't ik genereare, om net te sprekken fan it gebrek oan redundânsje en reservekopy makke it net geskikt foar it hostjen fan wichtige ynformaasje.
Dat, op in stuit besleat ik in grutte NAS te bouwen yn 'e hope dat dit systeem op syn minst in pear jier soe duorje sûnder in oare upgrade te fereaskje.
Ik skreau dit artikel yn it foarste plak as in oantinken oan krekt wat ik dien en hoe't ik die it yn gefal ik moat dwaan it nochris. Ik hoopje dat it ek nuttich foar jo sil wêze as jo beslute itselde te dwaan.
Miskien is it makliker om te keapjen?
Dat, wy witte wat wy wolle krije, de fraach bliuwt: hoe?
Ik seach earst nei kommersjele oplossingen en seach benammen nei Synology, dy't de bêste NAS-systemen foar konsumintklasse op 'e merke soe leverje. Lykwols, de kosten fan dizze tsjinst die bliken frij heech. It goedkeapste systeem mei 4 baaien kostet $ 300+ en omfettet gjin hurde skiven. Dêrneist is de ynterne vulling fan sa'n kit sels net bysûnder yndrukwekkend, wat syn echte prestaasjes yn twifel bringt.
Doe tocht ik: wêrom net sels in NAS-tsjinner bouwe?
It finen fan in geskikte tsjinner
As jo sa'n tsjinner sille gearstalle, dan moatte jo earst de juste hardware fine. In brûkte tsjinner soe frij geskikt wêze moatte foar dizze build, om't wy net folle prestaasjes nedich binne foar opslachtaken. Under de nedige dingen moatte wy in grut bedrach fan RAM, ferskate SATA Anschlüsse en goede netwurk kaarten. Sûnt myn tsjinner sil wurkje yn it plak fan myn permaninte wenplak, it lûd nivo is ek fan belang.
Ik begon myn sykjen op eBay. Hoewol't ik fûn in soad brûkte Dell PowerEdge R410 / R210 dêr foar under $ 100, hawwende ûnderfining wurkjen yn in tsjinner keamer, Ik wist dat dizze 1U ienheden makke tefolle lûd en wiene net geskikt foar thús gebrûk. As regel, toer tsjinners binne faak minder lawaaierich, mar, spitigernôch, der wiene pear fan harren op eBay, en se wiene allegear òf djoer of underpowered.
It folgjende plak om te sjen wie Craiglist, wêr't ik ien fûn dy't in brûkte HP ProLiant N40L ferkocht foar mar $ 75! Ik wie bekend mei dizze servers, dy't gewoanlik sawat $ 300 kostje sels brûkt, dus ik stjoerde de ferkeaper in e-post yn 'e hope dat de advertinsje noch aktyf wie. Nei't ik learde dat dit it gefal wie, gie ik, sûnder twa kear nei te tinken, nei San Mateo om dizze tsjinner op te heljen, wat my op it earste each definityf befredigde. It hie minimale wearze en útsein in bytsje stof, wie al it oare geweldich.
Foto fan de tsjinner, fuortendaliks nei oankeap
Hjir binne de spesifikaasjes foar it kit dat ik kocht:
- CPU: AMD Turion(tm) II Neo N40L Dual-Core-prosessor (64-bit)
- RAAM: 8 GB net-ECC RAM (ynstallearre troch eardere eigner)
- Flits: 4 GB USB Drive
- SATA Connectors:4+1
- NIC: 1 Gbps on-board NIC
Unmooglik om te sizzen, nettsjinsteande it feit dat se ferskate jierren âld binne, is de spesifikaasje fan dizze tsjinner noch altyd superieur oan de measte NAS-opsjes op 'e merke, benammen yn termen fan RAM. In bytsje letter haw ik sels opwurdearre nei 16 GB ECC mei in ferhege buffergrutte en ferhege gegevensbeskerming.
Selektearje hurde skiven
No hawwe wy in poerbêst wurkjend systeem en alles wat bliuwt is om hurde skiven foar te selektearjen. Fansels krige ik foar dy $ 75 allinich de tsjinner sels sûnder de HDD, wat my net fernuvere.
Nei't ik in bytsje ûndersyk dien haw, fûn ik út dat WD Red HDD's it bêste binne foar it útfieren fan NAS-systemen 24/7. Om se te keapjen draaide ik my nei Amazon, wêr't ik 4 eksimplaren fan elk 3 TB kocht. Yn prinsipe kinne jo elke HDD ferbine dy't jo leaver hawwe, mar soargje derfoar dat se deselde kapasiteit en snelheid hawwe. Dit sil jo helpe om mooglike RAID-prestaasjesproblemen op 'e lange termyn te foarkommen.
Systeem opset
Ik tink dat in protte it systeem sille brûke foar har NAS-builds
It ynstallearjen fan CentOS op USB is frij ienfâldich - spesifisearje gewoan USB as de bootboarne, en by it starten sil de ynstallaasjewizard jo liede troch al har stadia.
RAID bouwe
Nei suksesfolle ynstallaasje fan CentOS, haw ik ZFS ek ynstalleare op Linux nei de neamde
Ienris dit proses wie foltôge, haw ik de ZFS Kernel-module laden:
$ sudo modprobe zfs
En makke de RAIDZ1-array mei it kommando 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
Tink derom dat ik hjir de ID's fan 'e hurde skiven brûke ynstee fan har werjeftenammen (sdx
) om de kâns te ferminderjen dat se nei it opstarten net kinne mount troch in letterferoaring.
Ik haw ek ZIL- en L2ARC-cache tafoege dy't rint op in aparte SSD, en splitte dy SSD yn twa partysjes: 5GB foar ZIL en de rest foar L2ARC.
Wat RAIDZ1 oanbelanget, kin it 1 skiiffout ferneare. In protte stelle dat dizze swimbadopsje net brûkt wurde moat fanwegen de kâns dat de twadde skiif mislearret tidens it RAID-werbouproses, wat kin liede ta gegevensferlies. Ik negearre dizze oanbefelling, om't ik regelmjittich reservekopyen makke fan wichtige gegevens op in apparaat op ôfstân, en it mislearjen fan sels de heule array kin allinich de beskikberens fan 'e gegevens beynfloedzje, mar net har feiligens. As jo net de mooglikheid hawwe om backups te meitsjen, dan soe it better wêze om oplossingen te brûken lykas RAIDZ2 of RAID10.
Jo kinne ferifiearje dat it meitsjen fan it swimbad suksesfol wie troch te rinnen:
$ sudo zpool status
и
$ sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
data 510G 7.16T 140K /mnt/data
Standert monteart ZFS it nij oanmakke swimbad direkt oan /
, dat is oer it algemien net winske. Jo kinne dit feroarje troch te rinnen:
zfs set mountpoint=/mnt/data data
Hjirwei kinne jo kieze om ien of mear datasets te meitsjen om de gegevens op te slaan. Ik haw twa makke, ien foar Time Machine-backup en ien foar dielde triem opslach. Ik beheinde de grutte fan 'e Time Machine-dataset ta in kwota fan 512 GB om syn einleaze groei te foarkommen.
Optimalisaasje
zfs set compression=on data
Dit kommando makket ZFS-kompresje-stipe mooglik. Kompresje brûkt minimale CPU-krêft, mar kin de I / O-trochput signifikant ferbetterje, dus wurdt altyd oanrikkemandearre.
zfs set relatime=on data
Mei dit kommando ferminderje wy it oantal updates nei atime
om IOPS-generaasje te ferminderjen by tagong ta bestannen.
Standert brûkt ZFS op Linux 50% fan fysyk ûnthâld foar ARC. Yn myn gefal, as it totale oantal bestannen lyts is, kin dit feilich ferhege wurde nei 90%, om't gjin oare applikaasjes op 'e tsjinner sille rinne.
$ cat /etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=14378074112
Dan brûke
$ 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
...
It opsetten fan weromkommende taken
ik brûkte
Ynstallaasje fan Netatalk
Konfiguraasje opset
$ 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
notysje dat vol dbnest
is in grutte ferbettering yn myn gefal, om't standert Netatalk de CNID-database skriuwt nei de root fan it bestânsysteem, wat hielendal net winsklik wie, om't myn haadbestânsysteem op USB rint en dêrom relatyf stadich is. Oan dwaan vol dbnest
resultearret yn it bewarjen fan de databank yn de Volume root, dy't yn dit gefal heart by de ZFS pool en is al in folchoarder fan grutte mear produktyf.
It ynskeakeljen fan havens yn 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=publyk --add-port=afpovertcp/tcp
As alles goed konfigureare is, soe jo masine moatte ferskine yn 'e Finder, en Time Machine soe ek moatte wurkje.
Oanfoljende ynstellings
SMART monitoring
It is oan te rieden om de status fan jo skiven te kontrolearjen om skiiffalen te foarkommen.
$ sudo yum install smartmontools
$ sudo systemctl start smartd
Daemon foar UPS
Kontrolearret de lading fan 'e APC UPS en skeakelet it systeem út as de lading kritysk leech wurdt.
$ sudo yum install epel-release
$ sudo yum install apcupsd
$ sudo systemctl enable apcupsd
Hardware upgrade
In wike nei it ynstellen fan it systeem begon ik hieltyd mear soargen te wurden oer it net-ECC-ûnthâld fan 'e tsjinner. Derneist, yn it gefal fan ZFS, sil ekstra ûnthâld foar buffering heul nuttich wêze. Dat ik gie werom nei Amazon wêr't ik 2x Kingston DDR3 8GB ECC RAM kocht foar $ 80 elk en ferfong it buroblêd RAM ynstalleare troch de foarige eigner. It systeem boote de earste kear sûnder problemen, en ik soarge derfoar dat ECC-stipe wie aktivearre:
$ dmesg | grep ECC
[ 10.492367] EDAC amd64: DRAM ECC enabled.
resultaat
Ik wie tige bliid mei it resultaat. No kin ik de 1Gbps LAN-ferbining fan 'e tsjinner konstant dwaande hâlde troch bestannen te kopiearjen, en Time Machine wurket perfekt. Dus, oer it algemien, bin ik bliid mei de opset.
De totale kosten:
- 1 * HP ProLiant N40L = $75
- 2 * 8 GB ECC RAM = $ 174
- 4 * WD Red 3 TB HDD = $440
Totaal = $ 689
No kin ik sizze dat de priis it wurdich wie.
Meitsje jo jo eigen NAS-tsjinners?
Boarne: www.habr.com