IP-KVM عبر QEMU

IP-KVM عبر QEMU

استكشاف أخطاء تمهيد نظام التشغيل وإصلاحها على الخوادم التي لا تحتوي على KVM ليست مهمة سهلة. نقوم بإنشاء KVM-over-IP لأنفسنا عبر صورة الاسترداد وجهاز افتراضي.

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

KVM عن بعد

يمكنك الوصول إلى وحدة تحكم الخادم باستخدام أدوات مدمجة مثل IPMI أو Intel® vPro™، أو من خلال أجهزة خارجية تسمى IP-KVM. هناك حالات لا تتوفر فيها جميع التقنيات المدرجة. ومع ذلك، هذه ليست النهاية. إذا كان من الممكن إعادة تشغيل الخادم عن بعد إلى صورة استرداد تعتمد على نظام التشغيل Linux، فيمكن تنظيم KVM-over-IP بسرعة.

صورة الاسترداد عبارة عن نظام تشغيل كامل موجود في ذاكرة الوصول العشوائي (RAM). وبالتالي، يمكننا تشغيل أي برنامج، بما في ذلك الأجهزة الافتراضية (VMs). أي أنه يمكنك تشغيل جهاز افتراضي يعمل من خلاله نظام تشغيل الخادم. يمكن تنظيم الوصول إلى وحدة التحكم VM، على سبيل المثال، عبر VNC.

لتشغيل نظام تشغيل الخادم داخل جهاز افتراضي، يجب عليك تحديد أقراص الخادم كأقراص VM. في أنظمة تشغيل عائلة Linux، يتم تمثيل الأقراص الفعلية بأجهزة كتلة من النموذج / ديف / SDXوالتي يمكن التعامل معها مثل الملفات العادية.

تسمح لك بعض برامج Hypervisor، مثل QEMU وVirtualBox، بتخزين بيانات VM في نموذج "أولي"، أي تخزين البيانات فقط دون بيانات تعريف برنامج Hypervisor. وبالتالي، يمكن تشغيل VM باستخدام الأقراص الفعلية للخادم.

تتطلب هذه الطريقة موارد لتشغيل صورة الاسترداد والجهاز الافتراضي بداخلها. ومع ذلك، إذا كان لديك أربعة غيغابايت أو أكثر من ذاكرة الوصول العشوائي، فلن تكون هذه مشكلة.

اعداد البيئة

يمكنك استخدام برنامج خفيف الوزن وبسيط كجهاز افتراضي كيمو، والتي غالبًا لا تكون جزءًا من صورة الاسترداد وبالتالي يجب تثبيتها بشكل منفصل. تعتمد صورة الاسترداد التي نقدمها للعملاء على قوس لينكس، والذي يستخدم مدير الحزم بكمن.

أول ما عليك فعله هو التأكد من أن صورة الاسترداد تستخدم أحدث البرامج. يمكنك التحقق من جميع مكونات نظام التشغيل وتحديثها باستخدام الأمر التالي:

pacman -Suy

بعد التحديث، تحتاج إلى تثبيت QEMU. سيبدو أمر التثبيت عبر pacman كما يلي:

pacman -S qemu

دعونا نتحقق من تثبيت qemu بشكل صحيح:

root@sel-rescue ~ # qemu-system-x86_64 --version
QEMU emulator version 4.0.0
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

إذا كان كل شيء على هذا النحو، فإن صورة الاسترداد جاهزة للبدء.

بدء تشغيل الجهاز الظاهري

أولاً، عليك تحديد مقدار الموارد المخصصة للجهاز الافتراضي ومعرفة المسارات إلى الأقراص الفعلية. في حالتنا، سنخصص نواتين و2 غيغابايت من ذاكرة الوصول العشوائي للجهاز الظاهري، وتقع الأقراص على طول الطريق / ديف / حزب العمل الديمقراطي и / ديف / زنة. لنبدأ VM:

qemu-system-x86_64
-m 2048M
-net nic -net user
-enable-kvm
-cpu host,nx
-M pc
-smp 2
-vga std
-drive file=/dev/sda,format=raw,index=0,media=disk
-drive file=/dev/sdb,format=raw,index=1,media=disk
-vnc :0,password
-monitor stdio

مزيد من التفاصيل حول ما تعنيه كل معلمة:

  • -م 2048م — تخصيص 2 غيغابايت من ذاكرة الوصول العشوائي (RAM) للجهاز الظاهري؛
  • - صافي نيك - مستخدم الشبكة - إضافة اتصال بسيط بالشبكة من خلال برنامج Hypervisor باستخدام NAT (ترجمة عنوان الشبكة)؛
  • -التمكين- kvm - تمكين المحاكاة الافتراضية الكاملة لـ KVM (Kernel Virtual Machine)؛
  • المضيف -cpu — نطلب من المعالج الظاهري أن يحصل على جميع وظائف معالج الخادم؛
  • -م بي سي — نوع معدات الكمبيوتر؛
  • - إس إم بي 2 - يجب أن يكون المعالج الظاهري ثنائي النواة؛
  • -VGA الأمراض المنقولة جنسيا — اختر بطاقة فيديو قياسية لا تدعم دقة الشاشة الكبيرة؛
  • -ملف محرك الأقراص=/dev/sda,format=raw,index=0,media=disk
    • file=/dev/sdX - المسار إلى جهاز الكتلة الذي يمثل قرص الخادم؛
    • شكل = خام - نلاحظ أن جميع البيانات في الملف المحدد تكون في شكل "خام"، أي كما هي على القرص؛
    • مؤشر = 0 — رقم القرص، يجب أن يزيد بمقدار واحد لكل قرص لاحق؛
    • الوسائط=القرص - يجب أن يتعرف الجهاز الظاهري على وحدة التخزين هذه كقرص؛
  • -vnc :0، كلمة المرور - بدء تشغيل خادم VNC افتراضيًا على 0.0.0.0:5900، واستخدام كلمة المرور كتفويض؛
  • -مراقبة ستديو — سيحدث الاتصال بين المسؤول وqemu من خلال تدفقات الإدخال/الإخراج القياسية.

إذا كان كل شيء على ما يرام، ستبدأ شاشة QEMU:

QEMU 4.0.0 monitor - type 'help' for more information
(qemu)

لقد أشرنا إلى أن التفويض يحدث باستخدام كلمة مرور، لكننا لم نشير إلى كلمة المرور نفسها. يمكن القيام بذلك عن طريق إرسال أمر تغيير كلمة المرور vnc إلى شاشة QEMU. ملحوظة هامة: كلمة المرور لا يمكن أن تزيد عن ثمانية أحرف.

(qemu) change vnc password
Password: ******

بعد ذلك، يمكننا الاتصال بأي عميل VNC، على سبيل المثال، Remmina، باستخدام عنوان IP الخاص بخادمنا مع كلمة المرور التي حددناها.

IP-KVM عبر QEMU

IP-KVM عبر QEMU

الآن، لا نرى الأخطاء المحتملة في مرحلة التحميل فحسب، بل يمكننا أيضًا التعامل معها.

عند الانتهاء، يجب عليك إيقاف تشغيل الجهاز الظاهري. يمكن القيام بذلك إما داخل نظام التشغيل عن طريق إرسال إشارة لإيقاف التشغيل، أو عن طريق إعطاء الأمر system_powerdown في مراقبة QEMU. سيكون هذا معادلاً للضغط على زر إيقاف التشغيل مرة واحدة: سيتم إيقاف تشغيل نظام التشغيل داخل الجهاز الظاهري بسلاسة.

تركيب نظام التشغيل

يتمتع الجهاز الظاهري بإمكانية الوصول الكامل إلى أقراص الخادم، وبالتالي يمكن استخدامه لتثبيت نظام التشغيل يدويًا. القيد الوحيد هو مقدار ذاكرة الوصول العشوائي: لا يمكن دائمًا وضع صورة ISO في ذاكرة الوصول العشوائي. لنخصص أربعة غيغابايت من ذاكرة الوصول العشوائي (RAM) لتخزين الصورة فيها / كزاز:

mount -t tmpfs -o size=4G tmpfs /mnt

سنقوم أيضًا بتنزيل صورة التثبيت لنظام التشغيل FreeBSD 12.0:

wget -P /mnt ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-bootonly.iso

الآن يمكنك بدء تشغيل VM:

qemu-system-x86_64
-m 2048M
-net nic -net user
-enable-kvm
-cpu host,nx
-M pc
-smp 2
-vga std
-drive file=/dev/sda,format=raw,index=0,media=disk
-drive file=/dev/sdb,format=raw,index=1,media=disk
-vnc :0,password
-monitor stdio
-cdrom /mnt/FreeBSD-12.0-RELEASE-amd64-bootonly.iso
-boot d

علم -التمهيد د تثبيت التشغيل من محرك الأقراص المضغوطة. نحن نتواصل مع عميل VNC ونرى أداة تحميل التشغيل FreeBSD.

IP-KVM عبر QEMU

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

اختتام

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

المصدر: www.habr.com

إضافة تعليق