كيفية إجراء مهام إدارة أجهزة التخزين البسيطة في لينكس


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

تمهيد

هنالك الكثير من الأدوات المتوفرة لإدارة التخزين في لينكس، لكن هنالك عددٌ قليلٌ منها نستعمله يوميًا لإدارة وصيانة أجهزة التخزين. سأريك في هذا الدرس بعضًا من أشهر الأدوات التي تستعمل لإدارة نقاط الوصل وأجهزة التخزين وأنظمة الملفات.
لن نشرح في هذا الدرس كيفية تهيئة أجهزة التخزين لأوّل استعمال لها في لينكس، إذ شرحنا ذلك في درسٍ بعنوان «كيفية تقسيم وتهيئة أجهزة التخزين في لينكس» الذي يبيّن لك كيفية إعداد جهاز تخزين جديد إن لم يكن مضبوطًا من قبل.
للمزيد من المعلومات حول الاصطلاحات والمفاهيم المستخدمة في هذا الدرس، فراجع درس «تقديم إلى اصطلاحات ومفاهيم التخزين في لينكس».

how-to-perform-basic-administration-tasks-for-storage-devices-in-linux.png

معرفة القدرة التخزينية والمساحة المستخدمة عبر df

غالبًا ما تكون أهم معلومة تريد معرفتها عن وسائط التخزين في جهازك هي القدرة التخزينية والمساحة المستخدمة في أجهزة التخزين الموصولة إلى النظام.
لمعرفة ما المساحة التخزينية المتوافرة إجمالًا وكم نسبة استخدامها، فسنستعين بالأمر df، الذي يعرض ناتجه مقدرًا بالكيلوبايت، لكنك لن تستفيد عادةً من ذلك لذا أضف الخيار ‎-h إلى الناتج لعرضه بصيغةٍ سهلة القراءة:

df -h

Filesystem      Size  Used Avail Use% Mounted on
udev            238M     0  238M   0% /dev
tmpfs            49M  624K   49M   2% /run
/dev/vda1        20G  1.1G   18G   6% /
tmpfs           245M     0  245M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           245M     0  245M   0% /sys/fs/cgroup
tmpfs            49M     0   49M   0% /run/user/1000
/dev/sda1        99G   60M   94G   1% /mnt/data

وكما تلاحظ، القسم ‎/dev/vda1 الموصول في / ممتلئٌ بنسبة 6% وفيه 18 غيغابايت من المساحة التخزينية الفارغة، بينما القسم ‎/dev/sda1 موصولٌ في ‎/mnt/data وهو فارغٌ وفيه 94 غيغابايت من المساحة التخزينية. الأسطر الأخرى تستخدم أنظمة الملفات tmpfs و devtmpfs والتي هي الذاكرة المؤقتة (volatile memory) ممثلةً كما لو أنَّها وسيطُ تخزينٍ دائمٍ. يمكننا استثناء تلك القيم من الناتج بكتابة الأمر:

df -h -x tmpfs -x devtmpfs

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.1G   18G   6% /
/dev/sda1        99G   60M   94G   1% /mnt/data

الناتج الحالي يُركِّز على عرض استخدام الأقراص بإزالة بعض الأجهزة الخاصة التي لن ننظر إليها عادةً.

معرفة معلومات عن الأجهزة الكتلية باستخدام lsblk

الجهاز الكتلي هو قطعةٌ من العتاد التي يمكن استعمالها لتخزين البيانات، مثل أقراص التخزين الصلبة الاعتيادية (HDD) أو أقراص التخزين ذات الحالة الثابتة (solid state drive أي SSD) أو وحدات الذاكرة الفلاشية (flash memory stick) …إلخ. والأجهزة الكتلية هي أقراصٌ فيزيائيةٌ التي تُكتَب عليها أنظمة الملفات، وتُحدِّد أنظمة الملفات بدورها كيفية تخزين الملفات والبيانات على القرص.
يمكن استعمال الأداة lsblk لعرض معلومات عن الأجهزة الكتلية الموجودة في النظام. تَتبَع الميزات المتاحة لهذه الأداة للنسخة المُثبَّتة، لكن يمكن عمومًا استخدام الأداة lsblk لعرض معلومات عن القرص نفسه، بالإضافة إلى عرض معلومات عن طريقة التقسيم وأنظمة الملفات التابعة لتلك الأقسام.
إذا نفّذنا الأمر lsblk دون وسائط فسيُظهِر أسماء الأجهزة، والأرقام الرئيسية (major) والثانوية (minor) والتي تستخدم من نواة لينكس لتتبع الأقراص والأجهزة، وفيما إذا كان القرص قابلًا للإزالة، ومساحته التخزينية، وفيما إذا كان موصولًا بنمط «القراءة فقط»، ونوعه (أي قرص أم قسم)، ونقطة الوصل. تتطلب بعض الأنظمة استخدام امتيازات الجذر (أي استخدام الأمر sudo) لعرض الناتج عرضًا صحيحًا، وهذا ما سنفعل في المثال الآتي:

sudo lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
vda    253:0    0   20G  0 disk 
└─vda1 253:1    0   20G  0 part /

أهم الأجزاء المعروضة في الناتج السابق هي الاسم الذي يُشير إلى اسم الجهاز في مجلد ‎/dev، ومساحته التخزينية، ونقطة الوصل. يمكنك أن ترى في الناتج السابق أنَّنا نملك قرصًا (‎/dev/vda) فيه قسمٌ وحيد (‎/dev/vda1) الموصول في / وقرصًا آخر (‎/dev/sda) الذي لم يُقسَّم بعد.
للحصول على معلوماتٍ متعلقة بإدارة القرص والقسم، فمرِّر الخيار ‎--fs الذي يعمل في بعض الإصدارات:

sudo lsblk --fs

NAME   FSTYPE LABEL  UUID                                 MOUNTPOINT
sda                                                       
vda                                                       
└─vda1 ext4   DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /

إذا لم يكن الخيار ‎--fs متوافرًا في نسختك، فيمكنك أن تطلب إظهار نفس الناتج السابق باستخدام الخيار ‎-o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT‎.
للحصول على معلومات حول بنية القرص، فنفِّذ الأمر:

sudo lsblk -t

NAME   ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED    RQ-SIZE  RA WSAME
sda            0    512      0     512     512    1 deadline     128 128    2G
vda            0    512      0     512     512    1              128 128    0B
└─vda1         0    512      0     512     512    1              128 128    0B

هنالك المزيد من الاختصارات المتوافرة لعرض مختلف المعلومات عن أقراصك وأقسامك. يمكنك عرض جميع المعلومات باستخدام الخيار ‎-0 أو يمكنك تحديد ما هي الحقول التي تريدها بتحديد اسمها باستخدام الخيار ‎-o. خيار المساعدة ‎-h سيعرض جميع الحقول المتاحة:

lsblk -h

. . .

Available columns (for --output):
        NAME  device name
       KNAME  internal kernel device name

       . . .

  SUBSYSTEMS  de-duplicated chain of subsystems
         REV  device revision
      VENDOR  device vendor

For more details see lsblk(8).

فصل ووصل أنظمة الملفات

عليك قبل استخدامٍ قرصٍ جديدٍ أن تُقسِّمه، وأن تُهيئه بنظام ملفاتٍ معيّن، ثم تصله. عملية التقسيم والتهيئة تُجرى عادةً لمرة واحدة، لذا لن نناقشها هنا، وكما ذكرتُ في بداية هذا الدرس، تستطيع العثور على معلوماتٍ تفصيلية حول تقسيم قرص وتهيئة قسمٍ فيه في هذه المقالة.
أما الوصل (mounting) فهو أمرٌ تفعله كل حين، فوصل نظام ملفاتٍ يعني أنَّه أصبح متاحًا للاستخدام داخل النظام في نقطة الوصل المُحدَّدة. ونقطة الوصل هي مجلدٌ الذي يمكننا الوصول عبره إلى نظام الملفات.
يوجد أمرَين يُكمِّلان بعضها بعضًا ويستخدمان لإدارة عملية الوصل هما mount و umount. يُستعمَل الأمر mount لوصل نظام ملفات إلى شجرة الملفات الحالية، ففي نظام لينكس هنالك شجرة ملفات وحيدة لكامل النظام بغض النظر عن عدد الأجهزة الفيزيائية التي تتألف منها. أما الأمر umount (انتبه أنَّ اسم الأمر هو umount وليس unmount) فيُستعمَل لفصل نظام ملفات. إضافةً إلى الأمرين السابقين، يوجد أمرٌ باسم findmnt الذي يفيد بجمع معلومات عن حالة أنظمة الملفات الموصولة.

استخدام الأمر mount

أبسط طريقة لاستخدام mount هي تمرير مسار القسم ثم نقطة الوصل التي تريد وصله إليها:

sudo mount /dev/sda1 /mnt

نقطة الوصل –التي هي آخر وسيط والذي يُحدِّد أين يجب وصل نظام الملفات الجديد– يجب أن تُشير دائمًا إلى مجلدٍ فارغ.
يمكنك تحديد بعض الخيارات عند الوصل، وصحيحٌ أنَّ الأمر mount سيحاول معرفة نوع نظام الملفات، لكن من الأفضل تمرير نوع نظام الملفات عبر الخيار ‎-t. فلنظام ملفات Ext4 نكتب:

sudo mount -t ext4 /dev/sda1 /mnt

هنالك الكثير من الخيارات الأخرى التي تُغيّر طريقة وصل نظام الملفات؛ حيث تتواجد خيارات الوصل العامة في قسم «FILESYSTEM INDEPENDENT MOUNT OPTIONS» في صفحة الدليل man mount، ويوجد أيضًا أقسام لمختلف أنظمة الملفات تحت عنوان «FILESYSTEM SPECIFIC MOUNT OPTIONS» في نفس صفحة الدليل السابقة لشرح الخيارات الخاصة بأنظمة ملفات معيّنة.
يمكنك تمرير الخيارات الأخرى باستخدام ‎-o، فمثلًا يمكنك وصل القسم باستخدام الخيارات الافتراضية (والتي هي rw,suid,dev,exec,auto,nouser,async) بكتابة ‎-o defaults، أما إذا أردتَ مثلًا أن تتجاوز إذن السماح بالقراءة والكتابة وتريد وصل القسم للقراءة فقط، فيكنك إضافة الخيار ro والذي سيتجاوز الخيار rw من defaults:

sudo mount -t ext4 -o defaults,ro /dev/sda1 /mnt

لوصل جميع أنظمة الملفات الموجودة في ملف ‎/etc/fstab فمرِّر الخيار ‎-a:

sudo mount -a

عرض خيارات وصل أنظمة الملفات

يمكن عرض خيارات الوصل المستعملة مع قسمٍ معيّن بتمرير مسار نقطة الوصل إلى الأمر findmnt، فمثلًا لو مررنا نقطة الوصل التي استعملناها في المثال السابق لوصل نظام الملفات للقراءة فقط إلى الأمر findmnt فسيبدو الناتج شبيهًا بما يلي:

findmnt /mnt

TARGET SOURCE    FSTYPE OPTIONS
/mnt   /dev/sda1 ext4   ro,relatime,data=ordered

يمكن أن تستفيد من هذا خير استفادة إن كنت تجرِّب عدِّة خيارات ووجدت ضالتك في إحداها، فتستطيع حينها أن تستعمل findmnt لمعرفة ما هي خيارات الوصل لإضافتها إلى ملف ‎/etc/fstab أو إذا أردتَ وصل القسم يدويًا في المستقبل.

فصل نظام الملفات

يستعمل الأمر umount لفصل نظام ملفات معيّن، أكرِّر أنَّ الأمر هو umount وليس unmount.
الشكل العام للأمر بسيطٌ جدًا وهو تمرير نقطة الوصل أو الجهاز الموصول إلى الأمر umount. تأكّد أنَّك لا تستخدم أيّة ملفات في نقطة الوصل ولا توجد أيّة برامج (بما في ذلك الصَدَفَة [shell] التي تستعملها) تعمل داخل نقطة الوصل:

cd ~
sudo umount /mnt

لن تحتاج غالبًا إلى أيّة خيارات خاصة عند فصل أنظمة الملفات.

الخلاصة

صحيحٌ أنَّ الأدوات التي شرحناها في مقالتنا هذه ليس كثيرةً، لكنها تكفي احتياجاتك اليومية بخصوص إدارة الأقسام وأجهزة التخزين.
ترجمة -وبتصرّف- للمقال How To Perform Basic Administration Tasks for Storage Devices in Linux لصاحبه Justin Ellingwood





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


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



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن