IP-KVM از طریق QEMU

IP-KVM از طریق QEMU

عیب یابی مشکلات بوت سیستم عامل در سرورهای بدون KVM کار آسانی نیست. ما یک KVM-over-IP برای خودمان از طریق یک تصویر بازیابی و یک ماشین مجازی ایجاد می کنیم.

در صورت بروز مشکل در سیستم عامل روی سرور راه دور، مدیر تصویر بازیابی را دانلود می کند و کارهای لازم را انجام می دهد. این روش زمانی عالی عمل می کند که علت خرابی مشخص باشد و تصویر بازیابی و سیستم عامل نصب شده روی سرور از یک خانواده باشند. اگر علت خرابی هنوز مشخص نیست، باید پیشرفت بارگذاری سیستم عامل را نظارت کنید.

KVM از راه دور

شما می توانید با استفاده از ابزارهای داخلی مانند IPMI یا Intel® vPro™ یا از طریق دستگاه های خارجی به نام IP-KVM به کنسول سرور دسترسی داشته باشید. شرایطی وجود دارد که در آن همه فناوری های ذکر شده در دسترس نیستند. با این حال، این پایان کار نیست. اگر سرور را بتوان از راه دور به یک تصویر بازیابی مبتنی بر سیستم عامل لینوکس راه‌اندازی کرد، KVM-over-IP می‌تواند به سرعت سازماندهی شود.

تصویر بازیابی یک سیستم عامل تمام عیار است که در رم قرار دارد. بنابراین، ما می توانیم هر نرم افزاری، از جمله ماشین های مجازی (VM) را اجرا کنیم. یعنی می توانید یک VM راه اندازی کنید که سیستم عامل سرور در آن اجرا شود. دسترسی به کنسول VM را می توان به عنوان مثال از طریق VNC سازماندهی کرد.

برای اجرای سیستم عامل سرور در داخل ماشین مجازی، باید دیسک های سرور را به عنوان دیسک های مجازی مشخص کنید. در سیستم‌عامل‌های خانواده لینوکس، دیسک‌های فیزیکی با دستگاه‌های بلوک شکل نشان داده می‌شوند / dev / sdX، که می توان مانند فایل های معمولی با آن کار کرد.

برخی از هایپروایزرها مانند QEMU و VirtualBox به شما امکان می دهند داده های VM را به شکل خام ذخیره کنید، یعنی فقط داده ها را بدون ابرداده هایپروایزر ذخیره کنید. بنابراین، VM را می توان با استفاده از دیسک های فیزیکی سرور راه اندازی کرد.

این روش به منابعی برای راه اندازی تصویر بازیابی و ماشین مجازی درون آن نیاز دارد. با این حال، اگر چهار گیگابایت یا بیشتر رم دارید، این مشکلی ایجاد نخواهد کرد.

آماده سازی محیط

می توانید از یک برنامه سبک و ساده به عنوان ماشین مجازی استفاده کنید QEMU، که اغلب بخشی از تصویر بازیابی نیست و بنابراین باید جداگانه نصب شود. تصویر بازیابی که ما به مشتریان ارائه می کنیم بر اساس آن است قوس لینوکس، که از یک مدیر بسته استفاده می کند پکمن.

اولین کاری که باید انجام دهید این است که مطمئن شوید تصویر بازیابی از جدیدترین نرم افزار استفاده می کند. با دستور زیر می توانید تمام اجزای سیستم عامل را بررسی و به روز کنید:

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

اگر همه چیز چنین است، پس تصویر بازیابی آماده است.

راه اندازی ماشین مجازی

ابتدا باید در مورد میزان منابع تخصیص یافته به VM تصمیم بگیرید و مسیرهای رسیدن به دیسک های فیزیکی را بیابید. در مورد ما، دو هسته و دو گیگابایت رم به ماشین مجازی اختصاص می دهیم و دیسک ها در مسیر قرار دارند. / dev / sda و и / dev / sdb. بیایید 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

کمی جزئیات بیشتر در مورد معنای هر یک از پارامترها:

  • -m 2048M - 2 گیگابایت رم به VM اختصاص دهید.
  • -net nic - کاربر شبکه - افزودن یک اتصال ساده به شبکه از طریق یک هایپروایزر با استفاده از NAT (ترجمه آدرس شبکه).
  • -enable-kvm - مجازی سازی کامل KVM (ماشین مجازی هسته) را فعال کنید.
  • میزبان cpu - ما به پردازنده مجازی می گوییم که تمام عملکردهای پردازنده سرور را دریافت کند.
  • -M PC - نوع تجهیزات رایانه شخصی؛
  • -smp 2 - پردازنده مجازی باید دو هسته ای باشد.
  • -vga std - یک کارت گرافیک استاندارد را انتخاب کنید که از وضوح صفحه نمایش بزرگ پشتیبانی نمی کند.
  • -درایو فایل=/dev/sda، فرمت=خام، شاخص=0، رسانه=دیسک
    • file=/dev/sdX - مسیر دستگاه بلوک نشان دهنده دیسک سرور؛
    • قالب = خام - توجه می کنیم که در فایل مشخص شده همه داده ها به شکل "خام" هستند، یعنی مانند یک دیسک.
    • فهرست = 0 - تعداد دیسک، باید برای هر دیسک بعدی یک عدد افزایش یابد.
    • رسانه = دیسک - ماشین مجازی باید این ذخیره سازی را به عنوان یک دیسک تشخیص دهد.
  • -vnc: 0، رمز عبور - سرور VNC را به طور پیش فرض در 0.0.0.0: 5900 راه اندازی کنید، از یک رمز عبور به عنوان مجوز استفاده کنید.
  • -مانیتور stdio - ارتباط بین مدیر و qemu از طریق جریان های ورودی/خروجی استاندارد رخ می دهد.

اگر همه چیز مرتب باشد، مانیتور QEMU شروع به کار می کند:

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

ما نشان دادیم که مجوز با استفاده از یک رمز عبور انجام می شود، اما خود رمز عبور را نشان ندادیم. این کار را می توان با ارسال دستور change vnc password به مانیتور QEMU انجام داد. نکته مهم: رمز عبور نمی تواند بیش از هشت کاراکتر باشد.

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

پس از این، ما می توانیم با استفاده از آدرس IP سرور خود با رمز عبوری که تعیین کرده ایم، با هر کلاینت VNC، به عنوان مثال، Remmina، ارتباط برقرار کنیم.

IP-KVM از طریق QEMU

IP-KVM از طریق QEMU

اکنون نه تنها خطاهای احتمالی را در مرحله بارگذاری مشاهده می کنیم، بلکه می توانیم با آنها مقابله کنیم.

وقتی کارتان تمام شد، باید ماشین مجازی را خاموش کنید. این کار را می توان در داخل سیستم عامل با ارسال سیگنال خاموش شدن یا با دادن دستور انجام داد system_powerdown در مانیتور QEMU این کار معادل یک بار فشار دادن دکمه خاموش کردن خواهد بود: سیستم عامل داخل ماشین مجازی به آرامی خاموش می شود.

نصب سیستم عامل

ماشین مجازی دسترسی کامل به دیسک های سرور دارد و بنابراین می توان از آن برای نصب دستی سیستم عامل استفاده کرد. تنها محدودیت مقدار RAM است: تصویر ISO را نمی توان همیشه در RAM قرار داد. بیایید چهار گیگابایت رم برای ذخیره تصویر در آن اختصاص دهیم / mnt:

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

فلگ -بوت d بوت شدن را از درایو سی دی نصب می کند. ما با یک کلاینت VNC وصل می شویم و بوت لودر FreeBSD را می بینیم.

IP-KVM از طریق QEMU

از آنجایی که از دریافت آدرس از طریق DHCP برای دسترسی به اینترنت استفاده شده است، پس از پیکربندی ممکن است لازم باشد که در سیستم تازه نصب شده بوت شده و تنظیمات شبکه را اصلاح کنید. در برخی موارد، ممکن است نیاز به نصب درایورهای آداپتور شبکه باشد، زیرا کارت شبکه نصب شده در سرور و کارت شبیه سازی شده در VM متفاوت است.

نتیجه

این روش سازماندهی دسترسی از راه دور به کنسول سرور، برخی از منابع سرور را مصرف می کند، با این حال، هیچ نیاز خاصی را به سخت افزار سرور تحمیل نمی کند و بنابراین تقریباً در هر شرایطی قابل پیاده سازی است. استفاده از این راه حل، تشخیص خطاهای نرم افزار و بازیابی عملکرد یک سرور راه دور را بسیار آسان تر می کند.

منبع: www.habr.com

اضافه کردن نظر