نظرة عامة
كثيراً ما يواجه مديرو الأنظمة صعوبات عند تفكيك طبقات التخزين المعقدة التي تجمع بين LVM ومخطط الأجهزة (Device Mapper) ونقاط التوصيل النشطة. يقدم هذا الدليل شرحاً عملياً لاستخدام أداة blkdeactivate لتنفيذ عمليات الفصل وإلغاء التنشيط بصورة آمنة وتلقائية؛ حيث سنبتعد عن النظريات الجافة ونبني بيئة تجريبية متكاملة باستخدام أقراص وهمية لنرى النتائج بأعيننا خطوة بخطوة.
1. تجهيز حزم العمل واستكشاف إمكانيات blkdeactivate
نبدأ أولاً بجلب الحزم الأساسية لإدارة طبقات التخزين وأدوات النظام عبر تثبيت lvm2 وutil-linux.

صُممت أداة blkdeactivate خصيصاً للتعامل مع التبعيات الهرمية المتداخلة بين وحدات التخزين؛ حيث تتولى فك الارتباط وتجريد وحدات التخزين والمسارات الفرعية دفعة واحدة دون ترك مخلفات في النواة.
يمكننا استعراض معلمات التشغيل والخيارات المدعومة عبر طلب شاشة المساعدة:
⚙️ [أبرز المعلمات التشغيلية]
-e (--errors): إظهار كافة رسائل الأخطاء الصادرة عن البرمجيات الخلفية أثناء التنفيذ.-u (--umount): فك ارتباط أنظمة الملفات (umount) تلقائياً إذا كانت الأجهزة قيد الاستخدام.-d (--dmoptions): تمرير معلمات إضافية خاصة بالتحكم في Device Mapper.-l (--lvmoptions): تخصيص خيارات محددة مفصولة بفواصل لعملية تعطيل أحجام LVM.-m (--mpathoptions): التحكم في خيارات تفكيك مسارات الإدخال/الإخراج المتعددة (Multipath).-r (--mdraidoptions): ضبط آليات إيقاف مصفوفات RAID البرمجية (MD RAID).-h (--help): استعراض قائمة الخيارات المتاحة وشرح موجز لكل منها.

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

2. إنشاء بيئة تخزين اختبارية (Loop Device مع LVM) وربطها
ننشئ دليلاً مخصصاً للاختبار، ثم نولد ملف حاوية بسعة 100 ميجابايت ليعمل كقرص تخزين ظاهري.

نقوم بربط ملف القرص بجهاز حلقي (loop device) متاح، ثم نشيد هرمية LVM الكاملة عبر تهيئة الحجم الفيزيائي (PV)، ثم مجموعة الأحجام (VG)، وأخيراً الحجم المنطقي (LV).

بعد اكتمال هيكل التخزين، ننشئ نظام ملفات من نوع ext4 على الحجم المنطقي الجديد، ثم نربطه فوراً بنقطة التوصيل /mnt/blk_test.

نتحقق من سلامة البناء واكتمال التركيب بمراجعة المساحة المتاحة والمسار الفعلي عبر أداتي df وlsblk.

3. محاكاة عملية الإلغاء لتقييم الأثر مسبقاً
تتيح الأداة تجربة خطوات التفكيك دون تطبيق التغييرات فعلياً للتأكد من المعلمات والمسارات؛ نمرر الخيارين -u و-d لاختبار السلوك تجاه الحجم المنطقي /dev/test_vg/test_lv.
في حال إرسال وسائط غير معتمدة أو تعذر مطابقة المسار بدقة، يعرض النظام تنبيهاً تشخيصياً دون المساس بالحالة التشغيلية للأقراص.

للتأكد من بقاء التخزين قيد العمل وعدم تأثره بالتجربة، نفحص وجود نقطة التوصيل /mnt/blk_test عبر مخرجات df.

4. فك الارتباط الشامل وإلغاء تنشيط أجهزة الكتل بشكل نهائي
ننتقل الآن إلى التنفيذ الفعلي بتمرير الخيارين -u و-v على الحجم المنطقي /dev/test_vg/test_lv لفصل نظام الملفات بالكامل وتعطيل جهاز الكتلة المرتبط به دفعة واحدة.
إذا كان الجهاز قد عُطل مسبقاً أو غير موجود في جدول الأجهزة النشطة، سيشير النظام إلى تعذر الوصول إليه.

نتأكد من اكتمال إلغاء التوصيل لمجلد العمل /mnt/blk_test بالاعتماد على أمر mountpoint.

باستعراض سمات الحجم المنطقي عبر lvdisplay والبحث عن حقل الحالة (LV Status)، نلاحظ اختفاء المخرجات، ما يؤكد إيقاف تنشيط الحجم وخروجه من الخدمة تماماً.

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

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