Мен, башка көптөгөн MacBook Pro колдонуучулары сыяктуу эле, ички эс тутумдун жетишсиздиги көйгөйүнө туш болдум. Тагыраак айтканда, мен күн сайын колдонгон rMBP 256 ГБ гана сыйымдуулугу бар SSD менен жабдылган, бул, албетте, узак убакытка жетишсиз болчу.
Анын үстүнө, мен учуу учурунда видео жаздыра баштаганда, абал ого бетер начарлап кетти. Мындай каттамдардан кийин тартылган кадрлардын көлөмү 50+ ГБ болгон жана менин начар 256 ГБ SSD бат эле толуп, мени тышкы 1 ТБ диск сатып алууга мажбурлады. Бирок, бир жылдан кийин, ал мындан ары мен иштеп жаткан маалыматтардын көлөмүн көтөрө албай калды, ашыкча жана камдык көчүрмөнүн жоктугун айтпаганда да, аны маанилүү маалыматты жайгаштыруу үчүн жараксыз кылды.
Ошентип, бир убакта мен бул система дагы бир жаңыртууну талап кылбастан, жок эле дегенде, бир-эки жылга жетет деген үмүт менен чоң УИА курууну чечтим.
Мен бул макаланы биринчи кезекте так эмне кылганымды жана кайра жасоо керек болсо, аны кантип жасаганымды эске салуу үчүн жаздым. Эгер сиз да ушундай кылууну чечсеңиз, бул сизге да пайдалуу болот деп ишенем.
Балким, сатып алуу оңойдур?
Ошентип, биз эмнени алгыбыз келгенин билебиз, суроо бойдон калууда: кантип?
Мен алгач коммерциялык чечимдерди карап чыктым жана өзгөчө рынокто эң жакшы керектөөчү класстагы NAS тутумдарын камсыз кылышы керек болгон Synologyди карадым. Бирок, бул кызматтын баасы кыйла жогору болуп чыкты. Эң арзан 4 булуңдуу системанын баасы $300+ турат жана катуу дисктерди камтыбайт. Мындан тышкары, мындай комплекттин ички толтуруу өзү өзгөчө таасирдүү эмес, бул анын реалдуу иштешине шек туудурат.
Анан мен ойлодум: эмне үчүн NAS серверин өзүм курбайм?
Ылайыктуу серверди табуу
Эгер сиз мындай серверди чогулта турган болсоңуз, анда биринчи кезекте керектүү жабдыкты табышыңыз керек. Колдонулган сервер бул куруу үчүн абдан ылайыктуу болушу керек, анткени сактоо тапшырмалары үчүн көп аткарууну талап кылбайбыз. Керектүү нерселердин арасында биз көп сандагы RAM, бир нече SATA туташтыргычы жана жакшы тармак карталарын белгилешибиз керек. Менин серверим туруктуу жашаган жеримде иштей тургандыктан, ызы-чуу деңгээли да маанилүү.
Мен eBayден издей баштадым. Мен ал жерден 410 доллардан ашпаган көп колдонулган Dell PowerEdge R210/R100 тапсам да, сервердик бөлмөдө иштөө тажрыйбасы бар, мен бул 1U бирдиктери өтө көп ызы-чуу чыгарганын жана үйдө колдонууга ылайыктуу эмес экенин билчүмүн. Эреже катары, мунара серверлери көбүнчө ызы-чуу азыраак, бирок, тилекке каршы, eBayде алардын саны аз болчу жана алардын бардыгы кымбат же кубаттуу эмес.
Кийинки издей турган жер Крейглист болчу, анда мен колдонулган HP ProLiant N40Lди болгону 75 долларга саткан адамды таптым! Мен бул серверлер менен тааныш болчумун, алардын баасы 300 доллардын тегерегинде болгон, ошондуктан мен сатуучуга жарнама дагы эле активдүү деп үмүттөнүп электрондук кат жөнөттүм. Ушундай болгонун билип, мен эки жолу ойлонбостон, бул серверди алуу үчүн Сан-Матеого жөнөдүм, бул бир караганда мени кубандырды. Анын эскилиги минималдуу болгон жана бир аз чаңдан башкасынын баары сонун болчу.
Сатып алгандан кийин дароо сервердин сүрөтү
Бул жерде мен сатып алган комплекттин мүнөздөмөлөрү:
- CPU: AMD Turion(tm) II Neo N40L Dual-Core Processor (64-бит)
- RAM: 8 ГБ эмес ECC RAM (мурунку ээси тарабынан орнотулган)
- жалын: 4 ГБ USB Drive
- SATA туташтыргычтары:4+1
- NIC: 1 Gbps борттогу NIC
Айта кетчү нерсе, бир нече жыл болгонуна карабастан, бул сервердин спецификациясы рыноктогу NAS варианттарынын көбүнөн, өзгөчө оперативдүү эс тутум жагынан дагы эле жогору турат. Бир аз убакыт өткөндөн кийин, мен буфердин көлөмүн көбөйтүү жана маалыматты коргоону жогорулатуу менен 16 ГБ ECCге чейин жаңырттым.
Катуу дисктерди тандоо
Азыр бизде эң сонун иштөө системасы бар жана ал үчүн катуу дисктерди тандоо гана калды. Албетте, ошол 75 долларга мен серверди HDDсиз гана алдым, бул мени таң калтырган жок.
Бир аз изилдөө жүргүзгөндөн кийин, мен WD Red HDDs NAS тутумдарын 24/7 иштетүү үчүн эң ылайыктуу экенин билдим. Аларды сатып алуу үчүн мен Amazonга кайрылдым, ал жерден ар бири 4 ТБдан 3 нуска сатып алдым. Негизинен, сиз каалаган HDDди туташтыра аласыз, бирок алардын кубаттуулугу жана ылдамдыгы бирдей экендигин текшериңиз. Бул узак мөөнөттүү келечекте мүмкүн болгон RAID аткаруу көйгөйлөрүнөн качууга жардам берет.
Системаны орнотуу
Мен көптөр NAS куруу үчүн системаны колдонот деп ойлойм
CentOS'ту USB'ге орнотуу абдан жөнөкөй - жөн гана USB'ди жүктөө булагы катары көрсөтүңүз жана ишке киргенде орнотуу устасы сизге анын бардык этаптары боюнча жетекчилик кылат.
RAID куруу
CentOSту ийгиликтүү орноткондон кийин, мен Linux'ка ZFSди да тизмеленгенден кийин орноттум
Бул процесс аяктагандан кийин, мен ZFS ядро модулун жүктөдүм:
$ sudo modprobe zfs
Ал эми буйрукту колдонуу менен RAIDZ1 массивди түздү 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
Сураныч, бул жерде мен алардын дисплей аталыштарынын ордуна катуу дисктердин идентификаторлорун колдонуп жатканымды эске алыңыз (sdx
) тамганын өзгөрүшүнө байланыштуу жүктөлгөндөн кийин орнотулбай калуу мүмкүнчүлүгүн азайтуу үчүн.
Мен ошондой эле өзүнчө SSDде иштеген ZIL жана L2ARC кэштерин кошуп, ал SSDди эки бөлүккө бөлдүм: ZIL үчүн 5 ГБ, калганы L2ARC үчүн.
RAIDZ1ге келсек, ал 1 дисктин бузулушуна туруштук бере алат. Көптөр бул пулдун опциясын RAIDди кайра куруу процессинде экинчи дисктин иштебей калуу ыктымалдыгынан улам колдонбоо керек деп ырасташат, бул маалымат жоголушуна алып келиши мүмкүн. Мен бул сунушту этибарга албай койдум, анткени мен алыскы түзмөктө маанилүү маалыматтардын резервдик көчүрмөсүн дайыма жасап турчумун, ал тургай бүт массивдин иштебей калышы маалыматтардын жеткиликтүүлүгүнө гана таасир этиши мүмкүн, бирок анын коопсуздугуна эмес. Эгерде сизде камдык көчүрмөлөрдү жасоо мүмкүнчүлүгү жок болсо, анда RAIDZ2 же RAID10 сыяктуу чечимдерди колдонуу жакшы болмок.
Бассейнди түзүү ийгиликтүү болгонун чуркап текшере аласыз:
$ sudo zpool status
и
$ sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
data 510G 7.16T 140K /mnt/data
Демейки боюнча, ZFS жаңы түзүлгөн бассейнге түз орнотот /
, бул жалпысынан жагымсыз. Сиз муну иштетүү менен өзгөртө аласыз:
zfs set mountpoint=/mnt/data data
Бул жерден сиз маалыматтарды сактоо үчүн бир же бир нече маалымат топтомун түзүүнү тандай аласыз. Мен экөөнү түздүм, бири Time Machine камдык көчүрмөсү үчүн жана бири жалпы файлдарды сактоо үчүн. Мен анын чексиз өсүшүнө жол бербөө үчүн Time Machine маалымат топтомунун көлөмүн 512 ГБ квота менен чектедим.
оптималдаштыруу
zfs set compression=on data
Бул буйрук ZFS кысуу колдоосун иштетет. Кысуу процессордун минималдуу күчүн колдонот, бирок I/O өткөрүү жөндөмдүүлүгүн кыйла жакшыртат, ошондуктан дайыма сунушталат.
zfs set relatime=on data
Бул буйрук менен биз жаңыртуулардын санын азайтабыз atime
файлдарга кирүүдө IOPS генерациясын азайтуу.
Демейки боюнча, Linux боюнча ZFS ARC үчүн физикалык эстутумдун 50% колдонот. Менин учурда, файлдардын жалпы саны аз болгондо, аны коопсуз түрдө 90% га чейин көбөйтүүгө болот, анткени серверде башка тиркемелер иштебейт.
$ cat /etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=14378074112
Андан кийин колдонуу
$ 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
...
Кайталануучу тапшырмаларды орнотуу
Мен колдондум
Netatalk орнотулууда
Конфигурацияны орнотуу
$ 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
деп белгилешет vol dbnest
бул менин ишимдеги чоң жакшыруу, анткени Netatalk демейки боюнча CNID маалымат базасын файл тутумунун тамырына жазат, бул менин негизги файл системасы USBде иштегендиктен, анчалык деле каалабайт, ошондуктан салыштырмалуу жай. Күйгүзүү vol dbnest
Бул учурда ZFS бассейнине таандык жана ансыз деле жемиштүү чоңдуктун тартибине ээ болгон Көлөмдүн тамырында маалымат базасын сактоого алып келет.
Firewallдагы портторду иштетүү
$ sudo firewall-cmd --permanent --zone=public --add-service=mdns
$ sudo firewall-cmd --permanent --zone=public --add-port=afpovertcp/tcp
sudo брандмауэр-cmd --туруктуу --zone=public --add-port=afpovertcp/tcp
Эгер баары туура конфигурацияланган болсо, анда сиздин машинаңыз Finderде көрсөтүлүшү керек жана Time Machine да иштеши керек.
Кошумча орнотуулар
SMART мониторинг
Дисктин бузулушуна жол бербөө үчүн дисктердин абалын көзөмөлдөө сунушталат.
$ sudo yum install smartmontools
$ sudo systemctl start smartd
UPS үчүн Daemon
APC UPSтин зарядын көзөмөлдөйт жана заряд өтө азайганда системаны өчүрөт.
$ sudo yum install epel-release
$ sudo yum install apcupsd
$ sudo systemctl enable apcupsd
Аппараттык камсыздоону жаңыртуу
Системаны орноткондон бир жума өткөндөн кийин мен сервердин ECC эмес эс тутуму жөнүндө көбүрөөк тынчсыздана баштадым. Мындан тышкары, ZFS учурда буферлөө үчүн кошумча эстутум абдан пайдалуу болот. Ошентип, мен Amazonга кайтып бардым, ал жерден 2x Kingston DDR3 8 ГБ ECC оперативдүү эс тутумун ар бири 80 долларга сатып алдым жана мурунку ээси орноткон рабочий оперативдүү эстутумду алмаштырдым. Система биринчи жолу эч кандай көйгөйсүз жүктөлдү жана мен ECC колдоосу иштетилгенине ынандым:
$ dmesg | grep ECC
[ 10.492367] EDAC amd64: DRAM ECC enabled.
жыйынтык
Мен натыйжага абдан ыраазы болдум. Эми мен файлдарды көчүрүү менен сервердин 1 Гбит/сек LAN туташуусун дайыма бош кыла алам жана Time Machine кемчиликсиз иштейт. Ошентип, жалпысынан мен орнотууга ыраазымын.
Жалпы наркы:
- 1 * HP ProLiant N40L = 75 доллар
- 2 * 8 ГБ ECC RAM = 174 доллар
- 4 * WD Red 3 TB HDD = 440 доллар
жалпы = $ 689
Эми баасына татыктуу болду десем болот.
Сиз NAS серверлериңизди жасайсызбы?
Source: www.habr.com