Ukwakha uhlelo lwe-NAS lwasekhaya olungabizi ku-Linux

Ukwakha uhlelo lwe-NAS lwasekhaya olungabizi ku-Linux

Mina, njengabanye abasebenzisi abaningi beMacBook Pro, bengibhekene nenkinga yenkumbulo enganele yangaphakathi. Ukunemba kakhudlwana, i-rMBP engangiyisebenzisa nsuku zonke yayifakwe i-SSD enamandla angu-256GB kuphela, ngokwemvelo, ayenganele isikhathi eside.

Futhi lapho, phezu kwakho konke okunye, ngaqala ukurekhoda amavidiyo phakathi nezindiza zami, isimo saba sibi kakhulu. Ivolumu yezithombe eziqoshwe ngemva kwezindiza ezinjalo yayingu-50+ GB, futhi i-256GB SSD yami embi kakhulu yagcwala ngokushesha, kwangiphoqa ukuthi ngithenge idrayivu yangaphandle ye-1TB. Kodwa-ke, ngemva konyaka owodwa, yayingeke isakwazi ukuphatha inani ledatha engangiyikhiqiza, ingasaphathwa eyokuntula ukuphindaphindeka kanye nekhophi yasenqolobaneni yenze ukuba ingafanelekile ukusingatha ulwazi olubalulekile.

Ngakho-ke, ngesinye isikhathi nganquma ukwakha i-NAS enkulu ngethemba lokuthi lolu hlelo luzohlala okungenani iminyaka embalwa ngaphandle kokudinga okunye ukuthuthukiswa.

Ngibhale lesi sihloko ngokuyinhloko njengesikhumbuzo salokho kanye engikwenzile nokuthi ngikwenze kanjani uma kwenzeka ngidinga ukukwenza futhi. Ngethemba ukuthi kuyoba usizo nakuwe uma unquma ukwenza okufanayo.

Mhlawumbe kulula ukuthenga?

Ngakho-ke, siyazi ukuthi yini esifuna ukuyithola, umbuzo uhlala: kanjani?

Ngiqale ngabheka izixazululo zezentengiselwano futhi ngabheka ikakhulukazi i-Synology, obekufanele inikeze izinhlelo ezingcono kakhulu ze-NAS zabathengi emakethe. Nokho, izindleko zale nkonzo zivele zaba phezulu kakhulu. Uhlelo olushibhe kakhulu lwe-4-bay lubiza u-$300+ futhi alubandakanyi ama-hard drive. Ukwengeza, ukugcwaliswa kwangaphakathi kwekhithi enjalo ngokwayo akuyona into ehlaba umxhwele, okufaka kungabaza ukusebenza kwayo kwangempela.

Ngabe sengicabanga: kungani ngingazakhi iseva ye-NAS mina?

Ukuthola iseva efanelekile

Uma uzohlanganisa iseva enjalo, khona-ke okokuqala udinga ukuthola i-hardware efanele. Iseva esetshenzisiwe kufanele ilungele lesi sakhiwo, ngoba ngeke sidinge ukusebenza okuningi kwemisebenzi yokugcina. Phakathi kwezinto ezidingekayo, kufanele siqaphele inani elikhulu le-RAM, izixhumi eziningana ze-SATA namakhadi enethiwekhi amahle. Njengoba iseva yami izosebenza endaweni engihlala kuyo unomphela, izinga lomsindo nalo libalulekile.

Ngiqale usesho lwami ku-eBay. Nakuba ngathola i-Dell PowerEdge eminingi esetshenzisiwe engu-R410/R210 lapho ngaphansi kwe-$100, nginolwazi lokusebenza ekamelweni leseva, ngangazi ukuthi la mayunithi e-1U enza umsindo omkhulu futhi ayengafanele ukusetshenziswa ekhaya. Njengomthetho, amaseva ombhoshongo avame ukuba nomsindo omncane, kodwa, ngeshwa, abembalwa kuwo ku-eBay, futhi wonke abebiza noma anamandla aphansi.

Indawo elandelayo engangizoyibheka kwakuyi-Craiglist, lapho ngathola khona othile ethengisa i-HP ProLiant N40L esetshenzisiwe ngama-$75 kuphela! Bengizazi kahle lezi ziphakeli, ezivame ukubiza cishe u-$300 noma zisetshenziswe, ngakho ngithumelele umthengisi i-imeyili ngethemba lokuthi isikhangiso sisasebenza. Ngemva kokufunda ukuthi lokhu kwakunjalo, mina, ngaphandle kokucabanga kabili, ngabhekisa amabombo eSan Mateo ukuyolanda le seva, okwangijabulisa ekuqaleni. Yayinokuguga okuncane futhi ngaphandle kothuli oluncane, konke okunye kwakukuhle.

Ukwakha uhlelo lwe-NAS lwasekhaya olungabizi ku-Linux
Isithombe seseva, ngokushesha ngemva kokuthenga

Nansi imininingwane yekhithi engiyithengile:

  • CPU: AMD Turion(tm) II Neo N40L Dual-Core Processor (64-bit)
  • RAM: 8 GB non-ECC RAM (ifakwe umnikazi wangaphambilini)
  • Flash: 4 GB USB Drive
  • Izixhumi ze-SATA:4+1
  • I-NIC: 1 Gbps ebhodini ye-NIC

Akubuzwa, naphezu kokuba neminyaka embalwa ubudala, ukucaciswa kwale seva kusengcono kunezinketho eziningi ze-NAS emakethe, ikakhulukazi ngokuya nge-RAM. Kamuva, ngaze ngathuthukela ku-16 GB ECC ngosayizi okhulisiwe webhafa nokuvikela idatha eyengeziwe.

Ukukhetha ama-hard drive

Manje sinohlelo oluhle kakhulu lokusebenza futhi okusele nje ukukhetha ama-hard drive alo. Ngokusobala, ngaleyo $75 ngathola iseva ngokwayo ngaphandle kwe-HDD, okungazange kungimangaze.

Ngemuva kokwenza ucwaningo oluncane, ngithole ukuthi ama-WD Red HDD afaneleka kakhulu ukusebenzisa izinhlelo ze-NAS 24/7. Ukuze ngiwathenge, ngaphendukela e-Amazon, lapho ngathenga khona amakhophi angu-4 e-3 TB ngalinye. Ngokuyisisekelo, ungaxhuma noma iyiphi i-HDD oyithandayo, kodwa qiniseka ukuthi ilingana nomthamo nesivinini. Lokhu kuzokusiza ukuthi ugweme izinkinga zokusebenza kwe-RAID okungenzeka ngokuhamba kwesikhathi.

Ukusethwa Kwesistimu

Ngicabanga ukuthi abaningi bazosebenzisa uhlelo ekwakhiweni kwabo kwe-NAS I-FreeNAS, futhi akukho lutho olungalungile ngalokho. Kodwa-ke, naphezu kwamathuba okufaka lolu hlelo kuseva yami, ngincamele ukusebenzisa i-CentOS, njengoba i-ZFS ohlelweni lwe-Linux ekuqaleni ilungiselelwe indawo yokukhiqiza, futhi ngokuvamile, ukuphatha iseva ye-Linux kujwayeleke kakhulu kimi. Ngaphandle kwalokho, bengingenantshisekelo kusixhumi esibonakalayo esihle kanye nezici ezinikezwe i-FreeNAS - uhlu lwe-RAIDZ nokwabelana kwe-AFP bekwanele kimi.

Ukufaka i-CentOS ku-USB kulula kakhulu - vele ucacise i-USB njengomthombo wokuqalisa, futhi lapho wethula iwizadi yokufaka izokuqondisa kuzo zonke izigaba zayo.

Ukwakhiwa kwe-RAID

Ngemuva kokufaka ngempumelelo i-CentOS, ngiphinde ngafaka i-ZFS ku-Linux ngokulandela okusohlwini izinyathelo lapha.

Lapho le nqubo isiqediwe, ngalayisha imojula ye-ZFS Kernel:

$ sudo modprobe zfs

Futhi udale uhlu lwe-RAIDZ1 usebenzisa umyalo 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

Sicela uqaphele ukuthi lapha ngisebenzisa omazisi bama-hard drive esikhundleni samagama wabo wokubonisa (sdx) ukunciphisa amathuba okuthi bahluleke ukukhweza ngemva kwebhuthi ngenxa yokushintshwa kohlamvu.

Ngiphinde ngengeza inqolobane ye-ZIL ne-L2ARC esebenza ku-SSD ehlukile, ngihlukanisa leyo-SSD ibe izingxenye ezimbili: 5GB ye-ZIL kanye nokunye okusele kwe-L2ARC.

Ngokuqondene ne-RAIDZ1, ingakwazi ukumelana nokuhluleka kwediski engu-1. Abaningi baphikisana ngokuthi le nketho ye-pool akufanele isetshenziswe ngenxa yokuthi kungenzeka ukuthi idiski yesibili ingaphumeleli ngesikhathi senqubo yokwakha kabusha i-RAID, okungaholela ekulahlekelweni kwedatha. Angizibanga lesi sincomo, njengoba ngangihlala ngenza amakhophi ayisipele edatha ebalulekile kudivayisi eyirimothi, futhi ukwehluleka kwawo wonke amalungu afanayo kungathinta kuphela ukutholakala kwedatha, kodwa hhayi ukuphepha kwayo. Uma ungenalo ikhono lokwenza izipele, kungaba ngcono ukusebenzisa izixazululo ezifana ne-RAIDZ2 noma i-RAID10.

Ungaqinisekisa ukuthi ukudalwa kwechibi lokubhukuda kube yimpumelelo ngokuqalisa:

$ sudo zpool status

ΠΈ

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

Ngokuzenzakalelayo, i-ZFS ikhweza ichibi elisanda kwakhiwa ngqo /, okuyinto ngokuvamile engathandeki. Ungashintsha lokhu ngokuqalisa:

zfs set mountpoint=/mnt/data data

Kusuka lapha ungakhetha ukudala isethi yedatha eyodwa noma ngaphezulu ukuze ugcine idatha. Ngidale okubili, okukodwa okokwenza isipele komshini wesikhathi kanye neyokugcina amafayela okwabelwana ngawo. Ngikhawulele usayizi wedathasethi Yomshini Wesikhathi kusabelo esingu-512 GB ukuze nginqande ukukhula kwayo okungapheli.

Ukuthuthukisa

zfs set compression=on data

Lo myalo unika amandla ukwesekwa kokucindezelwa kwe-ZFS. Ukucindezela kusebenzisa amandla amancane we-CPU, kodwa kungathuthukisa kakhulu i-I/O throughput, ngakho-ke kuhlala kunconywa.

zfs set relatime=on data

Ngalo myalo sinciphisa inani lezibuyekezo ku atimeukunciphisa ukukhiqizwa kwe-IOPS lapho ufinyelela amafayela.

Ngokuzenzakalelayo, i-ZFS ku-Linux isebenzisa u-50% wememori engokwenyama ye-ARC. Endabeni yami, lapho inani eliphelele lamafayela lincane, lokhu kungakhushulwa ngokuphepha ku-90% njengoba kungekho ezinye izinhlelo zokusebenza ezizobe zisebenza kuseva.

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

Bese usebenzisa arc_summary.py Ungaqinisekisa ukuthi izinguquko seziqalile ukusebenza:

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

Ukusetha imisebenzi evela njalo

ngisebenzise i-systemd-zpool-scrub ukumisa izibali sikhathi zesistimu ukwenza ukuhlanza kanye ngesonto futhi zfs-auto-snapshot ukuze udale ngokuzenzakalelayo izifinyezo njalo ngemizuzu eyi-15, ihora elingu-1 nosuku olungu-1.

Ifaka i-Netatalk

I-Netatalk kuwumthombo ovulekile wokuqaliswa kwe-AFP (I-Apple Filing Protocol). Ukulandela imiyalelo yokufaka esemthethweni ye-CentOS, ngithole ngokoqobo iphakheji ye-RPM ehlanganisiwe futhi yafakwa emizuzwini embalwa nje.

Ukusethwa kokucushwa

$ 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

Uyacelwa ukuthi uqaphele lokho vol dbnest kuwukuthuthuka okukhulu esimweni sami, njengoba ngokuzenzakalelayo iNetatalk ibhala isizindalwazi se-CNID empandeni yesistimu yefayela, ebingafiseleki nhlobo njengoba uhlelo lwami lwefayela oluyinhloko lusebenza ku-USB ngakho-ke luhamba kancane. Iyavula vol dbnest kuholela ekulondolozeni i-database ku-Volume root, kulokhu okuyingxenye ye-ZFS pool futhi kakade i-oda lobukhulu obukhiqiza kakhulu.

Inika amandla izimbobo ku-Firewall

$ sudo firewall-cmd --permanent --zone=public --add-service=mdns
$ sudo firewall-cmd --permanent --zone=public --add-port=afpovertcp/tcp

I-sudo firewall-cmd --permanent --zone=public --add-port=afpovertcp/tcp
Uma yonke into ilungiswe ngendlela efanele, umshini wakho kufanele uvele Kusitholi, futhi Umshini Wesikhathi nawo kufanele usebenze.

Izilungiselelo ezengeziwe
Ukuqapha okuhlakaniphile

Kunconywa ukuthi uqaphe isimo samadiski akho ukuze uvimbele ukwehluleka kwediski.

$ sudo yum install smartmontools
$ sudo systemctl start smartd

I-Daemon ye-UPS

Iqapha inkokhiso ye-APC UPS futhi ivale isistimu lapho inkokhiso iba phansi kakhulu.

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

Ukuthuthukiswa kwezingxenyekazi zekhompuyutha

Ngemva kwesonto ngimise uhlelo, ngaqala ukukhathazeka kakhulu ngenkumbulo yeseva engeyona eye-ECC. Ngaphezu kwalokho, esimweni se-ZFS, inkumbulo eyengeziwe yokugcinwa kwe-buffering izoba usizo kakhulu. Ngakho-ke ngabuyela e-Amazon lapho ngathenga khona i-2x Kingston DDR3 8GB ECC RAM ngo-$80 ngayinye futhi ngashintsha i-RAM yedeskithophu efakwe umnikazi wangaphambili. Isistimu yaqalisa okokuqala ngaphandle kwezinkinga, futhi ngenza isiqiniseko sokuthi usekelo lwe-ECC lwenziwe lwasebenza:

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

Umphumela

Ngawujabulela kakhulu umphumela. Manje sengingakwazi ukugcina uxhumano lweseva lwe-1Gbps LAN lumatasa ngokukopisha amafayela, futhi Umshini Wesikhathi usebenza ngokungenasici. Ngakho-ke, sekukonke, ngijabule ngokusetha.

Isamba sezindleko:

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

Inani = $ 689

Manje ngingasho ukuthi inani beliwufanele.

Ingabe uyazenzela amaseva akho e-NAS?

Ukwakha uhlelo lwe-NAS lwasekhaya olungabizi ku-Linux

Ukwakha uhlelo lwe-NAS lwasekhaya olungabizi ku-Linux

Source: www.habr.com

Engeza amazwana