أكثر ما يُقنع مديراً بأن الافتراضية تستحقّ ثمنها هو مشهد واحد: سيرفر يحتاج صيانة، وأنت تنقل كل ما عليه إلى سيرفر آخر وهو يعمل، ثم تطفئه. لا إشعار توقّف، ولا نافذة صيانة ليلية، ولا مكالمة من زبون.
هذه المقالة عن ذلك المشهد: كيف يحدث، وما الفرق بين ترحيل جهاز وترحيل حاوية، وكم الانقطاع فعلياً — بأرقام من سجلّ ترحيل حقيقي نفّذناه أمامك.
كل لقطة في هذه السلسلة من بروكسموكس حقيقي يعمل. نسخة Proxmox VE 9.2 كاملة بأجهزة وحاويات ومخزّنات ومهامّ نسخ فعلية، شغّلناها معزولة لهذا الغرض حتى لا يظهر اسم زبون واحد، ودخلنا لوحتها عبر نفق مشفّر لا عبر الإنترنت. وما تراه في كل صورة هو ما ستراه أنت حرفياً على شاشتك.
أول ملاحظة: الزرّ غير موجود أصلاً
بروكسموكس لا يُطفئ زرّ الترحيل على نظام منفرد — بل يُخفيه تماماً. إن كنت تبحث عنه ولا تجده فلست أمام عطل: أنت لست في كلاستر. وهذه أول إجابة عن سؤال يتكرّر كثيراً.
الحوار
| الخانة | ماذا تعني | ملاحظة |
|---|---|---|
| Target node | وجهة الترحيل | تظهر الذاكرة الحرّة لكل عقدة — اقرأها قبل الاختيار |
| Mode | Online أو Offline | يُختار تلقائياً: الجهاز يعمل ⇒ Online |
| Target storage | أين تهبط الأقراص | يظهر فقط حين تكون الأقراص محليّة |
⭐ الترحيل الحيّ يحدث فعلاً — هذا سجلّه
هذه أرقام هذا الترحيل بالضبط، من السجلّ لا من التقدير:
| القياس | القيمة | المعنى |
|---|---|---|
| حجم القرص المنقول | 1.0 GiB | نُسخ كاملاً لأن التخزين محلّي لا مشترك |
| زمن نسخ القرص | ثانية واحدة | ثم بقي في وضع «مزامنة نشطة» حتى اللحظة الأخيرة |
| حجم حالة الذاكرة المنقولة | 3.7 MiB | ما تبقّى من صفحات لم تلحق المزامنة |
| متوسط سرعة الترحيل | 264.4 MiB/s | على شبكة المختبر |
| الانقطاع الفعليّ | 423 ms | أقلّ من نصف ثانية — أقصر من مهلة أي بروتوكول عملي |
| الزمن الكلّي للعملية | 00:00:37 | من الضغط حتى TASK OK |
كيف يكون الانقطاع ٤٢٣ ملّي ثانية فقط؟ الترحيل ينسخ الذاكرة والجهاز يعمل، ثم ينسخ الصفحات التي تغيّرت أثناء النسخ، ثم التي تغيّرت أثناء ذلك… حتى يصغر المتبقّي بما يكفي. عندها فقط يوقف الجهاز لأجزاء من الثانية، ينقل الباقي، ويشغّله على العقدة الأخرى. سقف الانقطاع المستهدف يظهر في السجلّ نفسه: migration downtime limit: 100 ms — وبروكسموكس يرفع السقف تدريجياً إن لم يستطع اللحاق.
الحاويات قصّة أخرى تماماً
ورقمياً، هذا ما حدث في مختبرنا للحاوية نفسها:
| جهاز (KVM) | حاوية (LXC) | |
|---|---|---|
| الوضع | ترحيل حيّ | إطفاء ← نسخ ← تشغيل |
| حجم القرص | 1 GiB | 2 GiB |
| زمن العملية | 37 ثانية | 3 دقائق و45 ثانية |
| الانقطاع | 0.42 ثانية | ≈3 دقائق (كامل مدّة النسخ) |
| سرعة النسخ المسجّلة | 264 MiB/s | 12–17 MB/s |
⚠️ الحاويات لا تُرحَّل حيّاً في بروكسموكس. الانقطاع يساوي زمن نسخ القرص كاملاً — وهو يتناسب مع حجم القرص لا مع حجم الذاكرة. حاوية بقرص 100 GB على تخزين محلّي تعني انقطاعاً بالساعات.
العلاج الحقيقي هو التخزين المشترك (Ceph أو NFS أو ZFS مع نسخ متزامن): عندها لا يُنسَخ شيء، والانقطاع يصير ثوانيَ معدودة هي زمن الإطفاء والتشغيل فقط. الفرق ليس تحسيناً بل تغيير فئة.
الترحيل الجماعي
هذا هو الإجراء الذي تستعمله فعلياً قبل الصيانة: اختر العقدة الهدف، حدّد الضيوف، وشغّل. وبروكسموكس يرحّلهم تباعاً لا دفعة واحدة، فلا يغرق الشبكة.
نصيحة تشغيلية: رحّل أصغر الأجهزة أولاً في الترحيل اليدوي. تُخلي ذاكرة على العقدة المصدر بسرعة، وتكتشف أي مشكلة إعداد على جهاز غير حرج قبل أن تنقل الأجهزة المهمّة.
⭐ ما الذي يمنع الترحيل الحيّ؟
| المانع | الرسالة أو العرَض | الحلّ |
|---|---|---|
| معالجات من عائلتين مختلفتين | الجهاز ينهار أو يرفض بعد الترحيل | ترحيل بلا اتصال فقط — أو وحّد نوع المعالج المعلن |
| تمرير جهاز PCI أو USB | الترحيل مرفوض | أزل التمرير مؤقّتاً، أو استعمل خرائط الموارد |
| وسائط ISO محليّة مركّبة | القرص غير موجود على الهدف | فكّ الوسائط قبل الترحيل |
| جسر شبكة غير موجود على الهدف | الجهاز يرحل ثم يفقد الشبكة | وحّد أسماء الجسور على كل العقد |
| مخزّن غير معرّف على الهدف | فشل مبكّر | عرّف نفس المخزّن، أو اختر مخزّناً هدفاً |
| الجهاز مقفول من محاولة فاشلة | VM is locked (migrate) | qm unlock <vmid> بعد التأكّد من توقّف العملية |
⚠️ اختلاف عائلة المعالج هو أقسى هذه الموانع. على أسطولنا لدينا عقدة Intel وأخرى AMD في كلاستر واحد: الكلاستر سليم، والترحيل بلا اتصال يعمل، والترحيل الحيّ بينهما مستحيل. السبب أن الجهاز العامل يرى مجموعة تعليمات المعالج المصدر، ونقله إلى معالج يفتقد بعضها يعني انهياراً فورياً.
وهذا قرار يُتّخذ عند الشراء لا عند الترحيل: خطّط لعائلة معالج واحدة داخل الكلاستر الواحد.
الترحيل المشفّر مقابل السريع
| النمط | متى | الكلفة |
|---|---|---|
| secure (افتراضي) | الترحيل يمرّ على شبكة غير موثوقة | تشفير يستهلك معالجاً ويخفض السرعة |
| insecure | شبكة خاصة معزولة تماماً بين العقد | أسرع بوضوح على الروابط العريضة |
ويُضبط مع شبكة ترحيل مخصّصة في إعدادات مركز البيانات. وتحذير من تجربة حقيقية: إن حدّدت شبكة ترحيل لا تملك إحدى العقد عنواناً فيها، فكل ترحيل إلى تلك العقدة سيفشل — وهذا عطل صامت لا يظهر إلا عند أول محاولة.
أخطاء شائعة
| الخطأ | لماذا يؤذي |
|---|---|
| ترحيل كل شيء دفعة واحدة | يغرق الشبكة ويبطئ الجميع — استعمل الترحيل الجماعي المتتابع |
| عدم اختبار الترحيل قبل الحاجة إليه | ليلة الصيانة ليست وقت اكتشاف أن جسراً ناقص |
| نسيان أن القرص يُنسَخ | ترحيل جهاز بقرص 500 GB على تخزين محلّي يأخذ ساعات |
| الترحيل والعقدة الهدف ممتلئة | يفشل في منتصفه — اقرأ الذاكرة الحرّة في القائمة |
| إعادة المحاولة فوراً بعد فشل | الجهاز يبقى مقفولاً؛ افحص ثم unlock |
أسئلة شائعة
هل يفقد الجهاز اتصاله أثناء الترحيل؟
عملياً لا. انقطاع أقلّ من نصف ثانية لا تلاحظه جلسة SSH ولا اتصال قاعدة بيانات ولا مكالمة VoIP.
هل يمكن الترحيل والجهاز مُوقف؟
نعم، ويكون أسرع لأنه ينقل الملفّات فقط بلا ذاكرة.
ماذا لو انقطعت الشبكة أثناء الترحيل؟
الترحيل يفشل والجهاز يبقى يعمل على العقدة المصدر. بروكسموكس لا يحذف المصدر إلا بعد نجاح مؤكّد — لذلك الترحيل الفاشل مزعج لا مدمّر.
هل يعمل الترحيل بين إصدارَي بروكسموكس مختلفين؟
من الأقدم إلى الأحدث غالباً نعم، والعكس لا. لذلك تُرقَّى العقد إلى نفس الإصدار قبل الاعتماد على الترحيل.
ما أسرع طريقة لإفراغ عقدة قبل الصيانة؟
Bulk Migrate مع اختيار كل الضيوف. وإن كانت الموارد HA مُدارة فبروكسموكس يعرف تلقائياً أين يضعها.
ماذا بعد؟
ذكرنا أن تمرير جهاز PCI يمنع الترحيل الحيّ. وهذا يقودنا مباشرة إلى المقالة التالية: تمرير كروت الشاشة وأجهزة USB إلى الأجهزة الافتراضية — متى يستحقّ، وما ثمنه.
سلسلة «بروكسموكس من الداخل» — بلقطات حقيقية من الواجهة.
الأساسيات:
١. الواجهة ·
٢. أول جهاز ·
٣. الحاويات ·
٤. الصور والقوالب ·
٥. الصلاحيات
التخزين:
٦. أنواع التخزين ·
٧. إضافة قرص وتوسيعه ·
٨. ZFS ·
٩. نقل قرص ·
١٠. امتلاء التخزين
الشبكة والأمان:
١١. تبويب الشبكة ·
١٢. الجدار الناري ·
١٣. SDN ·
١٤. تأمين اللوحة ·
١٥. السجلّات
التشغيل اليومي:
١٦. ضبط الموارد ·
١٧. مهمّة النسخ ·
١٨. الاسترجاع ·
١٩. اللقطات ·
٢٠. قراءة الرسوم
التوسّع:
٢١. الكلاستر ·
٢٢. الترحيل الحيّ ·
٢٣. تمرير الأجهزة ·
٢٤. التحديث والترقية ·
٢٥. التوفّر العالي