Skip to content

محولات التخزين (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 يطلق إعادة تقييم شاملة لأجهزة المسارات المتعددة على المضيف.