محولات التخزين (Storage Adapters)
تحدد محولات التخزين كيفية تواصل المضيف مع أجهزة التخزين السفلية أو أهداف التخزين عبر الشبكة. يدعم Vapor وحدات التحكم في الأجهزة المحلية، ومحولات ناقل المضيف لـ Fibre Channel (HBAs)، وتوصيلات التخزين المحددة برمجياً.
المحولات المحلية والأجهزة (Local and Hardware Adapters)
انتقل إلى Storage > Adapters لعرض جميع محولات ناقل المضيف (HBAs) المكتشفة. يشمل ذلك وحدات تحكم AHCI/SATA المحلية وأي بطاقات PCIe RAID أو Fibre Channel مثبتة.
- يؤدي النقر على HBA إلى عرض أجهزة البلوك (block devices) المحددة المرتبطة به.
- إعادة المسح (Rescan): إذا قمت بالتوصيل الساخن (hot-plug) لمحرك أقراص جديد أو أعدت تهيئة مصفوفة hardware RAID، فنفّذ عملية إعادة مسح لفرض اكتشاف نظام التشغيل للهندسة التخزينية الجديدة دون إعادة الإقلاع.
محول iSCSI البرمجي (iSCSI Software Adapter)
يوفر Vapor دعمًا مدمجًا لتعيين أهداف تخزين iSCSI البعيدة عبر واجهات الإيثرنت القياسية. يتم إدارة واجهة iSCSI كمحول برمجي أحادي (singleton).
1. أوضاع تهيئة المحول
انتقل إلى Storage > Adapters وحدد iSCSI Software Adapter لتهيئة الإعدادات التالية:
- Initiator IQN: تحديد اسم البادئ الفريد (مثل
iqn.2026-03.com.awanio.vapor:node-01). - Connection Mode:
single_path: ينتقل الاتصال عبر مسار بوابة شبكة واحدة.multipath: يمتد الاتصال عبر مسارات فيزيائية متعددة لتحمل الأخطاء والتجميع.
- Node Startup: تهيئة ما إذا كانت الجلسات تتصل تلقائيًا عند الإقلاع (
automatic) أو تتطلب تنشيطًا يدويًا (manual).
2. ربط المنافذ (Port Bindings)
في إعدادات المسارات المتعددة (multipath)، قم بربط واجهات شبكة المضيف المحددة (مثل enp2s0 و enp3s0) بمُبدئ iSCSI البرمجي. تفصل ربط المنافذ حركة مرور التخزين على شبكات فرعية وبطاقات NIC مخصصة.
- ربط المنفذ:
POST /api/v1/storage/iscsi/adapter/port-bindingsمع حمولة{"interface_name": "enp2s0"}. - حذف الربط:
DELETE /api/v1/storage/iscsi/adapter/port-bindings/{binding_id}.
3. اكتشاف الهدف (Target Discovery)
لتحديد موقع IQNs الهدف على شبكة التخزين (SAN)، نفّذ استدعاء اكتشاف:
- اكتشاف الأهداف:
POST /api/v1/storage/iscsi/adapter/discoverمعportalالهدف (IP:port) وbinding_portalsاختياري (واجهات معينة لعناوين IP محددة لـ portal). ينفذ هذا طلب iSCSI SendTargets. - عرض الأهداف المكتشفة:
GET /api/v1/storage/iscsi/adapter/targetsيعرض جميع IQNs المحلولة لشبكة SAN.
4. الجلسات النشطة والمصادقة (Active Sessions and Authentication)
قم بتسجيل الدخول إلى IQN هدف مكتشف لتجميع وحدات LUN الخاصة به:
- تسجيل دخول الجلسة:
POST /api/v1/storage/iscsi/adapter/sessionsيقبلtarget_iqnوportalواعتمادات CHAP (username/password) وbinding_portals. - قائمة الجلسات:
GET /api/v1/storage/iscsi/adapter/sessionsيعيد معرفات جلسة iSCSI النشطة (session_id). - تسجيل خروج الجلسة:
DELETE /api/v1/storage/iscsi/adapter/sessions/{session_id}. - تجاهل الهدف (Forget Target): لتنظيف البيانات الوصفية المكتشفة، أرسل
POST /api/v1/storage/iscsi/adapter/targets/forgetمعtarget_iqnوportal.
5. إعادة المسح وتعيين LUN (Rescan & LUN Mapping)
بعد إنشاء الجلسة، أعد مسح ناقل iSCSI لاكتشاف الأحجام الجديدة:
- إعادة مسح الناقل:
POST /api/v1/storage/iscsi/adapter/rescanيفرض إعادة مسح لجميع الجلسات النشطة. - استرجاع LUNs والأجهزة: استخدم
GET /api/v1/storage/iscsi/adapter/lunsوGET /api/v1/storage/iscsi/adapter/devicesللتحقق من التعيين لمسارات البلوك المحلية (مثل/dev/sdbأو/dev/disk/by-id/*).
إدارة إدخال/إخراج المسارات المتعددة (MPIO Management)
عند تشغيل محول iSCSI في وضع multipath، يتكامل Vapor مع خدمة multipathd للمضيف لإدارة التبديل عند فشل المسار:
- سرد أجهزة المسارات المتعددة:
GET /api/v1/storage/multipath/devicesيسرد خرائط المسارات المتعددة النشطة. - الحصول على تفاصيل الجهاز:
GET /api/v1/storage/multipath/devices/{wwid}يعيد الحالة والسياسة والسعة لجهاز معين عبر المعرف العالمي الخاص به (WWID). - سرد مسارات الجهاز:
GET /api/v1/storage/multipath/devices/{wwid}/pathsيعرض حالة (نشط، معطوب، مُمكّن) كل مسار فيزيائي. - تحديث سياسة التوجيه:
PATCH /api/v1/storage/multipath/devices/{wwid}/policyيغير سياسة التوجيه ديناميكيًا (مثلfailoverأوround_robin). - إعادة مسح المسارات المتعددة:
POST /api/v1/storage/multipath/rescanيطلق إعادة تقييم شاملة لأجهزة المسارات المتعددة على المضيف.