Unë, si shumë përdorues të tjerë të MacBook Pro, u përballa me problemin e kujtesës së brendshme të pamjaftueshme. Për të qenë më të saktë, rMBP që përdorja çdo ditë ishte e pajisur me një SSD me një kapacitet prej vetëm 256 GB, e cila, natyrisht, nuk ishte e mjaftueshme për një kohë të gjatë.
Dhe kur, mbi gjithçka tjetër, fillova të regjistroja video gjatë fluturimeve të mia, situata vetëm u përkeqësua. Vëllimi i pamjeve të filmuara pas fluturimeve të tilla ishte 50+ GB dhe SSD-ja ime e dobët 256 GB u mbush shumë shpejt, duke më detyruar të blija një disk të jashtëm 1 TB. Megjithatë, pas një viti, ai nuk mund të trajtonte më sasinë e të dhënave që gjeneroja, për të mos përmendur mungesën e tepricës dhe rezervimit e bëri atë të papërshtatshëm për të pritur informacione të rëndësishme.
Kështu, në një moment vendosa të ndërtoj një NAS të madh me shpresën se ky sistem do të zgjasë të paktën disa vjet pa kërkuar një përmirësim tjetër.
E shkrova këtë artikull kryesisht si një kujtesë për atë që bëra dhe si e bëra atë në rast se duhet ta bëj përsëri. Shpresoj se do të jetë e dobishme edhe për ju nëse vendosni të bëni të njëjtën gjë.
Ndoshta është më e lehtë për të blerë?
Pra, ne e dimë se çfarë duam të marrim, pyetja mbetet: si?
Fillimisht shikova zgjidhjet komerciale dhe shikova në veçanti Synology, e cila supozohej të ofronte sistemet më të mira NAS të nivelit të konsumatorit në treg. Megjithatë, kostoja e këtij shërbimi doli të jetë mjaft e lartë. Sistemi më i lirë 4-bay kushton $300+ dhe nuk përfshin hard disqet. Për më tepër, vetë mbushja e brendshme e një komplete të tillë nuk është veçanërisht mbresëlënëse, gjë që vë në pikëpyetje performancën e saj reale.
Atëherë mendova: pse të mos ndërtoj vetë një server NAS?
Gjetja e një serveri të përshtatshëm
Nëse do të montoni një server të tillë, atëherë para së gjithash duhet të gjeni harduerin e duhur. Një server i përdorur duhet të jetë mjaft i përshtatshëm për këtë ndërtim, pasi nuk do të kemi nevojë për shumë performancë për detyrat e ruajtjes. Ndër gjërat e nevojshme, duhet të theksojmë një sasi të madhe RAM, disa lidhës SATA dhe karta të mira rrjeti. Meqenëse serveri im do të punojë në vendin e vendbanimit tim të përhershëm, niveli i zhurmës gjithashtu ka rëndësi.
Fillova kërkimin tim në eBay. Megjithëse gjeta shumë Dell PowerEdge R410/R210 të përdorura atje për nën 100 dollarë, duke pasur përvojë pune në një dhomë serveri, e dija që këto njësi 1U bënin shumë zhurmë dhe nuk ishin të përshtatshme për përdorim në shtëpi. Si rregull, serverët e kullave janë shpesh më pak të zhurmshëm, por, për fat të keq, kishte pak prej tyre në eBay, dhe të gjithë ishin ose të shtrenjtë ose të pafuqishëm.
Vendi tjetër për të parë ishte Craiglist, ku gjeta dikë që shiste një HP ProLiant N40L të përdorur për vetëm 75 dollarë! Isha i njohur me këta serverë, të cilët zakonisht kushtojnë rreth 300 dollarë edhe të përdorur, kështu që i dërgova email shitësit me shpresën se reklama ishte ende aktive. Pasi mësova se ishte kështu, unë, pa u menduar dy herë, u drejtova për në San Mateo për të marrë këtë server, i cili në shikim të parë më kënaqi padyshim. Kishte konsumim minimal dhe përveç pak pluhuri, gjithçka tjetër ishte e mrekullueshme.
Foto e serverit, menjëherë pas blerjes
Këtu janë specifikimet për kompletin që bleva:
- CPU: Procesor AMD Turion(tm) II Neo N40L me dy bërthama (64-bit)
- RAM: 8 GB RAM jo-ECC (instaluar nga pronari i mëparshëm)
- Blic: 4 GB USB drive
- Konektorët SATA:4+1
- NIC: 1 Gbps në bord NIC
Eshtë e panevojshme të thuhet, pavarësisht se është disa vjeç, specifikimi i këtij serveri është ende superior ndaj shumicës së opsioneve të NAS në treg, veçanërisht për sa i përket RAM-it. Pak më vonë, madje e përmirësova në 16 GB ECC me një madhësi të rritur të tamponit dhe mbrojtje të rritur të të dhënave.
Përzgjedhja e disqeve të ngurtë
Tani kemi një sistem të shkëlqyer pune dhe gjithçka që mbetet është të zgjedhim disqet e ngurtë për të. Natyrisht, për ato 75 dollarë mora vetëm vetë serverin pa HDD, gjë që nuk më befasoi.
Pasi bëra një kërkim të vogël, zbulova se HDD-të WD Red janë më të përshtatshmet për funksionimin e sistemeve NAS 24/7. Për t'i blerë ato, iu drejtova Amazon, ku bleva 4 kopje nga 3 TB secila. Në thelb, ju mund të lidhni çdo HDD që preferoni, por sigurohuni që ata të kenë të njëjtin kapacitet dhe shpejtësi. Kjo do t'ju ndihmojë të shmangni problemet e mundshme të performancës RAID në afat të gjatë.
Konfigurimi i sistemit
Unë mendoj se shumë do ta përdorin sistemin për ndërtimet e tyre NAS
Instalimi i CentOS në USB është mjaft i thjeshtë - thjesht specifikoni USB si burimin e nisjes dhe pas nisjes, magjistari i instalimit do t'ju udhëheqë në të gjitha fazat e tij.
Ndërtimi i RAID
Pas instalimit të suksesshëm të CentOS, unë instalova edhe ZFS në Linux sipas renditjes
Pasi të përfundojë ky proces, ngarkova modulin ZFS Kernel:
$ sudo modprobe zfs
Dhe krijoi grupin RAIDZ1 duke përdorur komandën 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
Ju lutemi vini re se këtu unë po përdor ID-të e disqeve të ngurtë në vend të emrave të tyre të shfaqur (sdx
) për të zvogëluar mundësinë që ato të dështojnë të montohen pas nisjes për shkak të ndryshimit të shkronjave.
Shtova gjithashtu cache ZIL dhe L2ARC që funksionojnë në një SSD të veçantë, duke e ndarë atë SSD në dy ndarje: 5 GB për ZIL dhe pjesa tjetër për L2ARC.
Sa i përket RAIDZ1, ai mund të përballojë 1 dështim të diskut. Shumë argumentojnë se ky opsion i grupit nuk duhet të përdoret për shkak të gjasave që disku i dytë të dështojë gjatë procesit të rindërtimit RAID, gjë që mund të çojë në humbje të të dhënave. E injorova këtë rekomandim, pasi bëja rregullisht kopje rezervë të të dhënave të rëndësishme në një pajisje të largët, dhe dështimi i të gjithë grupit mund të ndikojë vetëm në disponueshmërinë e të dhënave, por jo në sigurinë e tyre. Nëse nuk keni aftësinë për të bërë kopje rezervë, atëherë do të ishte më mirë të përdorni zgjidhje si RAIDZ2 ose RAID10.
Mund të verifikoni që krijimi i pishinës ishte i suksesshëm duke ekzekutuar:
$ sudo zpool status
и
$ sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
data 510G 7.16T 140K /mnt/data
Si parazgjedhje, ZFS monton direkt pishinën e krijuar rishtazi /
, e cila në përgjithësi është e padëshirueshme. Ju mund ta ndryshoni këtë duke ekzekutuar:
zfs set mountpoint=/mnt/data data
Nga këtu mund të zgjidhni të krijoni një ose më shumë grupe të dhënash për të ruajtur të dhënat. Kam krijuar dy, një për kopje rezervë të Time Machine dhe një për ruajtjen e skedarëve të përbashkët. E kufizova madhësinë e grupit të të dhënave Time Machine në një kuotë prej 512 GB për të parandaluar rritjen e saj të pafund.
optimization
zfs set compression=on data
Kjo komandë mundëson mbështetjen e kompresimit ZFS. Kompresimi përdor fuqi minimale të CPU-së, por mund të përmirësojë ndjeshëm qarkullimin I/O, kështu që rekomandohet gjithmonë.
zfs set relatime=on data
Me këtë komandë reduktojmë numrin e përditësimeve në atime
për të reduktuar gjenerimin e IOPS kur aksesoni skedarët.
Si parazgjedhje, ZFS në Linux përdor 50% të memories fizike për ARC. Në rastin tim, kur numri i përgjithshëm i skedarëve është i vogël, ai mund të rritet me siguri në 90% pasi asnjë aplikacion tjetër nuk do të funksionojë në server.
$ cat /etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=14378074112
Më pas duke përdorur
$ 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
...
Vendosja e detyrave të përsëritura
une e perdora
Instalimi i Netatalk
Konfigurimi i konfigurimit
$ 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
Vini re se vol dbnest
është një përmirësim i madh në rastin tim, pasi si parazgjedhje Netatalk shkruan bazën e të dhënave CNID në rrënjën e sistemit të skedarëve, gjë që nuk ishte aspak e dëshirueshme pasi sistemi im kryesor i skedarëve funksionon në USB dhe për këtë arsye është relativisht i ngadalshëm. Duke u ndezur vol dbnest
rezulton në ruajtjen e bazës së të dhënave në rrënjën Volume, e cila në këtë rast i përket grupit ZFS dhe tashmë është një rend i madhësisë më produktive.
Aktivizimi i porteve në 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
Nëse gjithçka është konfiguruar saktë, kompjuteri juaj duhet të shfaqet në Finder dhe Time Machine duhet të funksionojë gjithashtu.
Cilësimet shtesë
Monitorimi SMART
Rekomandohet të monitoroni statusin e disqeve tuaja për të parandaluar dështimin e diskut.
$ sudo yum install smartmontools
$ sudo systemctl start smartd
Daemon për UPS
Monitoron ngarkimin e UPS-it APC dhe fiket sistemin kur ngarkesa ulet në mënyrë kritike.
$ sudo yum install epel-release
$ sudo yum install apcupsd
$ sudo systemctl enable apcupsd
Përmirësimi i harduerit
Një javë pas konfigurimit të sistemit, fillova të shqetësohesha gjithnjë e më shumë për memorien jo-ECC të serverit. Përveç kësaj, në rastin e ZFS, memoria shtesë për buffering do të jetë shumë e dobishme. Kështu që u ktheva në Amazon ku bleva RAM 2x Kingston DDR3 8 GB ECC për 80 dollarë secili dhe zëvendësova RAM-in e desktopit të instaluar nga pronari i mëparshëm. Sistemi u nis herën e parë pa asnjë problem dhe u sigurova që mbështetja ECC të ishte aktivizuar:
$ dmesg | grep ECC
[ 10.492367] EDAC amd64: DRAM ECC enabled.
Result
Unë isha shumë i kënaqur me rezultatin. Tani mund ta mbaj vazhdimisht të zënë lidhjen LAN të serverit 1 Gbps duke kopjuar skedarë dhe Time Machine funksionon pa të meta. Pra, në përgjithësi, jam i kënaqur me konfigurimin.
Kostoja totale:
- 1 * HP ProLiant N40L = 75 dollarë
- 2 * 8 GB ECC RAM = 174 dollarë
- 4 * HDD WD Red 3 TB = 440 dollarë
Në total = $ 689
Tani mund të them që çmimi ia vlente.
A krijoni serverët tuaj NAS?
Burimi: www.habr.com