اذهب إلى المحتوى

كيفية إعداد NFS و iSCSI على أوبنتو لتشارك الملفات على الشبكة


عبد اللطيف ايمش

ubuntu-server-network-file-sharing.thumb

نظام ملفات الشبكة (NFS)

يسمح NFS للنظام بمشاركة المجلدات والملفات مع الآخرين عبر الشبكة؛ إذ يمكن للمستخدمين والبرامج الوصول إلى الملفات في الأنظمة البعيدة كأنها ملفاتٌ محلية باستخدام NFS.

بعض الميزات الملحوظة التي يوفرها استخدام NFS:

  • محطات العمل المحلية تستهلك مساحة قرص أقل ﻷنها تستخدم بيانات يمكن تخزينها على جهاز واحد وتبقى متاحةً للبقية عبر الشبكة.
  • لا توجد حاجة ليُنشَأ للمستخدمين مجلدات منزل منفصلة في كل جهاز شبكي؛ حيث يمكن ضبط مجلدات المنزل على خادوم NFS وتتوفر للجميع عبر الشبكة.
  • أجهزة التخزين مثل سواقات CD-ROM وأقراص USB يمكن استخدامها من الأجهزة الأخرى على الشبكة، وربما يقلل هذا من عدد مشغلات الوسائط القابلة للإزالة في الشبكة.

التثبيت

أدخل الأمر الآتي في الطرفية لتثبيت خادوم NFS:

sudo apt-get install nfs-kernel-server

الضبط

تستطيع ضبط المجلدات لكي «تُصدَّر» عبر إضافتها لملف ‎/etc/exports، على سبيل المثال:

/ubuntu *(ro,sync,no_root_squash)
/home *(rw,sync,no_root_squash)

تستطيع استبدال * بإحدى صيغ أسماء المضيفين، تأكد من أن تعريف اسم المضيف محدد كي لا تستطيع الأنظمة غير المعنية أن تصل إلى NFS.

نفِّذ الأمر الآتي في مِحَث الطرفية لتشغيل خادوم NFS:

sudo service nfs-kernel-server start

ضبط عميل NFS

استخدم الأمر mount لوصل مجلد NFS مشترك من جهاز لآخر؛ وذلك بكتابة أمرٍ شبيه بالأمر الآتي في الطرفية:

sudo mount example.hostname.com:/ubuntu /local/ubuntu

تحذير: يجب أن تكون نقطة الوصل ‎/local/ubuntu موجودةً مسبقًا، ولا يجب أن يكون هنالك أيّة ملفات أو مجلدات فرعية في نقطة الوصل.

طريقة أخرى لوصل مشاركة NFS من جهاز لآخر هي إضافة سطر إلى ملف ‎/etc/fstab؛ يجب أن يُحدِّد هذا السطر اسم مضيف خادوم NFS، والمجلد الذي صُدِّرَ من الخادوم، والمجلد في الجهاز المحلي الذي يجب وصل NFS إليه؛ الشكل العام للسطر الذي سيُضاف إلى ملف ‎/etc/fstab هو:

example.hostname.com:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr

إذا حدثت معك مشكلة في وصل NFS، فتأكد أن الحزمة nfs-common مثبتة في نظام عميلك؛ وذلك بإدخال الأمر الآتي في الطرفية:

sudo apt-get install nfs-common

مصادر

«مبادر»‏ iSCSI‏

إن iSCSI‏ (Internet Small Computer System Interface) هو بروتوكول يسمح بنقل أوامر SCSI عبر الشبكة؛ عادةً يُستخدَم iSCSI في SAN‏ (Storage Area Network) للسماح للخواديم بالوصول إلى مخزن كبير لمساحة القرص الصلب؛ يُشير بروتوكول iSCSI للعملاء «بالمبادرين» (initiators) ولخواديم iSCSI بالأهداف (targets).

يمكن أن يُضبَط خادوم أوبنتو كمبادر أو هدف iSCSI، يوفر هذا الدرس الأوامر والضبط اللازم لإعداد مبادر iSCSI، على فرض أنك تملك هدف iSCSI في شبكتك وتملك الامتيازات المناسبة للاتصال إليه؛ التعليمات حول إعداد هدف تختلف اختلافًا كبيرًا بين مزودي العتاد، لذلك راجع توثيق الشركة لضبط هدف iSCSI الذي عندك.

تثبيت مبادر iSCSI

لضبط خادوم أوبنتو كمبادر iSCSI، فثبِّت الحزمة open-iscsi بإدخال الأمر الآتي:

sudo apt-get install open-iscsi

ضبط مبادر iSCSI

بعد أن تُثبَّت حزمة open-iscsi، عليك تعديل الملف ‎/etc/iscsi/iscsid.conf مغيرًا ما يلي:

node.startup = automatic

تستطيع التأكد إذا كان الهدف متوفرًا حاليًا باستخدام الأداة iscsiadm؛ وذلك بإدخال الأمر الآتي في الطرفية:

sudo iscsiadm -m discovery -t st -p 192.168.0.10
  • ‎-m: يحدد النمط الذي سيُنفَّذ فيه iscsiadm.
  • ‎-t: يحدد نوع الاستكشاف.
  • -p: يحدد عنوان IP للهدف.

ملاحظة: عدِّل 192.168.0.10 إلى عنوان IP للهدف على شبكتك المحلية.

إذا كان الهدف متوفرًا، فيجب أن تشاهد مخرجات شبيهة بما يلي:

192.168.0.10:3260,1 iqn.1992-05.com.emc:sl7b92030000520000-2

ملاحظة: قد يختلف رقم iqn وعنوان IP في الأعلى بناءً على العتاد الذي تستخدمه.

يجب أن تكون الآن قادرًا على الاتصال بهدف iSCSI، واعتمادًا على إعدادات الهدف، فربما تحتاج لإدخال بيانات المستخدم لتسجيل الدخول إلى عقدة iSCSI:

sudo iscsiadm -m node --login

تأكد الآن أن القرص الجديد قد عُثِرَ عليه باستخدام dmesg:

dmesg | grep sd

[   4.322384] sd 2:0:0:0: Attached scsi generic sg1 type 0
[   4.322797] sd 2:0:0:0: [sda] 41943040 512-byte logical blocks:(21.4GB/20.0 GiB)
[   4.322843] sd 2:0:0:0: [sda] Write Protect is off
[   4.322846] sd 2:0:0:0: [sda] Mode Sense: 03 00 00 00
[   4.322896] sd 2:0:0:0: [sda] Cache data unavailable
[   4.322899] sd 2:0:0:0: [sda] Assuming drive cache: write through
[   4.323230] sd 2:0:0:0: [sda] Cache data unavailable
[   4.323233] sd 2:0:0:0: [sda] Assuming drive cache: write through
[   4.325312] sda: sda1   sda2 < sda5 >
[   4.325729] sd 2:0:0:0: [sda] Cache data unavailable
[   4.325732] sd 2:0:0:0: [sda] Assuming drive cache: write through
[   4.325735] sd 2:0:0:0: [sda] Attached SCSI disk
[2486.941805] sd 4:0:0:3: Attached scsi generic sg3 type 0
[2486.952093] sd 4:0:0:3: [sdb] 1126400000 512-byte logical blocks: (576 GB/537 ↪ GiB)
[2486.954195] sd 4:0:0:3: [sdb] Write Protect is off
[2486.954200] sd 4:0:0:3: [sdb] Mode Sense: 8f 00 00 08
[2486.954692] sd 4:0:0:3: [sdb] Write cache: disabled, read cache: enabled, ↪ doesn't support DPO or FUA
[2486.960577] sdb: sdb1
[2486.964862] sd 4:0:0:3: [sdb] Attached SCSI disk

في الناتج أعلاه، يكون sdb هو قرص iSCSI الجديد؛ تذكر أن هذا مجرد مثال، قد يختلف الناتج عمّا تراه على الشاشة.

أنشِئ الآن قسمًا، وهيّء نظام الملفات، وصِل قرص iSCSI الجديد؛ وذلك بإدخال ما يلي في الطرفية:

sudo fdisk /dev/sdb
n
p
enter
w

ملاحظة: الأوامر الآتية من داخل الأداة fdisk؛ راجع man fdisk لتعليمات تفصيلية؛ أيضًا الأداة cfdisk في بعض الأحيان تكون «صديقة» للمستخدم أكثر.

هيّء الآن نظام الملفات وصِله إلى ‎/srv على سبيل المثال:

sudo mkfs.ext4 /dev/sdb1
sudo mount /dev/sdb1 /srv

في النهاية، أضف مدخلة إلى ‎/etc/fstab لوصل قرص iSCSI أثناء الإقلاع:

/dev/sdb1 /srv ext4 defaults,auto,_netdev 0 0

فكرة جيدة هي التأكد أن كل شيء يعمل على ما يرام قبل إعادة تشغيل الخادوم.

مصادر

ترجمة -وبتصرف- للمقالين: Ubuntu Server Guide: Network File System NFS و Ubuntu Server Guide: ISCSI Initiator.


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...