الرجوع إلى قائمة المقالات

تمرير الأجهزة في بروكسموكس: كارت الشاشة وقفل USB — وثمنها الحقيقي

PCI Passthrough في Proxmox — تمرير GPU وUSB خطوة بخطوة | مرام هوست - تمرير الأجهزة في بروكسموكس: كارت الشاشة وقفل USB — وثمنها الحقيقي

الأجهزة الافتراضية ترى عتاداً مُقلّداً: قرصاً وهمياً وكارت شبكة وهمياً وكارت شاشة وهمياً. وهذا ممتاز حتى تحتاج شيئاً لا يُقلَّد — كارت شاشة حقيقياً لمعالجة فيديو، أو قفل حماية USB لبرنامج محاسبة، أو كارت شبكة بأداء بلا وسيط.

التمرير (Passthrough) يعطي الجهاز الافتراضي قطعة عتاد حقيقية ملكاً خالصاً. وثمنه أعلى ممّا يظنّ أكثر من يطلبه — وهذه المقالة تشرح الاثنين بالحوارات الحقيقية.

كل لقطة في هذه السلسلة من بروكسموكس حقيقي يعمل. نسخة Proxmox VE 9.2 كاملة بأجهزة وحاويات ومخزّنات ومهامّ نسخ فعلية، شغّلناها معزولة لهذا الغرض حتى لا يظهر اسم زبون واحد، ودخلنا لوحتها عبر نفق مشفّر لا عبر الإنترنت. وما تراه في كل صورة هو ما ستراه أنت حرفياً على شاشتك.

أين يُضاف الجهاز

قائمة إضافة عتاد إلى جهاز في بروكسموكس مع خيار PCI Device
تبويب Hardware ← Add: أنواع العتاد التي يمكن إلحاقها بالجهاز
حوار إضافة جهاز PCI في بروكسموكس مع قائمة أجهزة فارغة
حوار Add: PCI Device — القائمة فارغة وInput error أسفل الحقل

لماذا القائمة فارغة هنا؟ لأن هذا النظام لا يملك IOMMU مفعّلاً. وهذه ليست حالة استثنائية — بل حالة كل سيرفر قبل أن تُعدّه للتمرير. القائمة الفارغة هي أشيع «عطل» يُسأل عنه، وهي في الحقيقة إعداد ناقص لا عطل.

⭐ الواجهة تخبرك بالسبب — في المكان الصحيح

حوار خريطة جهاز PCI في بروكسموكس يعرض رسالة عدم اكتشاف IOMMU
مركز البيانات ← Resource Mappings ← إضافة خريطة PCI: No IOMMU detected, please activate it

هذه الرسالة هي الجواب الكامل. IOMMU هو ما يسمح بعزل جهاز PCI وتسليمه لضيف بأمان — بلا عزل، لا تمرير. وتفعيله يحتاج خطوتين لا واحدة:

الخطوةأينماذا
١. تفعيل التقنيةBIOS/UEFIIntel VT-d أو AMD-Vi / SVM — ومعها SR-IOV إن وُجدت
٢. تفعيلها للنواةسطر إقلاع النواةintel_iommu=on أو amd_iommu=on مع iommu=pt
٣. تحميل الوحداتوحدات النواةعائلة vfio
٤. إعادة إقلاع—لا مفرّ منها

⚠️ أين يُكتب سطر الإقلاع يعتمد على طريقة تنصيبك. النظام الذي يقلع بـGRUB يأخذ التعديل في إعدادات GRUB، والنظام الذي يقلع بـsystemd-boot — وهو الافتراضي حين تُنصّب على ZFS مع UEFI — يأخذه في ملفّ سطر أوامر النواة ويُطبَّق بأداة إقلاع بروكسموكس.

وأشيع سبب لـ«عدّلت GRUB وأعدت الإقلاع ولا شيء تغيّر» هو ببساطة أن النظام لا يستعمل GRUB أصلاً. تحقّق أولاً، ثم عدّل.

الخيارات المتقدّمة — وماذا تعني كل خانة

الخيارات المتقدّمة لتمرير PCI في بروكسموكس
الخيارات المتقدّمة: وظائف الجهاز كلّها، ونوع الجهاز الوسيط، وكارت الشاشة الأساسي
الخانةمتى تفعّلهالماذا
All Functionsغالباً نعم مع كروت الشاشةالكارت يظهر كوظيفتين (صورة + صوت HDMI)؛ تمرير واحدة فقط يُربك التعريف
Primary GPUحين يكون الكارت هو شاشة الضيف الوحيدةيعطّل الشاشة الوهمية — وإن أخطأت فقدت الكونسول
PCI-Expressمع q35 والكروت الحديثةيعرض الجهاز كـPCIe حقيقي لا PCI قديم
ROM-Barمفعّلة افتراضياً؛ أطفئها عند فشل الإقلاعبعض الكروت تحتاج ROM مستخرجاً يدوياً
MDev Typeمع كروت تدعم التقسيميقسم كارتاً واحداً على عدّة ضيوف بدل تخصيصه لواحد

نوع اللوحة يجب أن يكون q35. اللوحة الافتراضية القديمة (i440fx) لا تعرف PCIe. غيّرها من تبويب Options ← Machine قبل أن تضيف الكارت — لا بعده.

تمرير USB — أسهل بكثير وأكثر فائدة

حوار إضافة جهاز USB في بروكسموكس بثلاث طرق للاختيار
حوار Add: USB Device: ثلاث طرق للاختيار — ولكلٍّ سلوك مختلف تماماً
الطريقةتتبعاستعملها حين
Vendor/Device IDالجهاز نفسهجهاز واحد مميّز — يتبعه حتى لو غيّرت المنفذ
USB Portالمنفذ الفيزيائيأجهزة متطابقة لعدّة ضيوف — كلٌّ بمنفذه
Spice Portجهاز المستخدم البعيدتمرير فلاشة من حاسب المستخدم عبر جلسة SPICE

⚠️ الفخّ الكلاسيكي: قفلا حماية متطابقان لجهازين مختلفين لهما نفس Vendor/Device ID. اختيارهما بالمعرّف يعني أن الضيفين سيتنازعان على أول قفل يظهر. اربطهما بالمنفذ لا بالمعرّف — وعلّم المنفذين فيزيائياً بلاصق.

حوار إضافة منفذ تسلسلي إلى جهاز في بروكسموكس
ومعها المنفذ التسلسلي — يُستعمَل لكونسول نصّي، ولتمرير أجهزة صناعية قديمة

⭐ خرائط الموارد — الطريقة الصحيحة في الكلاستر

صفحة خرائط الموارد في مركز بيانات بروكسموكس
مركز البيانات ← Resource Mappings: قسم لخرائط PCI وآخر لخرائط USB
حوار إنشاء خريطة جهاز USB في بروكسموكس مع اختيار العقدة
خريطة USB: اسم منطقي واحد، وMapping on Node يحدّد أين يوجد الجهاز على كل عقدة

الفرق جوهري: بلا خرائط تربط الجهاز بعنوان عتاد على عقدة بعينها، ومع الخرائط تربطه باسم منطقي مثل «قفل‑المحاسبة» ثم تخبر الكلاستر أين يوجد هذا الاسم على كل عقدة.

تمرير مباشرخريطة موارد
ما يُكتب في إعداد الجهازعنوان عتاد خاماسم منطقي
عند تغيير فتحة الكارتيتعطّلعدّل الخريطة فقط
في الكلاسترمربوط بعقدة واحدةيعمل على كل عقدة تملك المورد
الصلاحياتتحتاج صلاحية عاليةتُمنَح على الخريطة وحدها

لماذا تهمّ الصلاحيات هنا؟ إضافة جهاز PCI خام تحتاج صلاحية على مستوى النود — أي أنك تعطي من يفعلها مفاتيح كثيرة. أمّا الخريطة فيمكن منح استعمالها لمستخدم محدود دون أي صلاحية أخرى. هذا وحده سبب كافٍ لاعتماد الخرائط في أي بيئة فيها أكثر من مسؤول.

⭐ الثمن الحقيقي للتمرير

ما تخسرهالتفصيل
الترحيل الحيّينتهي تماماً — الجهاز مربوط بعتاد عقدة بعينها
اللقطات مع الذاكرةلا يمكن حفظ حالة عتاد فيزيائي في لقطة
التوفّر العالي العمليالعقدة الأخرى قد لا تملك نفس الكارت
المشاركةالجهاز الممرَّر ملك لضيف واحد — لا للمضيف ولا لغيره
بساطة الاسترجاعاسترجاع النسخة على عقدة بلا الكارت يفشل الإقلاع

القاعدة: مرّر فقط ما لا تستطيع العمل بدونه. أغلب من يطلب تمرير كارت شاشة يريد فعلياً أداء رسوميات — وكثير من أحماله يعمل على المعالج بلا أي تمرير وبلا خسارة الترحيل والنسخ. اسأل «ما الذي يفشل بلا التمرير؟» قبل أن تسأل «كيف أمرّر؟».

حالات تستحقّ التمرير فعلاً

الحالةالبديل إن رفضت التمرير
قفل حماية USB لبرنامج محاسبيخادم أقفال شبكي إن دعمه المورّد
ترميز فيديو بكارت رسومياتترميز بالمعالج — أبطأ بكثير
تدريب نماذج ذكاء اصطناعيلا بديل عملي
كارت شبكة بأداء عالٍ جداًSR-IOV أو virtio المضبوط
جهاز صناعي على منفذ تسلسليمحوّل شبكي للمنفذ التسلسلي

أخطاء شائعة وحلولها

العرَضالسببالحلّ
قائمة الأجهزة فارغةIOMMU غير مفعّلفعّله في BIOS وسطر النواة ثم أعد الإقلاع
الجهاز يبدأ ثم يتجمّدالكارت يُستعمَل من المضيفاربطه بـvfio-pci قبل الإقلاع
تمرير الكارت يسحب أجهزة أخرىمجموعة IOMMU واحدة تضمّ عدّة أجهزةغيّر الفتحة، أو مرّر المجموعة كلّها
الضيف بلا صورة بعد التمريرPrimary GPU مفعّلة والتعريف ناقصأطفئها حتى ينصّب الضيف التعريف
الترحيل صار مرفوضاًهذا هو السلوك المقصودأزل التمرير مؤقّتاً للترحيل
كل شيء يعمل ثم ينكسر بعد ترقيةتغيّر ترتيب عناوين PCIاستعمل خرائط الموارد بدل العناوين الخام

أسئلة شائعة

هل يمكن تمرير كارت شاشة إلى حاوية؟

الحاويات تتشارك نواة المضيف، فهي لا «تمرّر» بل تصل إلى ملفّات الجهاز مباشرة. وهذا أبسط وأخفّ من تمرير PCI — ويجعل الحاوية خياراً ممتازاً لأحمال الترميز.

هل أستطيع تقسيم كارت واحد على عدّة أجهزة؟

نعم إن دعم الكارت ذلك — عبر MDev Type. وهذه ميزة كروت محطّات العمل والسيرفرات غالباً، لا كروت الألعاب.

هل التمرير يخفّض الأداء؟

لا — بل هو أسرع من أي تقليد. الخسارة في المرونة لا في السرعة.

لماذا يحذّر بروكسموكس عند تمرير PCI؟

لأن الضيف يصير قادراً على التعامل مع عتاد حقيقي، وهذا يخفّف العزل بينه وبين المضيف. لا تمرّر أجهزة إلى ضيوف لا تثق بمن يديرها.

هل يعمل التمرير داخل بروكسموكس مُتداخِل؟

في الغالب لا — وهو تحديداً سبب فراغ القائمة في لقطات هذه المقالة. وقد آثرنا أن نُريك الحالة الحقيقية ورسالة الواجهة بدل صورة مركّبة.

ماذا بعد؟

عرفنا الكلاستر والترحيل والتمرير. يبقى ما يجب أن يحدث دورياً لا مرّة واحدة: تحديث النظام وترقيته بلا كسر شيء — وهو موضوع المقالة التالية.

Powered by WHMCompleteSolution