التعامل مع الأقراص والتخزين (Storage, Partitions, LVM)

دقائق القراءة: 6

يُعد فهم التخزين في لينكس خطوة أساسية لأي مستخدم أو مسؤول نظام يريد إدارة الخوادم أو الأجهزة بثقة. فقبل تثبيت التطبيقات أو إعداد الخدمات، يجب معرفة كيف يرى النظام الأقراص، وكيف يتم تقسيمها، وأين تُركّب أنظمة الملفات داخل الشجرة القياسية. ولهذا يرتبط هذا الموضوع مباشرة بفهم هيكلية ملفات لينكس (Filesystem Hierarchy Standard – FHS) وبمهارات الدخول الأول إلى الطرفية (Terminal): الأوامر الأساسية والمساعدة (man, help).

في هذا المقال سنشرح المفاهيم العملية المتعلقة بالأقراص والتخزين، بدءاً من التعرف على الأجهزة التخزينية، مروراً بالـ partitions وأنظمة الملفات، ووصولاً إلى LVM الذي يمنح مرونة كبيرة عند إدارة السعات على الخوادم. الهدف ليس فقط تنفيذ أوامر، بل فهم ما يحدث فعلاً داخل النظام لتقليل الأخطاء وحماية البيانات.

ما الفرق بين القرص، القسم، ونظام الملفات؟

القرص هو وسيط التخزين نفسه، مثل /dev/sda أو /dev/nvme0n1. أما القسم Partition فهو جزء منطقي من هذا القرص، مثل /dev/sda1. بعد ذلك يأتي نظام الملفات مثل ext4 أو xfs، وهو البنية التي تنظّم تخزين الملفات والمجلدات داخل القسم.

بمعنى آخر: القرص هو الحاوية، والقسم هو مساحة مخصصة داخله، ونظام الملفات هو الطريقة التي تُدار بها البيانات. هذا التمييز مهم جداً لأن الخطأ في أي طبقة قد يؤدي إلى فقدان معلومات أو تعطل الإقلاع.

كيف يعرض لينكس الأقراص والأقسام؟

في لينكس تظهر وحدات التخزين على شكل ملفات أجهزة تحت المسار /dev. ويمكنك استعراضها بعدة أوامر مفيدة. من الأفضل دائماً قراءة المخرجات بعناية وربطها بنقاط التركيب Mount Points قبل تنفيذ أي تعديل.

lsblk
sudo fdisk -l
df -h
blkid

يوفر الأمر lsblk عرضاً منظماً للأقراص والأقسام ونقاط التركيب. أما fdisk -l فيُظهر تفاصيل أعمق عن الجداول والسعات. ويُستخدم df -h لمعرفة الاستخدام الفعلي للمساحات المركبة، بينما يكشف blkid عن نوع نظام الملفات وUUID.

أنواع جداول التقسيم: MBR وGPT

قبل إنشاء الأقسام، يجب معرفة نوع جدول التقسيم المستخدم على القرص. النوعان الأشهر هما MBR وGPT. يُعتبر GPT الخيار الأحدث والأفضل في معظم الأنظمة الحديثة، لأنه يدعم أقراصاً أكبر وعدداً أكبر من الأقسام، كما يتكامل جيداً مع UEFI.

أما MBR فما زال موجوداً في بعض البيئات القديمة، لكنه محدود من حيث السعة وعدد الأقسام الأساسية. عند تجهيز خادم جديد أو قرص حديث، يُفضّل غالباً استخدام GPT ما لم تكن هناك متطلبات توافق قديمة.

إنشاء الأقسام وتهيئتها

بعد التعرف على القرص الصحيح، يمكن البدء بإنشاء قسم جديد باستخدام أدوات مثل fdisk أو parted. بعد إنشاء القسم، لا يكون جاهزاً لتخزين الملفات إلا بعد تهيئته بنظام ملفات مناسب.

sudo fdisk /dev/sdb
sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /data
sudo mount /dev/sdb1 /data

في المثال السابق تم فتح القرص /dev/sdb لإنشاء قسم جديد، ثم تهيئته باستخدام ext4، ثم تركيبه على المسار /data. إذا كنت غير معتاد على إنشاء المجلدات وإدارتها، فقد يفيدك الرجوع إلى التعامل مع الملفات والمجلدات (Navigation, CRUD Operations).

أي أمر يُنفذ على القرص الخطأ قد يؤدي إلى مسح بيانات نهائياً. تأكد دائماً من اسم الجهاز مثل /dev/sdb قبل استخدام أوامر التقسيم أو التهيئة.

التركيب التلقائي عبر ملف fstab

التركيب اليدوي مفيد للاختبار، لكنه لا يكفي في البيئات الدائمة. لضمان تركيب القسم تلقائياً بعد إعادة التشغيل، يتم تعديل الملف /etc/fstab. ويُفضل استخدام UUID بدلاً من اسم الجهاز، لأن أسماء الأجهزة قد تتغير بين الإقلاعات.

sudo blkid /dev/sdb1
sudo nano /etc/fstab

ثم تتم إضافة سطر مشابه للتالي:

UUID=xxxx-xxxx /data ext4 defaults 0 2

بعد الحفظ، اختبر الملف دون إعادة تشغيل عبر الأمر التالي:

sudo mount -a

إذا ظهر خطأ في fstab فقد يمنع ذلك النظام من الإقلاع بشكل طبيعي. لذلك تُعد المراجعة الدقيقة أمراً بالغ الأهمية.

ما هو LVM ولماذا يُستخدم؟

يشير LVM إلى Logical Volume Manager، وهو طبقة إدارة مرنة فوق الأقراص والأقسام التقليدية. بدلاً من الاعتماد على أقسام ثابتة يصعب تعديلها لاحقاً، يتيح LVM إنشاء وحدات منطقية يمكن توسيعها أو تنظيمها بسهولة أكبر. لهذا يُستخدم كثيراً في الخوادم وبيئات العمل المتغيرة.

يتكون LVM من ثلاثة عناصر رئيسية:

  • PV: وحدات فيزيائية مثل الأقراص أو الأقسام المخصصة لـ LVM.
  • VG: مجموعة تخزين تجمع أكثر من PV في مساحة موحدة.
  • LV: وحدات منطقية يتم إنشاؤها من داخل VG وتُعامل كأنها أقسام عادية.

الفائدة الكبرى هنا هي المرونة. فإذا امتلأت مساحة قسم معين، يمكن توسيع الوحدة المنطقية بدلاً من إعادة تصميم كامل بنية الأقراص.

خطوات عملية لإنشاء LVM

لنفترض أن لديك قسماً جديداً مثل /dev/sdb1 وتريد تحويله إلى مساحة LVM ثم إنشاء وحدة منطقية وتنسيقها وتركيبها.

sudo pvcreate /dev/sdb1
sudo vgcreate vg_data /dev/sdb1
sudo lvcreate -L 20G -n lv_backup vg_data
sudo mkfs.ext4 /dev/vg_data/lv_backup
sudo mkdir -p /backup
sudo mount /dev/vg_data/lv_backup /backup

بهذه الخطوات تم إنشاء Physical Volume ثم Volume Group باسم vg_data ثم Logical Volume باسم lv_backup. بعد ذلك أصبح بالإمكان التعامل مع الوحدة المنطقية كما لو كانت قسماً عادياً.

توسيع وحدة منطقية في LVM

إحدى أهم مزايا LVM هي التوسعة السريعة عند توفر مساحة حرة داخل مجموعة التخزين. بعد زيادة حجم الوحدة المنطقية، يجب أيضاً توسيع نظام الملفات حتى يستفيد من المساحة الجديدة.

sudo lvextend -L +10G /dev/vg_data/lv_backup
sudo resize2fs /dev/vg_data/lv_backup

إذا كنت تستخدم xfs بدلاً من ext4، فستحتاج عادة إلى الأمر xfs_growfs بدلاً من resize2fs.

توسيع الحجم أسهل بكثير من تقليصه. أما تصغير الأقسام أو الوحدات المنطقية فيتطلب تخطيطاً دقيقاً ونسخاً احتياطياً موثوقاً قبل التنفيذ.

مراقبة المساحات والتحقق من سلامة الإعداد

بعد إنشاء الأقسام أو إعداد LVM، يجب متابعة حالة التخزين بشكل دوري. يساعدك ذلك على اكتشاف الامتلاء المبكر أو أخطاء التركيب أو تغيّر UUID. كما أن متابعة السجلات مفيدة عند ظهور مشكلات في الإقلاع أو في عمليات mount، ويمكن الاستفادة هنا من مقال مراقبة السجلات (Logs) وتحليل الأخطاء (journalctl, /var/log).

lsblk
df -h
sudo pvs
sudo vgs
sudo lvs

تعرض أوامر pvs وvgs وlvs حالة طبقات LVM بوضوح. ويمكن دمج هذه الفحوصات مع مهام دورية عبر جدولة المهام التلقائية باستخدام (Cron Jobs) أو حتى عبر كتابة سكربتات أتمتة لمهام النسخ الاحتياطي والصيانة.

أفضل الممارسات عند إدارة التخزين

  • تحقق دائماً من اسم القرص قبل التهيئة أو الحذف.
  • استخدم UUID داخل /etc/fstab بدل أسماء الأجهزة المباشرة.
  • احرص على أخذ نسخة احتياطية قبل أي تعديل كبير على الأقسام.
  • استخدم LVM في البيئات التي تحتاج إلى مرونة مستقبلية في التوسعة.
  • راجع الصلاحيات بعد إنشاء نقاط التركيب، خصوصاً عند مشاركة التخزين بين مستخدمين أو خدمات، ويمكن الاستفادة من إدارة الصلاحيات والملكية (Chmod, Chown, Sudo).

خاتمة

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

إذا أتقنت الأساسيات وطبقتها بحذر، فستمتلك قاعدة قوية للانتقال لاحقاً إلى موضوعات أعمق مثل RAID، التشفير، وسياسات النسخ الاحتياطي المتقدمة، وهي مهارات محورية في أي بيئة لينكس احترافية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *