لينڪس تي هڪ سستو گهر NAS سسٽم ٺاهڻ

لينڪس تي هڪ سستو گهر NAS سسٽم ٺاهڻ

مان، ٻين ڪيترن ئي MacBook پرو استعمال ڪندڙن وانگر، ناقص اندروني ياداشت جي مسئلي سان منهن ڪيو ويو. وڌيڪ صحيح هجڻ لاءِ ، rMBP جيڪو آئون روزانو استعمال ڪندو هو صرف 256GB جي گنجائش سان ايس ايس ڊي سان ليس هوندو هو ، جيڪو قدرتي طور تي ، ڪافي وقت تائين ڪافي نه هو.

۽ جڏهن، هر شي جي چوٽي تي، مون پنهنجي پروازن دوران ويڊيو رڪارڊ ڪرڻ شروع ڪيو، صورتحال صرف خراب ٿي وئي. اهڙين پروازن کان پوءِ فلمايل فوٽيج جو حجم 50+ GB هو، ۽ منهنجو غريب 256GB SSD تمام جلد ڀريو ويو، مون کي هڪ ٻاهرين 1TB ڊرائيو خريد ڪرڻ تي مجبور ڪيو. تنهن هوندي، هڪ سال کان پوء، اهو وڌيڪ ڊيٽا جي مقدار کي سنڀالي نه سگهيو جيڪو آئون ٺاهي رهيو آهيان، بيڪارگي جي گهٽتائي جو ذڪر نه ڪرڻ ۽ بيڪ اپ کي اهم معلومات جي ميزباني لاء غير مناسب بڻائي ڇڏيو.

تنهن ڪري، هڪ نقطي تي مون فيصلو ڪيو ته هڪ وڏي NAS تعمير ڪرڻ جي اميد ۾ ته هي نظام گهٽ ۾ گهٽ ڪجهه سالن تائين ختم ٿي ويندو بغير ڪنهن ٻئي اپ گريڊ جي ضرورت آهي.

مون هن مضمون کي بنيادي طور تي هڪ ياد ڏياريندڙ طور لکيو آهي ته مون ڇا ڪيو هو ۽ مون اهو ڪيئن ڪيو هو ان صورت ۾ مون کي ٻيهر ڪرڻ جي ضرورت آهي. مون کي اميد آهي ته اهو توهان لاءِ به ڪارائتو هوندو جيڪڏهن توهان ساڳيو ڪرڻ جو فيصلو ڪيو.

ٿي سگهي ٿو اهو خريد ڪرڻ آسان آهي؟

تنهن ڪري، اسان ڄاڻون ٿا ته اسان ڇا حاصل ڪرڻ چاهيون ٿا، سوال رهي ٿو: ڪيئن؟

مون پهريون ڀيرو تجارتي حلن کي ڏٺو ۽ خاص طور تي Synology ۾ ڏٺو، جيڪو مارڪيٽ تي بهترين صارف-گريڊ NAS سسٽم مهيا ڪرڻ هو. تنهن هوندي به، هن خدمت جي قيمت ڪافي تيز ٿي چڪو آهي. سستا 4-بي سسٽم جي قيمت $300+ آهي ۽ هارڊ ڊرائيو شامل نه آهي. ان کان سواء، اهڙي کٽ جي اندروني ڀرڻ خود خاص طور تي متاثر کن نه آهي، جيڪو ان جي حقيقي ڪارڪردگي کي سوال ۾ سڏيندو آهي.

پوءِ مون سوچيو: ڇو نه پاڻ هڪ NAS سرور ٺاهي؟

هڪ مناسب سرور ڳولڻ

جيڪڏهن توهان اهڙي سرور کي گڏ ڪرڻ وارا آهيو، ته سڀ کان پهريان توهان کي درست هارڊويئر ڳولڻ جي ضرورت آهي. استعمال ٿيل سرور ھن تعمير لاءِ ڪافي مناسب ھئڻ گھرجي، ڇو ته اسان کي اسٽوريج جي ڪمن لاءِ گھڻي ڪارڪردگي جي ضرورت نه پوندي. ضروري شين مان، اسان کي نوٽ ڪرڻ گهرجي رام جي هڪ وڏي رقم، ڪيترن ئي SATA connectors ۽ سٺو نيٽ ورڪ ڪارڊ. جيئن ته منهنجو سرور منهنجي مستقل رهائش جي جڳهه تي ڪم ڪندو، شور جي سطح پڻ اهم آهي.

مون eBay تي منهنجي ڳولا شروع ڪئي. جيتوڻيڪ مون کي اتي تمام گهڻو استعمال ٿيل Dell PowerEdge R410/R210 مليا آهن $100 کان گهٽ، سرور روم ۾ ڪم ڪرڻ جو تجربو، مون کي خبر هئي ته هنن 1U يونٽ تمام گهڻو شور ڪيو ۽ گهر جي استعمال لاءِ مناسب نه هئا. ضابطي جي طور تي، ٽاور سرور اڪثر ڪري گهٽ شور هوندا آهن، پر، بدقسمتي سان، اي بي تي انهن مان ٿورڙا هئا، ۽ اهي سڀئي يا ته قيمتي يا گهٽ طاقتور هئا.

ڏسڻ لاءِ ايندڙ جڳهه Craiglist هئي، جتي مون ڏٺو ته ڪنهن کي استعمال ٿيل HP ProLiant N40L صرف $75 ۾ وڪرو ڪيو ويو! مان انهن سرورن کان واقف هئس، جن جو استعمال به لڳ ڀڳ $300 جي لڳ ڀڳ هوندو آهي، تنهن ڪري مون وڪڻندڙ کي اي ميل ڪئي ان اميد ۾ ته اشتهار اڃا چالو هو. اهو ڄاڻڻ بعد ته اهو معاملو هو، مون، ٻه ڀيرا سوچڻ کان سواء، هن سرور کي کڻڻ لاء سان ميٽيو ڏانهن رخ ڪيو، جيڪو پهرين نظر ۾ ضرور مون کي خوش ٿيو. اهو گهٽ ۾ گهٽ لباس هو ۽ ٿوري مٽي کان سواء، ٻيو سڀ ڪجهه عظيم هو.

لينڪس تي هڪ سستو گهر NAS سسٽم ٺاهڻ
سرور جو فوٽو، فوري طور تي خريداري کان پوء

هتي ڪٽ لاءِ وضاحتون آهن جيڪي مون خريد ڪيون آهن:

  • سي پي يو: AMD Turion (tm) II Neo N40L Dual-core پروسيسر (64-bit)
  • رام: 8 GB غير اي سي سي ريم (اڳوڻي مالڪ طرفان انسٽال ٿيل)
  • فليش: 4 GB USB ڊرائيو
  • SATA رابطا:4+1
  • اين آء: 1 Gbps آن بورڊ NIC

چوڻ جي ضرورت ناهي، ڪيترن سالن کان پراڻي هجڻ جي باوجود، هن سرور جي وضاحت اڃا تائين تمام اعلي آهي NAS اختيارن جي بازار تي، خاص طور تي رام جي لحاظ کان. ٿوري دير کان پوء، مون کي 16 GB اي سي سي تائين وڌايو ويو بفر سائيز ۽ وڌايل ڊيٽا تحفظ سان.

هارڊ ڊرائيو چونڊيو

ھاڻي اسان وٽ ھڪڙو بھترين ڪم ڪندڙ نظام آھي ۽ باقي رھيو آھي ان لاءِ هارڊ ڊرائيو چونڊيو. ظاهر آهي، انهي لاءِ $75 مون صرف سرور حاصل ڪيو بغير HDD، جنهن مون کي حيران نه ڪيو.

ٿورڙي تحقيق ڪرڻ کان پوء، مون کي معلوم ٿيو ته WD Red HDDs NAS سسٽم 24/7 هلائڻ لاءِ بهترين موزون آهن. انهن کي خريد ڪرڻ لاءِ، مون Amazon ڏانهن رخ ڪيو، جتي مون هر هڪ جون 4 ڪاپيون 3 ٽي بي خريد ڪيون. بنيادي طور تي، توهان ڪنهن به HDD سان ڳنڍي سگهو ٿا جيڪو توهان چاهيو ٿا، پر پڪ ڪريو ته اهي ساڳيا صلاحيت ۽ رفتار جا آهن. اهو توهان جي مدد ڪندي ڊگهي عرصي ۾ ممڪن RAID ڪارڪردگي مسئلن کان بچڻ.

سسٽم سيٽ اپ

مان سمجهان ٿو ته ڪيترائي سسٽم استعمال ڪندا انهن جي NAS تعميرات لاءِ FreeNAS، ۽ ان سان گڏ ڪجھ به غلط ناهي. بهرحال، منهنجي سرور تي هن سسٽم کي نصب ڪرڻ جي امڪان جي باوجود، مون استعمال ڪرڻ کي ترجيح ڏني CentOS، ڇاڪاڻ ته لينڪس سسٽم تي ZFS شروعاتي طور تي پيداوار جي ماحول لاء تيار ڪيو ويو آهي، ۽ عام طور تي، لينڪس سرور جو انتظام مون کان وڌيڪ واقف آهي. ان کان علاوه، مون کي فينسي انٽرفيس ۾ دلچسپي نه هئي ۽ FreeNAS پاران مهيا ڪيل خاصيتون - RAIDZ صف ۽ AFP شيئرنگ مون لاء ڪافي هئا.

يو ايس بي تي CentOS کي انسٽال ڪرڻ بلڪل سادو آهي - صرف USB کي بوٽ ماخذ طور بيان ڪريو، ۽ لانچ ڪرڻ تي انسٽاليشن وزرڊ توهان جي سڀني مرحلن ذريعي رهنمائي ڪندو.

RAID تعمير

CentOS کي ڪاميابي سان انسٽال ڪرڻ کان پوءِ، مون لينڪس تي 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

مهرباني ڪري نوٽ ڪريو ته مان هتي هارڊ ڊرائيو جي IDs استعمال ڪري رهيو آهيان انهن جي ڊسپلي نالن جي بدران (sdx) خط جي تبديليءَ جي ڪري بوٽ کان پوءِ سوار ٿيڻ ۾ ناڪام ٿيڻ جو موقعو گھٽائڻ لاءِ.

مون هڪ الڳ SSD تي هلندڙ ZIL ۽ L2ARC ڪيش پڻ شامل ڪيو، SSD کي ٻن حصن ۾ ورهايو: 5GB ZIL لاءِ ۽ باقي 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

ھتان توھان چونڊي سگھوٿا ھڪڙو يا وڌيڪ ڊيٽا سيٽ ٺاهڻ لاءِ ڊيٽا کي ذخيرو ڪرڻ لاءِ. مون ٻه ٺاهيا، هڪ ٽائيم مشين جي بيڪ اپ لاءِ ۽ ٻيو شيئر ٿيل فائل اسٽوريج لاءِ. مون ٽائيم مشين ڊيٽا سيٽ جي سائيز کي 512 GB جي ڪوٽا تائين محدود ڪيو ان جي لاتعداد ترقي کي روڪڻ لاءِ.

حاصل ڪرڻ

zfs set compression=on data

هي حڪم ZFS کمپريشن سپورٽ کي چالو ڪري ٿو. ڪمپريشن گھٽ ۾ گھٽ سي پي يو پاور استعمال ڪري ٿو، پر خاص طور تي I/O throughput کي بهتر ڪري سگھي ٿو، تنھنڪري هميشه سفارش ڪئي وئي آھي.

zfs set relatime=on data

هن حڪم سان اسان تازه ڪاري جو تعداد گھٽائي ڇڏيو atimeIOPS نسل کي گھٽائڻ لاءِ جڏهن فائلن تائين رسائي حاصل ڪرڻ لاءِ.

ڊفالٽ طور، لينڪس تي ZFS استعمال ڪري ٿو 50٪ جسماني ياداشت جي ARC لاءِ. منهنجي حالت ۾، جڏهن فائلن جو ڪل تعداد ننڍڙو آهي، اهو محفوظ طور تي 90٪ تائين وڌائي سگهجي ٿو ڇاڪاڻ ته سرور تي ٻيون ايپليڪيشنون نه هلنديون.

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

پوء استعمال ڪندي arc_summary.py توھان تصديق ڪري سگھو ٿا ته تبديليون اثر انداز ٿي چڪيون آھن:

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

بار بار ٿيندڙ ڪمن کي ترتيب ڏيڻ

مون استعمال ڪيو systemd-zpool-scrub سسٽم ٽائمرز کي ترتيب ڏيڻ لاء هفتي ۾ هڪ ڀيرو صاف ڪرڻ لاء ۽ zfs-خودڪار سنيپ شاٽ هر 15 منٽن، 1 ڪلاڪ ۽ 1 ڏينهن ۾ خودڪار طور تي سنيپ شاٽ ٺاهڻ لاءِ.

Netatalk انسٽال ڪرڻ

نيٽالڪ AFP جو هڪ کليل ذريعو عمل آهي (ايپل فائلنگ پروٽوڪول). پٺيان CentO لاءِ سرڪاري تنصيب جون هدايتونS، مون لفظي طور تي صرف چند منٽن ۾ گڏ ڪيل ۽ نصب ٿيل RPM پيڪيج حاصل ڪيو.

ٺاھ جوڙ

$ 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 منهنجي صورت ۾ هڪ وڏي بهتري آهي، ڇاڪاڻ ته ڊفالٽ طور نيٽ ٽالڪ CNID ڊيٽابيس کي فائل سسٽم جي روٽ ڏانهن لکي ٿو، جيڪو بلڪل به گهربل نه هو، ڇاڪاڻ ته منهنجو مکيه فائل سسٽم USB تي هلندو آهي ۽ ان ڪري نسبتا سست آهي. چالو ٿيڻ vol dbnest حجم روٽ ۾ ڊيٽابيس کي محفوظ ڪرڻ جي نتيجي ۾، جيڪو هن صورت ۾ ZFS پول سان تعلق رکي ٿو ۽ اڳ ۾ ئي وڌيڪ پيداوار جو هڪ آرڊر آهي.

فائر وال ۾ بندرگاهن کي فعال ڪرڻ

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

sudo firewall-cmd --permanent --zone=عوامي --add-port=afpovertcp/tcp
جيڪڏهن هر شي صحيح ترتيب ڏني وئي هئي، توهان جي مشين کي ڳولڻ گهرجي، ۽ ٽائيم مشين کي پڻ ڪم ڪرڻ گهرجي.

اضافي سيٽنگون
SMART مانيٽرنگ

اهو ڊسڪ جي ناڪامي کي روڪڻ لاء توهان جي ڊسڪ جي صورتحال جي نگراني ڪرڻ جي صلاح ڏني وئي آهي.

$ sudo yum install smartmontools
$ sudo systemctl start smartd

UPS لاءِ ڊيمون

APC UPS جي چارج کي مانيٽر ڪري ٿو ۽ سسٽم کي بند ڪري ٿو جڏهن چارج انتهائي گهٽ ٿئي ٿي.

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

هارڊويئر اپ گريڊ

سسٽم قائم ڪرڻ کان هڪ هفتي بعد، مون کي سرور جي غير ECC ياداشت جي باري ۾ پريشان ٿيڻ شروع ڪيو. ان کان سواء، ZFS جي صورت ۾، بفرنگ لاء اضافي ياداشت تمام مفيد ٿيندو. تنهن ڪري مان واپس Amazon ڏانهن ويو آهيان جتي مون خريد ڪيو 2x Kingston DDR3 8GB ECC RAM هر هڪ لاءِ 80 $ ۽ بدلائي ڊيسڪ ٽاپ ريم کي اڳوڻي مالڪ طرفان نصب ڪيل. سسٽم پهريون ڀيرو بغير ڪنهن پريشاني جي بوٽ ڪيو، ۽ مون پڪ ڪيو ته اي سي سي سپورٽ چالو ڪيو ويو:

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

نتيجي ۾

مان نتيجو سان ڏاڍو خوش ٿيو. هاڻي مان فائلن کي نقل ڪندي سرور جي 1Gbps LAN ڪنيڪشن کي مسلسل مصروف رکي سگهان ٿو، ۽ ٽائيم مشين بي عيب ڪم ڪري ٿي. تنهن ڪري، مجموعي طور تي، مان سيٽ اپ سان خوش آهيان.

مجموعي قيمت:

  1. 1 * HP ProLiant N40L = $75
  2. 2 * 8 GB ECC رام = $174
  3. 4 * WD ڳاڙهو 3 TB HDD = $440

ڪل = $ 689

هاڻي مان چئي سگهان ٿو ته قيمت ان جي قابل هئي.

ڇا توهان پنهنجو NAS سرور ٺاهيو ٿا؟

لينڪس تي هڪ سستو گهر NAS سسٽم ٺاهڻ

لينڪس تي هڪ سستو گهر NAS سسٽم ٺاهڻ

جو ذريعو: www.habr.com

تبصرو شامل ڪريو