ملاحظة: هذه ميزة توفر مبكر (EA) وهي متاحة فقط للإصدار المحدود. لمزيد من المعلومات، اتصل بممثل شبكات كاتو أو أرسل بريدًا إلكترونيًا إلى ea@catonetworks.com.
نظرة عامة
تصف هذه المقالة كيفية نشر vSocket KVM على مضيف يتم إدارته باستخدام البيئة الافتراضية Proxmox (Proxmox VE). يستخدم Proxmox VE QEMU/KVM، لذا يكون نموذج نشر vSocket مطابق لنموذج مضيف KVM عادي على نظام Linux (libvirt/QEMU): يتم توزيع vSocket كصورة QCOW2 ويقوم بالتهيئة بواسطة cloud-init. الاختلاف هو طبقة الإدارة — حيث يمكنك إنشاء وإدارة الجهاز الافتراضي من واجهة Proxmox على الويب بدلاً من استخدام virt-install أو virsh.
لمتطلبات vSocket العامة في KVM، إعدادات user-data الخاصة بـ cloud-init، وتدفق إنشاء الموقع في تطبيق إدارة Cato (CMA)، اطلع على إعداد موقع vSocket KVM.
هذه هي المراحل الرئيسية لنشر vSocket KVM على Proxmox VE:
- إنشاء موقع vSocket في CMA ونسخ الرقم التسلسلي (S/N).
- تحميل صورة QCOW2 وإنشاء ISO لنواة cloud-init.
- تحميل صورة QCOW2 وISO الحياة إلى تخزين Proxmox.
- إنشاء الجهاز الافتراضي في واجهة الويب الخاصة بـ Proxmox مع فيرموير UEFI وأجهزة virtio.
- إضافة منفذ تسلسلي والواجهات الشبكية الإضافية إلى الجهاز الافتراضي.
- بدء تشغيل الجهاز الافتراضي والتأكد من أن vSocket يتصل بـ CMA.
التحضير لتوفير vSocket KVM في Proxmox VE
هذه هي متطلبات الإعداد لإنشاء vSocket KVM وتوصيله بـ Cato Cloud:
- مضيف Proxmox VE مزود بـ KVM (الافتراضية الأجهزة) مفعلة، ودعم UEFI (OVMF) للضيوف.
- يجب أن تكون وحدة المعالجة المركزية الخاصة بمضيف Proxmox من الهندسة المعمارية من فئة Haswell أو أحدث.
- صورة QCOW2 خاصة بـ vSocket KVM، محملة من مستودع Cato Networks.
- ملف ISO المستخرج من قبل بانتظار السيريال نمبر الخاص بالموقع (انظر إنشاء ملف Cloud-init Seed ISO ).
- أداة لإنشاء ISO للنواة (على سبيل المثال،
mkisofsأوgenisoimage). - اتصال بالإنترنت وخدمة DNS عامة لواجهة WAN1 الخاصة بـ vSocket.
- جسور Proxmox (مثل
vmbr0) التي تربط شبكات WAN، LAN، والواجهات الإدارية الاختيارية بالشبكات ذات الصلة. - لا تُرفق سوى أربع واجهات شبكية (NICs) إلى vSocket. قد يؤدي إرفاق أكثر من 4 NICs إلى مشكلات لـ vSocket.
ملاحظة: عدم دعم تمرير مرور الأجهزة NIC (تمريره عبر PCI) وSR-IOV.
إعدادات الجهاز الظاهري الموصى بها
| الإعداد | القيمة الموصى بها |
|---|---|
| نوع الجهاز | q35 |
| BIOS / الفيرموير | OVMF (UEFI)، بدون قرص EFI |
| نوع وحدة المعالجة المركزية | المضيف (هندسة من فئة Haswell أو وحدة معالجة أحدث) |
| وحدة معالجة افتراضية | 2 أو أكثر |
| الذاكرة | 4096 ميغابايت أو أكثر |
| قرص رئيسي | صورة QCOW2 مستوردة، ناقل بلوك VirtIO (ذاكرة بسعة احتياطية 8 جيجابايت) |
| وسائط cloud-init | قرص ISO الخاص بالنواة، مرفق كمحرك أقراص CD-ROM |
| نموذج NIC | VirtIO (محاكاة جزئية) |
| عدد NIC | 2 إلى 4 واجهات |
أفضل الممارسات لنشر vSocket KVM في Proxmox VE
- نشر vSocket مباشرة من صورة QCOW2 من Cato لتفادي مشكلات التوافق مع الأجهزة والتأكد من تطبيق جميع الإعدادات المطلوبة بشكل صحيح.
- احتفظ بنسخة غير معدلة من صورة QCOW2 الأصلية، واستورد نسخة نظيفة من الصورة لكل جهاز ظاهري vSocket. تعمل نواة cloud-init ISO فقط عند التشغيل الأول. إذا لم تُطبق الإعدادات بشكل صحيح، عادة ما يكون من الأسهل إعادة إنشاء الجهاز الظاهري من صورة نظيفة بدلاً من إصلاح جهاز ظاهري مبدئي جزئيًا.
- خذ لقطة Proxmox للجهاز الظاهري قبل التشغيل الأول، حتى تتمكن من العودة إلى الحالة الأولية إذا كانت تكوينات البداية غير صحيحة.
- إنشاء نواة ISO فريدة، مع الرقم التسلسلي للموقع ذات الصلة، لكل جهاز vSocket (بما في ذلك كل عضو في زوج HA).
- استخدم virtio لكل من الأجهزة الشبكية والقرص — لا تحتاج إلى محاكاة NIC.
- لا تبدأ تشغيل الجهاز الظاهري حتى يتم تكوينه بالكامل. يتم قراءة ISO لنواة cloud-init فقط عند التشغيل الأول.
إنشاء موقع vSocket KVM
في CMA، أنشئ موقعًا جديدًا بنوع اتصال vSocket KVM، ثم انسخ الرقم التسلسلي (S/N) من تكوين الموقع > سوكيت. تحتاج إلى إدخال هذا الرقم التسلسلي (بما في ذلك الشرطات) في ملف user-data الخاص بـ cloud-init.
للاطلاع على الإجراء الكامل، اطلع على إعداد موقع vSocket KVM.
نشر جهاز vSocket الظاهري على Proxmox VE
الخطوة 1 – تحضير شبكات Proxmox
تأكد من أن المضيف Proxmox يحتوي على جسر Linux لكل واجهة تقوم بالاتصال بها إلى vSocket:
- WAN1 – جسر باتصال إنترنت ووصول إلى خدمة DNS عامة (مثل
vmbr0). هذه واجهة إلزامية. - LAN1 – جسر لشريحة LAN وراء vSocket. هذه واجهة إلزامية.
- MGMT (اختياري) – جسر للوصول الإداري إلى vSocket.
- WAN2 (اختياري) – جسر لرابط WAN الثانوي.
يمكنك استخدام علامة VLAN على جهاز الشبكة لفصل شرائح LAN التي تشترك في نفس الجسر.
لنشر HA ، يجب أن تكون واجهات LAN لكل من vSockets في نفس المجال الإذاعي (نفس الجسر وVLAN).
الخطوة 2 – إنشاء نواة ISO لنواة cloud-init
vSocket KVM مُعد باستخدام cloud-init باستخدام NoCloud seed ISO. إنشاء دليل يحتوي على ملف واحد:
TMPDIR=$(mktemp -d)
touch $TMPDIR/user-data
ملء user-data مع تكوين الموقع. الملف يستخدم صيغة TOML بسيطة (key = value) ، وتُدعم التعليقات. الرقم التسلسلي إلزامي؛ إعدادات الشبكة لكل واجهة اختيارية (تكون الواجهات الافتراضية هي DHCP).
# إلزامي: الرقم التسلسلي من موقع CMA (تكوين الموقع > سوكيت)
serial = "XXXX-XXXX-XXXX-XXXX"
# إعدادات الشبكة لكل واجهة اختيارية.
# كرر كتلة [[network]] لكل واجهة؛ يجب أن يكون الاسم فريدًا
# ومطابقة الواجهة الفعلية (WAN1، WAN2، LAN1، ...).
[[network]]
name = "WAN1" # إلزامي
addressing_type = "Static" # "Static" أو "DHCP"
address = "192.168.50.201" # إلزامي إذا كان Static
netmask = "255.255.255.0" # إلزامي إذا كان Static
default_gw = "192.168.50.1" # إلزامي إذا كان Static
primary_dns = "192.168.50.1" # إلزامي إذا كان Static
secondary_dns = "8.8.4.4" # اختياري
# DHCP هو الافتراضي، لذا هذه الكتلة اختيارية/زائدة.
[[network]]
name = "WAN2"
addressing_type = "DHCP"
تعبئة الملف في ISO نواة تحمل الملصق cidata:
pushd $TMPDIR
mkisofs -output seed.iso -volid cidata -joliet -rock user-data
popd
امنح الـ ISO اسمًا يحدد جهاز vSocket الظاهري الذي يستخدمه (على سبيل المثال، seed-<site-name>.iso)، بحيث يمكنك اختيار الـ ISO الصحيح عند إنشاء الجهاز الظاهري.
الخطوة 3 – تحميل الملفات إلى تخزين Proxmox
- قم بتحميل قرص ISO النواة إلى تخزين صورة ISO الخاصة بالعقدة التي تستضيف الجهاز الظاهري (على سبيل المثال، التخزين المحلي، في قسم صور ISO).
- قم بتحميل صورة QCOW2 لـ vSocket إلى قسم الاستيراد في تخزين على نفس العقدة. يجب أن يكون نوع المحتوى الخاص بالاستيراد مفعلًا للتخزين.
استخدم نسخة نظيفة من صورة QCOW2 لكل جهاز vSocket ظاهري.
عنصر نائب للصور – تحميل الـ ISO للنواة إلى تخزين Proxmox.
عنصر نائب للصور – تحميل أو استيراد صورة QCOW2.
الخطوة 4 – إنشاء الجهاز الظاهري
في واجهة الويب الخاصة بـ Proxmox، انقر على إنشاء جهاز ظاهري وقم بتكوين تبويبات المعالج كما يلي.
لإنشاء جهاز vSocket الظاهري:
-
في تبويب عام، حدد العقدة، ثم أدخل معرف الجهاز الظاهري واسم الجهاز الظاهري vSocket. اترك مربع الاختيار الإضافة إلى HA غير مفعل (انظر نشر الخدمات عالية التوافر (HA)).
-
في تبويب نظام التشغيل (OS):
- حدد استخدام ملف صورة قرص CD/DVD (iso).
- بالنسبة للتخزين وصورة ISO، حدد ISO النواة الذي أنشأته لهذا vSocket.
- بالنسبة لنظام التشغيل الضيف (Guest OS)، احتفظ بالقيم الافتراضية (النوع: Linux، الإصدار: 6.x - 2.6 Kernel).
عنصر نائب للصور – تحديد ISO نواة cloud-init في تبويب نظام التشغيل.
-
في تبويب النظام:
- بالنسبة لـ BIOS، حدد OVMF (UEFI).
- أزل تحديد خانة الاختيار إضافة قرص EFI. صورة vSocket لا تتطلب قرص EFI.
- بالنسبة للماكينة، حدد q35.
- احفظ وحدة التحكم الافتراضية SCSI (VirtIO SCSI منفرد).
عنصر نائب للصور – تحديد الفيرموير UEFI وإزالة تحديد قرص EFI.
-
في تبويب الأقراص:
- احذف القرص الافتراضي (virtio0).
- انقر على الاستيراد، ثم اختر صورة QCOW2 لـ vSocket في اختيار الصورة.
- بالنسبة للحافلة/الجهاز، اختر VirtIO Block، وحدد تخزين الهدف للأعداد.
عنصر نائب للصور – إزالة القرص الافتراضي.
عنصر نائب للصور – استيراد صورة QCOW2 كقرص للجهاز الظاهري.
-
في تبويب المعالج، قُم بتكوين على الأقل 2 نوى، واختر المضيف لـ النوع.
عنصر نائب للصور – نوى المعالج ونوع معالج المضيف.
-
في تبويب الذاكرة، أدخل على الأقل 4096 ميغابايت.
-
في تبويب الشبكة، قم بتكوين الجهاز الشبكي الأول (net0). هذه الواجهة هي واجهة WAN1 الخاصة بـ vSocket:
- بالنسبة للجسر، اختر الجسر مع اتصال بالإنترنت.
- بالنسبة للنموذج، اختر VirtIO (محاكاة جزئية).
- اختياريًا، أزل تحديد خانة الجدار الناري.
-
في تبويب التأكيد، تأكد من أن البدء بعد الإنشاء لم يُحدد، ثم انقر فوق إنهاء.
هام! لا تبدأ تشغيل الجهاز الظاهري حتى يتم تكوينه بالكامل. يتم قراءة الـ ISO لنواة cloud-init فقط عند التشغيل الأول.
الخطوة 5 – إضافة منفذ تسلسلي والواجهات المتبقية
بعد إنشاء الجهاز الظاهري، أضف الأجهزة المتبقية من قسم الأجهزة للجهاز الظاهري.
لاستكمال تكوين الأجهزة للجهاز الظاهري:
- انقر على إضافة > منفذ تسلسلي وأضف منفذ تسلسلي 0 (
serial0). يُستخدم المنفذ التسلسلي للوصول إلى وحدة التحكم في vSocket. - انقر إضافة > جهاز شبكة وأضف واجهة LAN1:
- بالنسبة للجسر، اختر جسر LAN.
- بالنسبة للنموذج، اختر VirtIO (محاكاة جزئية).
- اختياريًا، أدخل علامة VLAN لفصل شرائح LAN التي تستخدم نفس الجسر.
- كرر الخطوة السابقة لكل واجهة إضافية (إدارة أو WAN2)، حتى يصل العدد الإجمالي إلى 4 واجهات.
يتم تعيين الأجهزة الشبكية إلى واجهات vSocket وفقًا لترتيبها: net0 هو WAN1، net1 هو LAN1، والأجهزة التالية هي الواجهات الاختيارية.
عنصر نائب للصور – إضافة منفذ تسلسلي.
عنصر نائب للصور – إضافة جهاز شبكة إضافي.
عنصر نائب للصور – قائمة الأجهزة المكتملة لجهاز vSocket الظاهري.
الخطوة 6 – (موصى بها) خذ لقطة للصور
قبل التشغيل الأول، في قسم لقطات الصور للجهاز الظاهري، انقر خذ لقطة وأنشئ لقطة لحالة البدء (على سبيل المثال، نظيف). إذا لم تكن الإعدادات الأولية صحيحة، يمكنك العودة إلى هذه اللقطة بدلاً من إعادة إنشاء الجهاز الظاهري.
عنصر نائب للصور – أخذ لقطة لصور حالة الجهاز الظاهري الأولية.
الخطوة 7 – بدء تشغيل الجهاز الظاهري
ابدأ تشغيل الجهاز الظاهري. عند التشغيل الأول، يقرأ vSocket التكوين من ISO النواة ويبدأ في التسجيل إلى Cato Cloud.
الاتصال بين vSocket وCMA
يقوم CMA تلقائيًا باكتشاف vSocket ويستخدم الرقم التسلسلي (من cloud-init user-data) لتوصيله بالموقع. للتسجيل، يجب أن تحتوي واجهة WAN1 على اتصال بالإنترنت والوصول إلى DNS عامة حتى تصل إلى Cato Cloud وCMA.
- إذا كانت WAN1 تحصل على عنوان IP ديناميكي عن طريق DHCP، يبدأ vSocket تلقائيًا في التسجيل لـ Cato Cloud.
- إذا لم يكن DHCP متاحًا، قم بتكوين عنوان IP ثابت لـ WAN1 في
cloud-inituser-data(راجع الخطوة 2). - بشكل افتراضي، تكون واجهة WAN2 معطلة ويستخدم vSocket فقط WAN1 للتسجيل.
لمتابعة عملية الاقلاع والتسجيل، استخدم قسم وحدة التحكم على الجهاز الظاهري في الواجهة الخاصة بـ Proxmox. يرسل vSocket خرج الإقلاع إلى وحدة التحكم التسلسلية. لرؤية هذا الخرج، قم بتعيين Hardware > Display > Graphic card إلى Serial terminal 0.
نشر التوفر العالي (HA)
يعمل HA كما لو كان زوجًا تقليديًا من HA، باستخدام VRRP بين vSockets KVM. هذا منفصل عن ميزة HA المتواجدة في مجموعة Proxmox (خيار Add to HA)، الذي يعيد تشغيل VM على عقدة أخرى وليس قيد الاستخدام من أجل vSocket HA.
- قم بنشر اثنين من vSocket VMs، كل واحد مع نسخته الخاصة من صورة QCOW2 والنسخة القياسية ISO الخاصة به (كل واحدة مع الرقم التسلسلي للمقبس الأساسي أو الثانوي).
- يجب أن تكون واجهات LAN لكلا VMs في نفس مجال البث (نفس الجسر وعلامة VLAN) لكي يعمل VRRP. إذا كانت الVMs على عقد Proxmox مختلفة، فيجب أن تكون جسور LAN متصلة بنفس الجزء من الطبقة 2.
- أضف المقبس الثانوي إلى الموقع في CMA. يشكل العضوان زوج HA، يتبادلان الصحة/الحالة، ويتحولان وفقًا لتصميم المنتج HA.
- صحة وحالة HA مرئية في CMA.
نشر vSocket VMs إضافي
لتشغيل أكثر من VM vSocket على نفس مضيف Proxmox أو المجموعة:
- قم باستيراد نسخة نظيفة من صورة QCOW2 لكل VM.
- توليد ISO جديد يحتوي على الرقم التسلسلي للموقع المناسب.
- استخدام اسم VM فريد وID VM فريد.
- استخدام جسور LAN منفصلة أو علامات VLAN حيثما كان العزل مطلوباً.
تغيير تكوين vSocket VM
يمكنك تغيير بعض إعدادات VM إذا كان التكوين الجديد يستخدم قيمًا مدعومة. أعد تشغيل vSocket VM لتفعيل التغييرات.
يمكن تغيير إعدادات VM التالية:
- المعالج (CPU)
- الذاكرة
- الشبكات، مثل إضافة أو إزالة واجهة شبكة
إصلاح المشاكل
يتم تشغيل الـ VM ولكن لا يتم تسجيل الـ vSocket
- تحقق من أن ISO البداية مُرفقة كـ CD-ROM.
- تحقق من أن الـ ISO يحتوي على ملف
user-data. - تحقق من أن قيمة
serialتتطابق مع الرقم التسلسلي للموقع في CMA. - تحقق من أن WAN1 تحتوي على اتصال إنترنت واتصال بخدمة DNS عامة.
- تحقق من أن الجهاز الشبكي الأول (net0) متصل بالجسر WAN المخصص.
لا يتم تنفيذ التغييرات في تكوين cloud-init
يتم تشغيل الـ vSocket bootstrap عند التشغيل الأول فقط. إذا قمت بتغيير user-data بعد تهيئة الـ VM، فلن تُطبق التغييرات على قرص التشغيل الحالي. استرجع إلى اللقطة من الحالة الأولية، أو أعد إنشاء الـ VM بنسخة نظيفة من صورة QCOW2 وISO جديد.
لا يوجد مخرجات من وحدة التحكم
- تحقق من إضافة منفذ التسلسل (
serial0) إلى الـ VM. - لرؤية مخرجات التسلسل في واجهة console، قم بتعيين Hardware > Display > Graphic card الى Serial terminal 0.
الشبكة لا تتصرف كما هو متوقع
- تحقق من الجسر الذي تتصل به كل أجهزة الشبكة.
- تحقق من ترتيب أجهزة الشبكة في تكوين الـ VM (net0 هو WAN1، net1 هو LAN1).
- تحقق من أن أقسام
[[network]]في ملفuser-dataتستخدم DHCP أو الإعدادات الثابتة كما هو مقرر.