يمكن أن يعمل تشغيل Proxmox على ZimaCube مع TrueNAS SCALE داخل آلة افتراضية بشكل جيد عندما يتلقى TrueNAS وحدة تحكم SATA/HBA فعلية كاملة عبر تمرير PCIe. والمفتاح هو إبقاء أقراص ZFS تحت تحكم TrueNAS المباشر بدلًا من تقديم أقراص افتراضية عادية، والتحقق من مجموعات IOMMU قبل إسناد بياناتك إليها.
يتضمن المصدر المجتمعي نتيجة مفيدة تم التحقق منها: أدى تمرير وحدة تحكم SATA المدمجة من ASMedia 1166 إلى آلة TrueNAS افتراضية جديدة إلى إتاحة الوصول إلى محركات الأقراص الداخلية بنجاح. كما يسجل حالة مهمة خاصة—إضافة تمرير HBA ثانٍ من SAS3008 تسببت في فشل تمرير SATA الداخلي لدى أحد المستخدمين. هذا التعارض خاص بالإعداد، لذا تعامل معه كدليل لاستكشاف الأخطاء وإصلاحها لا كقيد عام.
البنية الموصى بها
عتاد ZimaCube
↓
مضيف Proxmox VE
↓
تمرير PCIe: وحدة تحكم SATA/HBA كاملة
↓
آلة TrueNAS SCALE الافتراضية
↓
مجمّعات ZFS المبنية مباشرة من الأقراص الفعلية
يجب ألا يقوم المضيف بتهيئة الأقراص المعيّنة إلى TrueNAS أو تركيبها.
لماذا يُعد تمرير وحدة التحكم بالكامل أفضل
يمنح تمرير وحدة تحكم كاملة TrueNAS رؤية مباشرة للأقراص المتصلة بها، بما في ذلك هوية الجهاز ومعلومات SMART عندما تدعمها وحدة التحكم. كما يمنع Proxmox من الاستحواذ على الأقراص نفسها بشكل مستقل.
لا تنشئ ZFS في TrueNAS فوق مجموعة من الأقراص الافتراضية غير المرتبطة في Proxmox إذا كان هدفك الحصول على سلوك تخزين شبيه بالأجهزة المخصصة.
الخطوة 1: تفعيل IOMMU في البرنامج الثابت وProxmox
تحتاج أنظمة Intel إلى تفعيل VT-d/IOMMU، بينما تحتاج أنظمة AMD إلى ميزة IOMMU المناظرة. ويحتاج Proxmox أيضًا إلى تفعيل IOMMU على مستوى النواة.
توثّق المتطلبات الأساسية للتمرير في Proxmox ضرورة تفعيل دعم التمرير في كل من البرنامج الثابت ونواة المضيف.
الخطوة 2: تحديد وحدة تحكم SATA ومجموعة IOMMU الخاصة بها
استخدم lspci على مضيف Proxmox وحدد وحدة التحكم التي تخدم الفتحات الداخلية الست. حدّد الموضوع المصدر وحدة تحكم SATA من طراز ASMedia 1166 في إعداد ZimaCube الخاص به.
قبل التمرير، تحقق من أن وحدة التحكم موجودة في مجموعة IOMMU يمكن تعيينها بأمان من دون سحب أجهزة أساسية غير مرتبطة من مضيف Proxmox.
الخطوة 3: إنشاء آلة TrueNAS الافتراضية قبل توصيل وحدات التخزين
أنشئ آلة TrueNAS الافتراضية باستخدام معالج افتراضي وذاكرة وقرص إقلاع منفصل صغير ومحول شبكة. ثبّت TrueNAS وحدّثه وتأكد من إقلاع الآلة الافتراضية بشكل طبيعي قبل تعيين وحدة التحكم الفعلية بالتخزين.
يسهّل ذلك كثيرًا تحديد ما إذا كان العطل اللاحق ناتجًا عن تمرير PCIe أم عن تثبيت الضيف نفسه.
الخطوة 4: مرّر وحدة تحكم SATA بأكملها
أضف وحدة التحكم كجهاز PCI إلى الجهاز الافتراضي لـ TrueNAS. بعد الإقلاع، تحقق من lspci وواجهة تخزين TrueNAS للأقراص الفعلية.
في الحالة المصدرية، أدت إعادة إنشاء الجهاز الافتراضي لـ TrueNAS ثم إضافة وحدة تحكم ASMedia إلى ظهور جميع محركات الأقراص الداخلية بشكل صحيح.
ماذا لو ظهرت وحدة التحكم ولكن لم تظهر الأقراص؟
تحقق مما إذا كان برنامج تشغيل الضيف قد تم تحميله، وما إذا كانت وحدة التحكم قد أعيد ضبطها بشكل سليم، وما إذا كان جهاز آخر تم تمريره يتسبب في التداخل. وجد المستخدم في الحالة المصدرية أن تمرير HBA إضافية من نوع SAS3008 إلى الجهاز الافتراضي نفسه عطّل سلوك وحدة تحكم SATA الداخلية؛ وأدت إزالة HBA تلك إلى استعادة الأقراص الداخلية.
هذا لا يثبت أن وحدتي التحكم هاتين لا يمكنهما العمل معًا مطلقًا. بل هو دليل على ضرورة اختبار كل وحدة تحكم على حدة.
لا تنشئ المجمّع قبل استقرار التمرير
قبل إنشاء ZFS:
- أعد تشغيل Proxmox عدة مرات؛
- أعد تشغيل الجهاز الافتراضي لـ TrueNAS عدة مرات؛
- تأكد من عودة جميع الأقراص باستمرار؛
- تحقق من إمكانية الوصول إلى بيانات SMART؛
- تحقق من عدم بقاء أي أقراص موصولة من قبل المضيف.
لا يكون هيكل التخزين الذي يعمل مرة واحدة ثم يختفي بعد إعادة تشغيل دافئة جاهزًا لبيانات الإنتاج.
خطّط لنسخ Proxmox وTrueNAS الاحتياطية بشكل منفصل
تحمي النسخ الاحتياطية في Proxmox إعدادات الجهاز الافتراضي وقرص إقلاع TrueNAS. لكنها لا تحل محل لقطات ZFS أو النسخ المتماثل أو النسخة الاحتياطية الخارجية لمجمّع البيانات.
يوفّر دليل المحاكاة الافتراضية سياقًا أوسع حول Proxmox.
متى يكون تشغيل TrueNAS مباشرةً على الجهاز أبسط
إذا كانت المهمة الوحيدة للجهاز هي التخزين، فإن تشغيل TrueNAS مباشرةً على الجهاز يزيل طبقة المحاكاة الافتراضية وتعقيدات التمرير. ويكون استخدام Proxmox مع TrueNAS افتراضيًا أكثر منطقية عندما تحتاج أيضًا إلى أجهزة افتراضية أخرى، أو أحمال عمل تعتمد على GPU، أو بيئات مختبرية، أو ميزات إدارة Proxmox على الخادم نفسه.
الأسئلة الشائعة
هل ينبغي تمرير الأقراص الفردية أم وحدة تحكم SATA بأكملها؟
بالنسبة إلى TrueNAS/ZFS، يُعد تمرير وحدة تخزين الأجهزة الفعلية بأكملها التصميم الأنظف، لأن TrueNAS يتولى مباشرةً إدارة الأقراص المتصلة بها.
هل يمكن لـ Proxmox الاستمرار في استخدام الأقراص المتصلة بوحدة تحكم تم تمريرها؟
لا. بمجرد تمرير وحدة التحكم بأكملها إلى TrueNAS، ينبغي ألا يدير Proxmox الأقراص المتصلة بوحدة التحكم تلك.
لماذا اختفت الأقراص الداخلية بعد إضافة وحدة تحكم HBA ثانية؟
لاحظ أحد أفراد المجتمع مشكلة عند استخدام تمرير SAS3008. اختبر وحدات التحكم بشكل مستقل، وافحص سلوك IOMMU وإعادة الضبط بدلًا من افتراض وجود عيب شامل في الأجهزة.
هل ما زلت بحاجة إلى نسخ احتياطية إذا كنت أستخدم ZFS؟
نعم. يحمي ZFS سلامة البيانات ويوفّر لقطات، لكنه ليس نسخة احتياطية خارج الجهاز.
