Kupanga Nyumba Yotsika mtengo ya Linux Home NAS System

Kupanga Nyumba Yotsika mtengo ya Linux Home NAS System

Ine, monga ogwiritsa ntchito ena ambiri a MacBook Pro, ndinakumana ndi vuto la kukumbukira kosakwanira mkati. Kunena zowona, rMBP yomwe ndimagwiritsa ntchito tsiku lililonse inali ndi SSD ya 256GB yokha, yomwe, ndithudi, sinali yokwanira kwa nthawi yaitali.

Ndipo pamene, pamwamba pa china chirichonse, ndinayamba kujambula mavidiyo paulendo wanga wa pandege, zinthu zinangowonjezereka. Kuchuluka kwazithunzi zomwe zinajambulidwa pambuyo pa maulendo oterowo zinali 50+ GB, ndipo 256GB SSD yanga yosauka posakhalitsa inadzaza, kundikakamiza kugula galimoto yakunja ya 1TB. Komabe, patatha chaka chimodzi, sichikanatha kuthana ndi kuchuluka kwa deta yomwe ndimapanga, osanenapo za kusowa kwa redundancy ndi zosunga zobwezeretsera zinapangitsa kuti zikhale zosayenera kuchititsa zambiri zofunika.

Chifukwa chake, nthawi ina, ndidaganiza zopanga NAS yayikulu ndikuyembekeza kuti dongosololi litha zaka zingapo popanda kukweza kwina.

Ndinalemba nkhaniyi makamaka ngati chikumbutso cha ndendende zomwe ndidachita ngati ndiyenera kuchitanso. Ndikukhulupirira kuti zidzakuthandizani ngati mutasankha kuchita zomwezo.

Mwina ndizosavuta kugula?

Ndiye, tikudziwa zomwe tikufuna kupeza, funso limakhalabe bwanji?

Ndidayang'ana koyamba mayankho amalonda ndikuyang'ana makamaka Synology, yomwe imayenera kupereka makina abwino kwambiri a NAS pamsika. Komabe, mtengo wa utumiki umenewu unali wokwera kwambiri. Dongosolo lotsika mtengo la 4-bay limawononga $300+ ndipo siliphatikiza ma hard drive. Kuphatikiza apo, kudzazidwa kwamkati kwa zida zotere sizowoneka bwino, zomwe zimakayikira momwe zimakhalira zenizeni.

Kenako ndinaganiza: bwanji osapanga seva ya NAS nokha?

Kupeza Seva Yoyenera

Ngati mutha kumaliza seva yotere, ndiye choyamba muyenera kupeza zida zoyenera. Seva yogwiritsidwa ntchito iyenera kukhala yabwino pakumanga uku, chifukwa sitifunika kuchita zambiri posungirako. Pazofunikira, ziyenera kudziwidwa kuchuluka kwa RAM, zolumikizira zingapo za SATA ndi makadi abwino ochezera. Popeza seva yanga idzagwira ntchito pamalo anga okhazikika, phokoso la phokoso ndilofunikanso.

Ndinayamba kufufuza kwanga pa eBay. Ngakhale ndinapeza ambiri ogwiritsira ntchito Dell PowerEdge R410/R210s pansi pa $100 kumeneko, atagwira ntchito m’chipinda cha seva, ndinadziΕ΅a kuti mayunitsi a 1Uwa anali aphokoso kwambiri ndipo sanali oyenera kugwiritsiridwa ntchito kunyumba. Monga lamulo, ma seva a nsanja nthawi zambiri amakhala opanda phokoso, koma, mwatsoka, panali ochepa omwe adalembedwa pa eBay, ndipo onse anali okwera mtengo kapena opanda mphamvu.

Malo otsatira oti ndiyang'ane anali Craiglist, komwe ndidapeza munthu akugulitsa HP ProLiant N40L yogwiritsidwa ntchito pa $75 yokha! Ndinkawadziwa ma seva awa, omwe nthawi zambiri amawononga $300 ngakhale amagwiritsidwa ntchito, kotero ndidatumizira wogulitsayo imelo ndikuyembekeza kuti mndandandawo udakalipo. Nditaphunzira kuti ndi choncho, ine, popanda kuganiza kawiri, ndinapita ku San Mateo kukatenga seva iyi, yomwe idandisangalatsa kale poyamba. Zinali zocheperako ndipo, kupatula fumbi pang'ono, china chilichonse chinali chabwino.

Kupanga Nyumba Yotsika mtengo ya Linux Home NAS System
Chithunzi cha seva, mutangogula

Ndipo nayi tsatanetsatane wa zida zomwe ndidagula:

  • CPUAMD Turion(tm) II Neo N40L Dual-Core Purosesa (64-bit)
  • Ram: 8 GB yopanda ECC RAM (yokhazikitsidwa ndi eni ake akale)
  • kung'anima: 4GB USB Drive
  • Zolumikizira za SATA:4 + 1
  • NIC: 1 Gbps pa bolodi la NIC

Mosafunikira kunena, ngakhale ali ndi zaka zingapo, mawonekedwe a seva iyi amaposa zosankha zambiri za NAS pamsika, makamaka pankhani ya RAM. Patapita nthawi, ndinakweza mpaka 16 GB ECC yokhala ndi malo ambiri otetezedwa komanso chitetezo chabwino cha deta.

Kusankha hard drive

Tsopano tili ndi machitidwe abwino kwambiri ogwirira ntchito ndipo timangosankha ma hard drive awo. Mwachiwonekere, kwa $ 75 amenewo ndinangopeza seva yokha popanda HDD, zomwe sizinandidabwitsa.

Nditafufuza pang'ono, ndidapeza kuti ma drive 24/7 NAS ndioyenera ma WD Red HDD. Kuti ndiwagule, ndidatembenukira ku Amazon, komwe ndidagula makope 4 a 3 TB iliyonse. M'malo mwake, mutha kulumikiza HDD iliyonse yomwe mumakonda, koma onetsetsani kuti ndi ofanana kukula komanso liwiro. Izi zikuthandizani kupewa zovuta zomwe zingachitike pa RAID pakapita nthawi.

Kukonzekera Kwadongosolo

Ndikuganiza kuti ambiri adzagwiritsa ntchito makina awo a NAS. FreeNAS, ndipo palibe cholakwika ndi zimenezo. Komabe, ngakhale ndizotheka kukhazikitsa dongosololi pa seva yanga, ndimakonda kugwiritsa ntchito CentOS, popeza ZFS pa Linux system poyambilira imakonzekera malo opangira, ndipo nthawi zambiri ndimadziwa bwino kuyang'anira seva ya Linux. Komanso, sindinasangalale ndi mawonekedwe apamwamba komanso mawonekedwe a FreeNAS - ndidakhutitsidwa ndi gulu la RAIDZ ndi kugawana kwa AFP.

Kuyika CentOS pa USB ndikosavuta - ingotchulani USB ngati gwero la boot, ndipo mukayambitsa wizard woyikirayo idzakuwongolerani masitepe onse.

Msonkhano wa RAID

Nditakhazikitsa bwino CentOS, ndidayikanso ZFS pa Linux potsatira zomwe zalembedwa apa masitepe.

Nditamaliza ntchitoyi, ndidakweza gawo la ZFS Kernel:

$ sudo modprobe zfs

Ndipo adapanga gulu la RAIDZ1 pogwiritsa ntchito lamulo 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

Dziwani kuti apa ndikugwiritsa ntchito ma ID a hard drive m'malo mwa mayina awo owonetsedwa (sdx) kuchepetsa mwayi woti alephera kukwera pambuyo pa boot chifukwa cha kusintha kwa zilembo.

Ndinawonjezeranso cache ya ZIL ndi L2ARC yomwe ikuyenda pa SSD yosiyana, ndikugawa SSD iyi m'magawo awiri: 5GB ya ZIL ndi ena onse a L2ARC.

Ponena za RAIDZ1, imatha kupirira kulephera kwa 1 disk. Ambiri amatsutsa kuti njira yophatikizirayi siyenera kugwiritsidwa ntchito chifukwa cha kuthekera kwa disk yachiwiri kulephera panthawi yomanganso RAID, yomwe ili ndi kutayika kwa deta. Ndinanyalanyaza malangizowa, chifukwa nthawi zonse ndimakhala ndikuthandizira deta yofunikira pa chipangizo chakutali, ndipo kulephera kwa ngakhale gulu lonse kungakhudze kupezeka kwa deta, koma osati chitetezo chawo. Ngati mulibe luso lopanga zosunga zobwezeretsera, zingakhale bwino kugwiritsa ntchito njira ngati RAIDZ2 kapena RAID10.

Mutha kutsimikizira kuti dziwe linapangidwa bwino poyendetsa:

$ sudo zpool status

ΠΈ

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

Mwachikhazikitso, ZFS imakweza dziwe lomwe langopangidwa kumene mwachindunji /zomwe nthawi zambiri zimakhala zosafunika. Mutha kusintha izi pochita:

zfs set mountpoint=/mnt/data data

Kuchokera apa, mutha kusankha kupanga gulu limodzi kapena angapo kuti musunge deta yanu. Ndinapanga ziwiri, imodzi yosungirako Time Machine ndi imodzi yosungiramo mafayilo omwe amagawana nawo. Ndinachepetsa kukula kwa data ya Time Machine ku 512 GB kuti zisakule mpaka kalekale.

Kukhathamiritsa

zfs set compression=on data

Lamuloli limathandizira kuthandizira kwa ZFS. Kuponderezana kumagwiritsa ntchito mphamvu zochepa za CPU, koma kumatha kusintha kwambiri ma I/O, chifukwa chake kumalimbikitsidwa nthawi zonse.

zfs set relatime=on data

Ndi lamulo ili, timachepetsa kuchuluka kwa zosintha atimekuchepetsa m'badwo wa IOPS mukapeza mafayilo.

Mwachikhazikitso, ZFS pa Linux imagwiritsa ntchito 50% ya kukumbukira kwakuthupi kwa ARC. Kwa ine, pamene chiwerengero cha mafayilo ndi ochepa, ndalamazi zikhoza kuwonjezeka mpaka 90%, popeza ntchito zina pa seva sizidzagwira ntchito.

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

Ndiye ndi chithandizo arc_summary.py Mutha kutsimikizira kuti zosinthazo zachitika:

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

Kupanga ntchito zobwerezabwereza

Ndinagwiritsa ntchito systemd-zpool-scrub kukhazikitsa zowerengera za systemd kuti ziyeretse kamodzi pa sabata, ndi zfs-auto-chithunzi kuti mupange zithunzithunzi mphindi 15 zilizonse, ola limodzi ndi tsiku limodzi.

Kukhazikitsa kwa Netatalk

nettalk ndikukhazikitsa gwero lotseguka la AFP (Apple Filing Protocol). Kutsatira malangizo ovomerezeka a CentOS, ndapanga phukusi la RPM ndikuliyika mumphindi zochepa chabe.

Kukonzekera kosintha

$ 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

Zindikirani kuti vol dbnest Ndikusintha kwakukulu kwa ine, monga mwachisawawa Netatalk amalemba nkhokwe ya CNID ku mizu ya fayilo, zomwe sizinali zofunika popeza fayilo yanga yayikulu ili pa USB, chifukwa chake ndiyochedwa. Kuyatsa chimodzimodzi vol dbnest zimatsogolera kusungirako nkhokwe mu Volume root, yomwe pakadali pano ili ya ZFS dziwe ndipo ili kale dongosolo la kukula mofulumira.

Kuthandizira Ma Ports mu 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
Ngati zonse zidakhazikitsidwa bwino, ndiye kuti makina anu ayenera kuwonekera mu Finder, ndipo Time Machine iyeneranso kugwira ntchito.

Zokonda zowonjezera
Kuwunika kwa SMART

Ndibwino kuti muyang'ane momwe ma disks anu alili kuti mupewe kulephera.

$ sudo yum install smartmontools
$ sudo systemctl start smartd

Daemon kwa UPS

Imayang'anira kuchuluka kwa APC UPS ndikuzimitsa makinawo pomwe mtengowo umakhala wotsika kwambiri.

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

Kusintha kwa Hardware

Patangotha ​​​​sabata ndikukhazikitsa dongosololi, ndinayamba kudandaula kwambiri za kukumbukira komwe sikunali kwa ECC komwe kumayikidwa mu seva. Kuphatikiza apo, pankhani ya ZFS, kukumbukira kowonjezera kwa buffering kumakhala kothandiza kwambiri. Chifukwa chake ndidatembenukiranso ku Amazon, komwe ndidagula 2x Kingston DDR3 8GB ECC RAM kwa $80 iliyonse ndikulowetsa RAM yapakompyuta yomwe mwini wake wakale adayika. Dongosololi lidayambika koyamba popanda vuto, ndipo ndidawonetsetsa kuti thandizo la ECC latsegulidwa:

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

chifukwa

Zotsatira zake zinandisangalatsa kwambiri. Tsopano nditha kuyika kulumikizana kwa seva ya 1Gbps LAN pokopera mafayilo, ndipo Time Machine imagwira ntchito mosalakwitsa. Kotero, kawirikawiri, ndine wokondwa ndi kukhazikitsidwa.

Mtengo wonse:

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

Chiwerengero = $ 689

Tsopano ndikhoza kunena kuti mtengo wake unali woyenera.

Kodi mumapanga ma seva anu a NAS?

Kupanga Nyumba Yotsika mtengo ya Linux Home NAS System

Kupanga Nyumba Yotsika mtengo ya Linux Home NAS System

Source: www.habr.com

Kuwonjezera ndemanga