المحتوى عن 'nfs'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML
    • HTML5
  • CSS
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 3 نتائج

  1. بدأنا في المقال السابق من سلسلة دروس RHCSA شرحَ كيفية إعداد وسائط التخزين المحليّة باستخدام parted و ssm وشرحنا كيفية إنشاء تجزئات معمّاة وتركيبها Mounting أثناء إقلاع النظام. نذكّر - كما أشرنا إلى ذلك خلال الدرس السابق - بخطورة تنفيذ مهام الإدارة الحرجة على أنظمة الملفّات أثناء تركيبها. سنراجع في هذا الدرس أهمّ صيغ نظم الملفات المستخدمة في Red Hat Enterprise Linux 7 ثم نغطّي مواضيع تركيب أنظمة الملفات الشبكية (CIFS و NFS)، استخدامها وفصلها؛ إما يدويا أو تلقائيا. سنتطرّق أيضا لماهية قوائم التحكم في الوصول Access control litsts, ACL. المتطلبات تأكد قبل المواصلة مع هذا الدرس من توفّرك على خادوميْ NFS وSamba لتشارك الملفات؛ تمكنك مراجعة الدرسيْن التاليّيْن لإعدادها: إعداد تشارك الملفات على RedHat Enterprise Linux باستخدام Samba. تثبيت نظام الملفات الشبكي NFS وتركيبه على أوبونتو. سنستخدم في هذا الدرس جهازيْن؛ الأول على العنوان 192.168.2.100 ويشغّل خدمتيْ Samba و NFS (لا يهمّ نظام التشغيل)؛ أما الثاني وهو العميل فيعمل بنظام RHEL 7 على العنوان 192.168.2.200؛ وهو الذي سنطبق عليه الخطوات المشروحة هنا. أنظمة الملفات على RHEL 7 اعتمد نظام التشغيل RHEL 7 نظام الملفات XFS مبدئيا نظرا لأدائه العالي وقابليته الكبيرة للتمدّد Scalability. يدعم XFS مبدئيا معيار user_xattr (خاصيّات المستخدم الموسَّعة Extended user attributes) وقوائم التحكم في الوصول ACL؛ وهو ما يعني أنك لا تحتاج للتصريح برغبتك في استخدام هذه الخيارات حتى تكون متاحة؛ عكسَ ماهو كائن في أنظمة الملفّات ext3 وext4 (تنصح ردهات بعدم استخدام نظام ext2 للملفات على RHEL 7) التي يتوجّب فيها ذكر هذه الخاصيّات، في ملفّ fstab على سبيل المثال. خاصيّات المستخدم الموسَّعة هي تمديد لخاصيات الملف وتأخذ صيغة “خاصيّة:قيمة”. تُربَط هذه الخاصيّات بملفّ أو مجلَّد وتُستخدَم لإضافة وظائف جديدة إلى نظام الملفّات؛ ترميز Encoding الملفّ، أو نوع mime الخاصّ به على سبيل المثال. قوائم التحكم في الوصول صُمّمت قوائم التحكم في الوصول ACL لتمكين مدير النظام من التحكّم في وصول المستخدمين إلى الملفّات بطريقة أكثر تفصيلا مما تتيحه الأذون التقليدية. سنعرض في الفقرات أدناه كيف تُستعمَل قوائم التحكّم في الوصول عمليا. يوجد نوعان من قوائم التحكم في الوصول؛ قوائم التحكم في الوصول الخاصّة بالنفاذ Access ACLs التي يمكن تطبيقها سواءً على الملفّات أو المجلّدات، وتلك المبدئية Default ACLs التي لا تُطبَّق إلا على المجلّدات. إن لم تُعيَّن قوائم تحكّم في الوصول لملفّات موجودة في مجلّد فإنها تأخذ قوائم التحكّم في الوصول المبدئية المطبّقة على المجلّد الأب. يمكن لقوائم التحكم في الوصول أن تُعدّ بالنسبة لمستخدم، مجموعة مستخدمين أو لمستخدم لا ينتمي لمجموعة المستخدمين المالكة للملفّ. نستخدم الأمر setfacl مع الخيار m- لضبط قوائم التحكّم في الوصول؛ ومع الخيار x- لحذفها. ننشئ في ما يلي مجموعة مستخدمين باسم academy ثم نضيف إليها المستخدمَيْن ahmed و fatima: # groupadd academy # useradd ahmed # useradd fatima # passwd ahmed New password: Retype new password: # passwd fatima New password: Retype new password: # usermod -a -G academy ahmed # usermod -a -G academy fatima ثم نتأكد من أن المستخدمَين ينتميان إلى المجموعة academy: # id ahmed uid=1006(ahmed) gid=1009(ahmed) groups=1009(ahmed),1008(academy) # id fatima uid=1007(fatima) gid=1010(fatima) groups=1010(fatima),1008(academy) يظهر جيدا أن المستخدميْن ينتميان إلى المجموعة academy إضافة لانتمائهما لمجموعة بنفس اسم المستخدم (تُنشَأ مع إنشاء المستخدم مجموعة تحمل نفس الاسم). سننشئ الآن مجلدا باسم playground داخل المجلّد mnt/، وننشئ داخله ملفّا باسم testfile.txt؛ ثم نجعل academy هي المجموعة المالكة للملفّ ونحدّد الأذون عليه بـ770 (أذون القراءة، الكتابة والتنفيذ لكل من المالك والمجموعة المالكة، ولا أذون لبقية المستخدمين): # mkdir /mnt/playground # touch /mnt/playground/testfile.txt # chown :academy /mnt/playground/testfile.txt # chmod 770 /mnt/playground/testfile.txt ثم ننتقل إلى الحساب ahmed ثم نكتب عن طريقه الجملة التالية في الملفّ mnt/playground/testfile.txt/، ونعود إلى الحساب الجذر: # su ahmed $ echo "My name is Ahmed" > /mnt/playground/testfile.txt $ exit نكرّر نفس الشيء مع الحساب fatima ولكن بكتابة جملة جديدة في آخر الملفّ: # su fatima $ echo "My name is Fatima" >> /mnt/playground/testfile.txt $ exit ملحوظة 1: استخدمنا عامل التوجيه << مع المستخدم الثاني (fatima) حتى لا نحذف ما أضافه المستخدم الأول (ahmed). ملحوظة 2: يعود السبب في كون ahmed و fatima يستطيعان الكتابة في الملف mnt/playground/testfile.txt/ إلى انتمائهما للمجموعة academy التي جعلناها مالكة الملف وأعطيناها كلّ الأذون عليه. سننشئ مستخدما ثالثا samir: # useradd samir # passwd samir New password: Retype new password: يريد samir الكتابة في الملفّ mnt/playground/testfile.txt/؛ ستخفق العمليّة كما هو متوقع نظرا لعدم امتلاكه إذن الكتابة في الملفّ. لكن ماذا إن أردنا إتاحة إمكانيّة الكتابة على الملفّ mnt/playground/testfile.txt/ للمستخدم samir، الذي لا ينتمي إلى المجموعة academy؟ الإجابة الآنية هي إضافته للمجموعة academy؛ لكن هذا سيمنحه إذن الكتابة على جميع الملفات التي تملكها المجموعة، وهو ما لا نرغب فيه. يمكننا استخدام قوائم التحكم في الوصول لهذا الغرض. يطلب الأمر setfacl عند استخدام الخيار m- التعديل على قوائم التحكم في الوصول الخاصّة بملفّ أو إضافتها، ويُستخدَم على النحو التالي: setfacl -m <rules> <files> حيث <files> ملفّ أو مجموعة ملفّات، و<rules> قواعد تأخذ إحدى الصيغ التاليّة: u:<uid>:<perms>: تضبُط قوائم التحكم في الوصول الخاصّة بالنفاذ على الملفّ بالنسبة لمستخدم؛ حيث uid معرّف المستخدم أو اسمه وperms الأذون التي نريد إعطاءها له. g:<gid>:<perms>: تضبط قوائم التحكم في الوصول الخاصّة بالنفاذ على الملفّ بالنسبة لمجموعة مستخدمين؛ حيث gid معرّف المجموعة أو اسمها وperms الأذون التي نريد إعطاءها له. m:<perms>: تحدّد قناع الأذون الفعلية Effective rights mask؛ وهي طريقة لتقييد الأذون الممنوحة للمستخدمين أو المجموعات غير المستخدم المالك والمجموعة المالكة o:<perms>: تعيّن قوائم التحكم في الوصول الخاصّة بالنفاذ بالنسبة المستخدمين غير المنتمين للمجموعة المالكة للملفّ. نحصُل على ما نريد بتطبيق القاعدة الأولى على الملفّ mnt/playground/testfile.txt/: # setfacl -m u:samir:rwx /mnt/playground/testfile.txt يضيف الأمر أعلاه قائمة للتحكم في الوصول تعطي للمستخدم samir أذون الكتابة w، القراءة r والتنفيذ x على الملفّ mnt/playground/testfile.txt/. يمكن الآن للمستخدم samir الكتابة في الملف mnt/playground/testfile.txt/. استخدم الأمر getfacl لعرض قوائم التحكم في الوصول بالنسبة لملفّ أو مجلّد: # getfacl /mnt/playground/testfile.txt getfacl: Removing leading '/' from absolute path names # file: mnt/playground/testfile.txt # owner: root # group: academy user::rwx user:samir:rwx group::rwx mask::rwx other::--- بالنسبة لقوائم التحكم في الوصول المبدئية فيمكن ضبطها بإضافة حرف d قبل القاعدة على النحو التالي (حيث directory مسار المجلّد): # setfacl -m d:o:r <directory> ستسمح قائمة التحكم في الوصول المبدئية التي عرّفها الأمر السابق لجميع المستخدمين غير الأعضاء في المجموعة المالكة بالحصول على إذن قراءة المحتويات التي ستضاف للمجلّد مستقبلا. تطبّق هذه القائمة على كل عنصر يُضاف إلى المجلّد ما لم تحدَّد له قائمة تحكم خاصّة به. لاحظ الفرق في نتيجة تنفيذ الأمر getfacl قبل ضبط قوائم التحكم في الوصول المبدئية وبعدها: # getfacl /mnt/playground/ getfacl: Removing leading '/' from absolute path names # file: mnt/playground/ # owner: root # group: root user::rwx group::r-x other::r-x # setfacl -m d:o:r /mnt/playground # getfacl /mnt/playground/ getfacl: Removing leading '/' from absolute path names # file: mnt/playground/ # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:group::r-x default:other::r-- تركيب نظام الملفات الشبكي NFS يُستخدَم الأمر showmount -e لسرد مجلدات NFS المتاحة على الخادوم. يتوفّر الأمر ضمن حزمة nfs-utils، لذا يجب أولا تثبيت هذه الحزمة: # yum update && yum install nfs-utils ثم ننفّذ الأمر: # showmount -e 192.168.2.100 Export list for 192.168.2.100: /share 192.168.2.200 تشير نتيجة الأمر أعلاه إلى أن الخادوم على العنوان 192.168.2.100 يتشارك المجلّد share/ مع العنوان 192.168.2.200 (عنوان الجهاز الذي نستخدمه). يمكن استخدام أمر mount لتركيب مجلدات متشاركة عبر نظام NFS على نظام الملفّات المحلي كالتالي: # mount -t nfs -o [options] remote_host:/remote/directory /local/directory حيث options خيارات التركيب (ليست ضرورية)، remote_host عنوان الخادوم الذي توجد عليه الملفّات المتشاركة، remote/directory/ مسار الملفّ على الخادوم البعيد وlocal/directory/ مسار التركيب على نظام الملفّات المحلي. يُكتَب الأمر في حالتنا (share/ هو مسار المجلد على الخادوم، كما يظهر في نتيجة الأمر showmount السابق؛ وmnt/nfs/ هو مجلد أنشأناه على نظام الملفات المحلي للتركيب عليه): # mkdir /mnt/nfs # mount -t nfs 192.168.2.100:/share /mnt/nfs ملحوظة: إن حصلت على خطأ Job for rpc-statd.service failed فهذا يعني أن الخدمة rpcbind التي يستغلها النظام للتواصل مع نظام الملفات الشبكي غير مشغَّلة. نفذ - في هذه الحالة - الأمرين التاليين لتشغيلها وتفعيلها مع إقلاع النظام: # systemctl enable rpcbind.socket # systemctl restart rpcbind.service ثم أعد تشغيل الجهاز وأعد تنفيذ أمر التركيب السابق. يتيح الأمر mount تركيب المجلدات للعمل عليها، لكن هذا التركيب لا يدوم لما بعد إعادة تشغيل النظام؛ إن أردنا جعل التركيب دائما فيجب أن نضيف سطرا جديدا إلى ملفّ etc/fstab/ المعدّ لهذا الغرض؛ يأخذ السطر الهيئة التالية: remote_host:/remote/directory /local/directory nfs options 0 0 تمكن ملاحظة أن المتغيرات المستخدمة هي نفسها المستخدمة مع أمر mount؛ المختلف هنا هو التموضع. يكون السطر - بعد تطبيق هذه الهيئة على حالتنا - على النحو التالي: 192.168.2.100:/share /mnt/nfs nfs defaults 0 0 تركيب ملفات Samba يكثُر استخدام خادوم Samba لتشارك الملفات في البيئات المختلطة (أنظمة تشغيل مختلفة، مثل وندوز ولينكس). تتيح أداة smbclient التي تأتي ضمن الحزمة samba-client، عرض الملفات المتوفّرة للتشارك عن طريق Samba: # smbclient -L 192.168.2.100 -U samba_user Enter samba_user's password: Domain=[MYGROUP] OS=[Windows 6.1] Server=[Samba 4.2.10] Sharename Type Comment --------- ---- ------- samba_share Disk Directory for collaboration IPC$ IPC IPC Service (Samba Server Version 4.2.10) samba_user Disk Home Directories Domain=[MYGROUP] OS=[Windows 6.1] Server=[Samba 4.2.10] Server Comment --------- ------- Workgroup Master --------- ------- سيُطلب منك إدخال كلمة سر المستخدم samba_user؛ الذي هو عضو في مستخدمي Samba على الخادوم. راجع مقال إعداد تشارك الملفات على RedHat Enterprise Linux باستخدام Samba للمزيد من التفاصيل عن إعداد Samba لمشاركة الملفات. ستحتاج من أجل تركيب مجلدات متشاركة عبر خادوم Samba لتثبيت الحزمة cifs-utils على العميل (جهازك): # yum update && yum install cifs-utils ثم استخدم الأمر mount على النحو التالي: # mount -t cifs -o credentials=/path/to/credentials/file //remote_host/samba_share /local/directory يحدّد الخيار credentials ملفّا لمعلومات استثياق مستخدم يحقّ له الوصول إلى المجلدات المتشاركة على الخادوم، remote_host هو عنوان الخادوم؛ samba_share اسم المجلد المتشارَك على الخادوم كما يظهر في نتيجة الأمر smbclient وlocal/directory/ مسار مجلد التركيب المحلي. ننشئ قبل تنفيذ أمر التركيب مجلدا خاصا لهذا الغرض: # mkdir /mnt/samba ثم ننشئ ملفّ الاستيثاق smbcredentials.، وهو ملفّ مخفي، في المجلد الشخصي للمستخدم الجذر (/root/) مع تحديد الأذون بـ600 حتى لا يمكن لغير المستخدم الجذر قراءة محتواه. نضع داخل ملفّ الاستيثاق البيانات على النحو التالي: username=samba_user password=samba_user password تحدّد قيمة المعطى الأول اسمَ المستخدم، وقيمةُ المعطى الثاني كلمةَ السر. # mount -t cifs -o credentials=/root/.smbcredentials //192.168.2.100/samba_share /mnt/samba إن أردت جعل الملفّ متاحا تلقائيا فيمكنك إضافة سطر على النحو التالي إلى ملفّ etc/fstab/: //192.168.0.10/samba_share /mnt/samba cifs credentials=/root/.smbcredentials,defaults 0 0 يمكن حذف ملفّ الاستيثاق (خيار credentials) إذا كان المجلد على الخادوم متاحا للعموم. يجب الانتباه إلى أنه يجب ليُركَّب المجلّد - في حالتيْ NFS وSamba - أن يكون الخادوم حيث توجد مجلدات التشارك متاحا عبر الشبكة. لا تكتف بقراءة الدرس؛ طبّق ما قرأته أكثر من مرة بطرق الخاصّة واستخدم قسم الأسئلة إن واجهتك مشكلة (مع تحديدها). ترجمة -وبتصرّف- للمقال RHCSA Series: Using ACLs (Access Control Lists) and Mounting Samba / NFS Shares – Part 7 لصاحبه Gabriel Cánepa.
  2. طوّرت شركة Sun Microsystems نظام الملفّات الشبكي Network file system, NFS سنة 1980 من أجل السماح بتشارك الملفّات والمجلّدات بين الأنظمة الشبيهة بيونكس (لينكس ويونكس). يتيح نظام NFS للملفّات تركيب Mounting ملفّات عبر الشّبكة والتعامل معها كما لو كانت مركَّبة محليًّا على نفس النظام. فوائد نظام NFS يسمح نظام NFS بالوصول إلى الملفّات عن بعد. يستخدم بنية عميل-خادوم Client/Server معيارية لتشارك الملفّات بين جميع الأجهزة العاملة بالأنظمة الشبيهة بيونكس. ليس ضروريًّا عند استخدام NFS أن تكون الأجهزة تعمل على نفس نظام التّشغيل. يمكن ضبط حلول للتخزين المركزيّ بمساعدة نظام NFS. يعثُر المستخدمون على بياناتهم مهما كان تواجدها الفعلي. لا توجد حاجة للتحيين Refresh اليدوي للحصول على الملفّات الجديدة. تدعم الإصدارات الحديثة من NFS قوائم التحكّم في الوصول ACL. يمكن تأمينه عبر الجدران الناريّة Firewalls وKerberos (ميثاق للاستيثاق عبر الشبكة). تدخلّ الملفّات التاليّة في إعداد NFS: ملفّ etc/exports/: وهو ملفّ الإعداد الرئيس؛ تعرّف فيه - على الخادوم - جميع الملفّات والمجلّدات المشاركة. ملفّ etc/fstab/: يجب إدراج سطر لكلّ نظام ملفّات مُركَّب ضمن هذا الملفّ حتى يكون التركيب دائما (يبقى بعد إعادة التشغيل). ملفّ etc/sysconfig/nfs/: يعرّف المنافذ التي تنصت الخدمات للاتّصالات الواردة عبرها. إعداد NFS على خادوم أوبونتو سنعتمد في هذا الدرس على جهازين يعملان بإحدى توزيعات لينكس التاليّة: دبيان، أوبونتو أو ردهات. سنثبّت على أحد الجهازين خادوم NFS وعلى الثاني عميلا له كالتالي: خادوم NFS على العنوان 192.168.2.200. عميل NFS على العنوان 192.168.2.150. يمكنك استخدام VirtualBox لإعداد بيئة عمل بالمواصفات أعلاه. تثبيت الخادوم والعميل سنحتاج لتثبيت حزم NFS على الخادوم والعميل: # apt-get update # apt-get install nfs-kernel-server nfs-common ملحوظة: يمكن الاكتفاء بالحزمة nfs-common على العميل. تشير العلامة # إلى أن الأمر ينفَّذ بصلاحيّات الجذر. إعداد خادوم NFS الخطوة الأولى هي تحديد المجلّد الذي نريد مشاركته؛ سننشئ واحدا لهذا الغرض (يمكنك اختيّار مجلّد موجود مسبقا): # mkdir /nfsshare ثم نغيّر ملكيّته إلى nobody:nogroup: # chown nobody:nogroup /nfsshare غيّرنا ملكيّة الملفّ إلى المستخدم nobody الذي هو حساب لا يملك سوى الصلاحيّات الدنيا ويُستخدَم عادة لتنفيذ سكربتات غير مأمونة المصدر حتى لا تلحق أي ضرر بالنظام. هذه الخطوة ضروريّة وإلا فلن يكون بمقدورك إضافة ملفّات إلى المجلّد انطلاقا من العميل؛ إلا إذا أضفت خيار no_root_squash كما هو مشروح أدناه (لا يُنصَح بذلك). ليمكن تشاركُ المجلّد يجب أن نضيفه إلى ملفّ الإعداد etc/exports/؛ نفتح هذا الملفّ (بصلاحيّات الجذر) ثم نضيف إليه السّطر التالي: /nfsshare 192.168.2.150(rw,sync) يسمح السّطر أعلاه بتشارك المجلّد nfsshare مع العميل على العنوان 192.168.2.150 مع تحديد خيارات التشارك. يمكن أن تكون الخيارات على النحو التالي: ro: الوصول عبر وضع القراءة فقط؛ أي أن العميل يمكنه الوصول إلى الملفات المتشاركة فقط دون أن يكون قادرا على التعديل عليها أو إنشاء ملفات جديدة. rw: يمنح العميل القدرة على الوصول إلى الملفّات والتعديل عليها. sync: مزامنة التعديلات. يعني هذا أن أي تعديل سيُحفَظ فورا على نظام الملفّات؛ قد يؤثّر هذا الخيار على الأداء في حالة وجود الكثير من التغييرات المتزامنة على ملفّات كبيرة. no_subtree_check: يفحص نظام NFS مبدئيّا جميع المجلدات التي يتفرّع منها المجلّد المتشارَك من أجل التحقّق من الأذون وتفاصيل أخرى. يؤدّي تفعيل هذه الخاصيّة إلى تعطيل الفحص ممّا يحسّن من الأداء ولكنّه يؤدّي التقليل من الأمان. no_root_squash: تسمح هذه الخاصيّة للمستخدم الجذر على الجهاز العميل بالوصول إلى الملفّات المتشاركة على الخادوم بصلاحيّات الجذر على الخادوم. لا يُنصَح لأسباب أمنيّة باستخدام هذا الخيار إلا في حالات خاصّة. نطبّق الأمر exportfs بعد الانتهاء من تحرير الملفّ exports من أجل اعتماد التعديلات: # exportfs -r ثم نشغّل خدمة NFS كالتالي: # service nfs-kernel-server start إعداد عميل NFS على أوبونتو يمكننا الآن تركيب مجلّد التشارك على العميل. تأكد من أنه يمكن التواصل عبر الشبكة بين الجهاز الخادوم والعميل؛ مثلا باستخدام الأمر ping على العميل (حيثُ 192.168.2.200 هو عنوان الخادوم): $ ping 192.168.2.200 PING 192.168.2.200 (192.168.2.200) 56(84) bytes of data. 64 bytes from 192.168.2.200: icmp_seq=7 ttl=52 time=363 ms 64 bytes from 192.168.2.200: icmp_seq=8 ttl=52 time=322 ms نبدأ أولا بالبحث عن الملفّات المتشاركة عبر NFS على الخادوم: $ showmount -e 192.168.2.200 Export list for 192.168.2.200: /nfsshare 192.168.2.150 يظهر من نتيجة الأمر أعلاه أن المجلّد nfsshare/ متاح للتشارك مع العميل ذي العنوان 192.168.2.150. تركيب المجلد على العميل سننشئ على العميل مجلّدًا باسم mnt/nfs/nfsshare_mount/ ونستخدمه لتركيب المجلّد nfsshare/ على العميل (المجلّد nfsshare/ الموجود على الخادوم): # mkdir -p /mnt/nfs/nfsshare_mount # mount -t nfs 192.168.2.200:/nfsshare /mnt/nfs/nfsshare_mount يمكننا التأكد من تركيب المجلّد بتنفيذ الأمر mount والبحث عن نوع الملفّات nfs: $ mount | grep nfs 192.168.2.200:/nfsshare on /mnt/nfs/nfsshare_mount type nfs (rw,vers=4,addr=192.168.2.200,clientaddr=192.168.2.150) يمكن الآن إضافة ملفّات إلى مجلّد التشارك عبر نقطة التركيب: # touch /mnt/nfs/nfsshare_mount/testfile.txt يمكن التأكد من على الخادوم بسرد محتويات المجلّد nfsshare/. إن أردت جعل التركيب دائما (لا يزول مع إقلاع النظام) فيمكنك إضافة السطر التالي إلى ملفّ etc/fstab/: 192.168.2.200:/nfsshare /mnt/nfs/nfsshare_mount nfs defaults 0 0 نفّذ الأمر mount -a بعد تعديل ملفّ fstab لاعتماد التغييرات فورا. ملحوظة: تأكد من إدخال القيم الصحيحة في ملفّ etc/fstab/؛ وجود أخطاء في صياغة السّطر يمكن أن يؤدي إلى عدم إقلاع النظام. فصل المجلد من العميل استخدم الأمر umount إن أردت فصل المجلّد المركَّب، تُمرّضر نقطة التركيب للأمر على النحو التالي: # umount /mnt/nfs/nfsshare_mount نفّذ الأمر mount | grep nfs للتأكد من فصل المجلّد. أوامر أساسية للتعامل مع ملفات NFS في ما يلي أوامر يكثُر استخدامها أثناء التعامل مع المجلّدات المشارَكة عبر نظام NFS: showmount -e: يعرض جميع المجلّدات المتشاركة المتاحة على الجهاز. showmount -e <server-ip>: يسرد قائمة بالمجلّدات المشاركة المتاحة على الخادوم ذي العنوان server-ip. showmount -d <server-ip>: سرد المجلّدات المشاركة المتاحة على الخادوم والمجلدات المتفرعة منها. exportfs -v: يعرض قائمة بالمجلّدات المتشاركة الموجوة على الخادوم. exportfs -a: يطلب من الخادوم مشاركة الملفّات المحدّدة في الملفّ etc/exports/. exportfs -u: يعمل عكسَ عمل الأمر السابق، إذ يوقف مشاركة المجلدات المحدّدة في etc/exports/. exportfs -r: يحدّث قائمة المشاركات بعد التعديل على الملفّ etc/exports/. يمكن اعتماد هذا المقال الذي يقدّم أساسيات تشارك الملفّات عبر نظام NFS للانتقال إلى تفاصيل أكثر تقدّما بخصوص NFS والميزات التي يقدّمها. ترجمة -وبتصرّف- للمقال How to Setup NFS (Network File System) on RHEL/CentOS/Fedora and Debian/Ubuntu لصاحبه Tarunika Shrivastava.
  3. نظام ملفات الشبكة (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مصادرLinux NFS faqصفحة ويكي أوبنتو «NFS Howto»«مبادر»‏ 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فكرة جيدة هي التأكد أن كل شيء يعمل على ما يرام قبل إعادة تشغيل الخادوم. مصادرموقع Open-iSCSI الإلكتروني.صفحة ويكي دبيان «Open-iSCSI».ترجمة -وبتصرف- للمقالين: Ubuntu Server Guide: Network File System NFS و Ubuntu Server Guide: ISCSI Initiator.