Ukwakha inkqubo ye-NAS yekhaya engabizi kwiLinux

Ukwakha inkqubo ye-NAS yekhaya engabizi kwiLinux

Mna, njengabanye abasebenzisi abaninzi beMacBook Pro, bendijongene nengxaki yokungonelanga kwememori yangaphakathi. Ukuchaneka ngakumbi, i-rMBP endiyisebenzisayo imihla ngemihla yayixhotyiswe nge-SSD enomthamo we-256GB kuphela, leyo, ngokwemvelo, yayinganelanga ixesha elide.

Kwaye xa, ngaphezu kwayo yonke enye into, ndaqala ukurekhoda iividiyo ngexesha leenqwelomoya zam, imeko yaba mbi ngakumbi. Umthamo wemifanekiso efotweyo emva kokuba ezo nqwelomoya zazingama-50+ GB, kwaye i-256GB SSD yam ehlwempuzekileyo yazaliswa ngokukhawuleza, yandinyanzela ukuba ndithenge idrayivu ye-1TB yangaphandle. Nangona kunjalo, emva konyaka omnye, yayingenakukwazi ukuphatha inani ledatha endiyivelisayo, singasathethi ke ngokunqongophala kwe-redundancy kunye ne-backup yenza ukuba ingafaneleki ukubamba ulwazi olubalulekileyo.

Ke, ngaxa lithile ndaye ndagqiba kwelokuba ndakhe i-NAS enkulu ngethemba lokuba le nkqubo iya kuhlala ubuncinci iminyaka embalwa ngaphandle kokufuna olunye uphuculo.

Ndibhale eli nqaku ngokuyintloko njengesikhumbuzo sento kanye endiyenzileyo kunye nendlela endiyenze ngayo xa kufuneka ndiyenze kwakhona. Ndiyathemba ukuba kuya kuba luncedo nakuwe ukuba uthatha isigqibo sokwenza okufanayo.

Mhlawumbi kulula ukuthenga?

Ke, siyayazi into esifuna ukuyifumana, umbuzo uhlala: njani?

Ndiqale ndajonga izisombululo zorhwebo kwaye ndajonga ngakumbi kwi-Synology, ebifanele ukuba ibonelele ngeyona nkqubo ilungileyo ye-NAS yabathengi kwimarike. Nangona kunjalo, ixabiso lale nkonzo liye labonakala liphezulu kakhulu. Inkqubo ye-4-bay ebiza i-$ 300 + kwaye ayibandakanyi ii-hard drives. Ukongeza, ukuzaliswa kwangaphakathi kwekhithi enjalo ngokwayo ayikuchukumisi ngokukodwa, okubangela ukuba kube nombuzo wokusebenza kwayo kwangempela.

Emva koko ndacinga: kutheni ndingazakhi iseva ye-NAS ngokwam?

Ukufumana umncedisi ofanelekileyo

Ukuba uya kudibanisa umncedisi onjalo, ngoko okokuqala kufuneka ufumane i-hardware efanelekileyo. Iseva esetyenzisiweyo kufuneka ilungele olu lwakhiwo, kuba asiyi kufuna ukusebenza okuninzi kwimisebenzi yokugcina. Phakathi kwezinto eziyimfuneko, kufuneka siqaphele inani elikhulu le-RAM, izixhumi ezininzi ze-SATA kunye namakhadi enethiwekhi alungileyo. Kuba iseva yam iya kusebenza kwindawo yam yokuhlala ngokusisigxina, umgangatho wengxolo ubalulekile.

Ndaqalisa ukukhangela kwam eBay. Nangona ndifumene i-Dell PowerEdge eninzi esetyenzisiweyo i-R410/R210 apho ngaphantsi kweedola ezili-100, ndinamava okusebenza kwigumbi lomncedisi, ndandisazi ukuba ezi yunithi ze-1U zenza ingxolo eninzi kwaye azifanelekanga ukusetyenziswa ekhaya. Njengomthetho, iiseva zenqaba zihlala zinengxolo encinci, kodwa, ngelishwa, bezimbalwa zazo kwi-eBay, kwaye zonke bezixabisa kakhulu okanye ziphantsi kwamandla.

Indawo elandelayo yokujonga yayiyiCraiglist, apho ndafumana umntu othengisa iHP ProLiant N40L esetyenzisiweyo nge-75 yeedola nje! Ndandiqhelene nezi seva, ezidla ngokuxabisa malunga needola ezingama-300 nokuba zisetyenzisiwe, ndiye ndathumela i-imeyile kumthengisi ngethemba lokuba intengiso isasebenza. Emva kokuba ndifundile ukuba oku bekunjalo, mna, ngaphandle kokucinga kabini, ndaya eSan Mateo ukuya kuthatha le seva, ethe yaqala ukundikholisa ngokuqinisekileyo. Yayinempahla encinci kwaye ngaphandle kothuli, yonke enye into yayilungile.

Ukwakha inkqubo ye-NAS yekhaya engabizi kwiLinux
Ifoto yomncedisi, ngokukhawuleza emva kokuthenga

Nazi iinkcukacha zekhithi endiyithengileyo:

  • ICPU: AMD Turion(tm) II Neo N40L Dual-Core Processor (64-bit)
  • i-ram: 8 GB non-ECC RAM (ifakwe ngumnini wangaphambili)
  • flash: 4 GB USB Drive
  • Izihlanganisi zeSATA:4+1
  • NIC: 1 Gbps kwibhodi ye-NIC

Ngokungathandabuzekiyo, nangona uneminyaka eliqela ubudala, ukucaciswa kwale seva kusephezulu kunokhetho oluninzi lwe-NAS kwimarike, ngakumbi ngokwe-RAM. Kancinci kamva, ndade ndaphucula ukuya kwi-16 GB ECC kunye nobukhulu obunyusiweyo be-buffer kunye nokukhuselwa kwedatha.

Ukukhetha ii-hard drives

Ngoku sinenkqubo egqwesileyo yokusebenza kwaye konke okuseleyo kukukhetha ii-hard drives zayo. Ngokucacileyo, loo 75 yeedola ndifumene iseva ngokwayo ngaphandle kwe-HDD, engazange isimangalise.

Emva kokwenza uphando oluncinci, ndiye ndafumanisa ukuba ii-WD ezibomvu ze-HDD zifaneleke kakhulu ukuqhuba iinkqubo ze-NAS 24/7. Ukuzithenga, ndaphendukela eAmazon, apho ndathenga khona iikopi ezi-4 ze-TB nganye. Ngokusisiseko, unokuqhagamshela nayiphi na i-HDD oyithandayo, kodwa qiniseka ukuba ikwisikhundla esifanayo kunye nesantya. Oku kuya kukunceda uphephe iingxaki ze-RAID ezinokwenzeka ekuhambeni kwexesha.

Ukuseta inkqubo

Ndicinga ukuba abaninzi baya kusebenzisa inkqubo ye-NAS yabo yokwakha MahalaNAS, kwaye akukho nto iphosakeleyo ngaloo nto. Nangona kunjalo, ngaphandle kokufaka le nkqubo kwiseva yam, ndikhethe ukusebenzisa i-CentOS, kuba i-ZFS kwinkqubo ye-Linux ilungiselelwe indawo yokuvelisa, kwaye ngokubanzi, ukulawula iseva ye-Linux kuqhelekile kum. Ngaphandle koko, bendingenamdla kujongano oluhle kunye neempawu ezibonelelwe yiFreeNAS - uluhlu lweRAIDZ kunye nokwabelana nge-AFP kwakwanele kum.

Ukufaka i-CentOS kwi-USB kulula kakhulu - khankanya nje i-USB njengomthombo wokuqalisa, kwaye ekuqaliseni i-wizard yofakelo iya kukukhokela kuzo zonke izigaba zayo.

Ukwakhiwa kweRAID

Emva kokufaka ngempumelelo i-CentOS, ndifake i-ZFS kwiLinux ngokulandela okudwelisiweyo amanyathelo apha.

Nje ukuba le nkqubo igqitywe, ndilayishe imodyuli yeZFS Kernel:

$ sudo modprobe zfs

Kwaye udale uluhlu lwe-RAIDZ1 usebenzisa umyalelo 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

Nceda uqaphele ukuba apha ndisebenzisa ii-ID zehard drives endaweni yamagama azo abonisayo (sdx) ukunciphisa amathuba okuba basilele ukunyuswa emva kokuqalisa ngenxa yotshintsho loonobumba.

Ndongeze kwakhona i-ZIL kunye ne-L2ARC i-cache esebenza kwi-SSD eyahlukileyo, i-SSD ibe yizahlulo ezibini: i-5GB ye-ZIL kunye nezinye i-L2ARC.

Ngokuphathelele i-RAIDZ1, inokumelana nokusilela kwediski e-1. Abaninzi bathi olu khetho lwe-pool akufanele lusetyenziswe ngenxa yokuba kunokwenzeka ukuba idiski yesibini ingaphumeleli ngexesha lenkqubo yokwakhiwa kwakhona kwe-RAID, engakhokelela ekulahlekeni kwedatha. Andiyihoyanga le ngcebiso, kuba ndihlala ndisenza iikopi zogcino lwedatha ebalulekileyo kwisixhobo esikude, kwaye ukusilela kwanoluhlu luphela kunokuchaphazela ukufumaneka kwedatha, kodwa hayi ukhuseleko lwayo. Ukuba awunaso isakhono sokwenza i-backups, kuya kuba ngcono ukusebenzisa izisombululo ezifana ne-RAIDZ2 okanye i-RAID10.

Ungaqinisekisa ukuba ukudalwa kwedama kuphumelele ngokuqhuba:

$ sudo zpool status

ΠΈ

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

Ngokungagqibekanga, iZFS inyusa ichibi elitsha elenziwe ngokuthe ngqo /, ngokuqhelekileyo enganqwenelekiyo. Ungatshintsha oku ngokuqhuba:

zfs set mountpoint=/mnt/data data

Ukusuka apha ungakhetha ukwenza enye okanye ezininzi iiseti zedatha ukugcina idatha. Ndenze ezimbini, enye yeyokugcina ixesha loMatshini kunye neyokugcina iifayile ekwabelwana ngazo. Ndinciphise ubungakanani bedatha yeXesha loMatshini wedatha kwi-quota ye-512 GB ukuthintela ukukhula kwayo okungapheliyo.

Ukucwangcisa

zfs set compression=on data

Lo myalelo wenza inkxaso yocinezelo ye-ZFS. Ukunyanzeliswa kusebenzisa amandla amancinci e-CPU, kodwa kunokuphucula kakhulu i-I/O throughput, ngoko ihlala ikhuthazwa.

zfs set relatime=on data

Ngalo myalelo sinciphisa inani lohlaziyo kwi atimeukunciphisa ukuveliswa kwe-IOPS xa ufikelela iifayile.

Ngokungagqibekanga, i-ZFS kwiLinux isebenzisa i-50% yenkumbulo yomzimba ye-ARC. Kwimeko yam, xa inani elipheleleyo leefayile lincinci, oku kunokunyuswa ngokukhuselekileyo ukuya kwi-90% kuba akukho ezinye izicelo eziya kusebenza kumncedisi.

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

Emva koko usebenzisa arc_summary.py Ungaqinisekisa ukuba utshintsho lusebenze:

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

Ukumisela imisebenzi eqhubekayo

ndidla ngoku systemd-zpool-scrub ukuqwalasela izibali-xesha ze-systemd ukwenza ucoceko kanye ngeveki kwaye zfs-i-auto-snapshot ukwenza ngokuzenzekelayo izifinyezo rhoqo ngemizuzu eli-15, iyure e-1 kunye nosuku olu-1.

Ukufakela iNetatalk

INetatalk luphumezo oluvulelekileyo lwe AFP (IProtokholi yokuFayila iApple). Ukulandela imiyalelo yokufakela esemthethweni ye-CentOS, ndifumene iphakheji ye-RPM edibeneyo kwaye yafaka kwimizuzu nje embalwa.

Ukuseta uqwalaselo

$ 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

Qaphela oko vol dbnest luphuculo olukhulu kwimeko yam, kuba ngokungagqibekanga iNetatalk ibhala idatabase ye CNID kwingcambu yendlela yefayile, ebinganqweneleki kwaphela ukusukela oko indlela yam yefayile iyasebenza kwi USB kwaye ngoko iyacotha. Iyalayita vol dbnest iziphumo ekugcineni isiseko sedatha kwingcambu yeVolume, kule meko ikwi-pool ye-ZFS kwaye sele ingumyalelo wobukhulu obuvelisa ngakumbi.

Ukuvumela amazibuko kwiFirewall

$ 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
Ukuba yonke into iqwalaselwe ngokuchanekileyo, umatshini wakho kufuneka abonakale kwi-Finder, kunye noomatshini bexesha nabo kufuneka basebenze.

Iisetingi ezongezelelweyo
esweni SMART

Kuyacetyiswa ukuba ujonge ubume beediski zakho ukunqanda ukungaphumeleli kwedisk.

$ sudo yum install smartmontools
$ sudo systemctl start smartd

Daemon for UPS

Ubeka iliso kwintlawulo ye-APC UPS kwaye icime inkqubo xa intlawulo iba phantsi kakhulu.

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

Uphuculo lwe-Hardware

Kwiveki emva kokuseta inkqubo, ndaqala ukukhathazeka ngakumbi malunga nememori engeyiyo ye-ECC yomncedisi. Ukongeza, kwimeko ye-ZFS, imemori eyongezelelweyo ye-buffering iya kuba luncedo kakhulu. Ndiye ndabuyela eAmazon apho ndathenga khona i-2x Kingston DDR3 8GB ECC RAM nge-80 yeedola nganye kwaye ndathatha indawo ye-desktop ye-RAM efakwe ngumnini wangaphambili. Inkqubo yaqala okokuqala ngaphandle kweengxaki, kwaye ndaqinisekisa ukuba inkxaso ye-ECC yenziwe yasebenza:

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

Isiphumo

Ndavuya kakhulu ngesiphumo. Ngoku ndiyakwazi ukugcina unxibelelwano lwe-1Gbps LAN yomncedisi ixakekile ngokukopa iifayile, kwaye uMatshini weXesha usebenza ngokungenasiphako. Ke, kukonke, ndonwabile ngokuseta.

Ixabiso lilonke:

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

Iyonke = $ 689

Ngoku ndingatsho ukuba ixabiso lalifanelekile.

Ngaba uyazenzela iiseva zakho ze-NAS?

Ukwakha inkqubo ye-NAS yekhaya engabizi kwiLinux

Ukwakha inkqubo ye-NAS yekhaya engabizi kwiLinux

umthombo: www.habr.com

Yongeza izimvo