IP-KVM melalui QEMU

IP-KVM melalui QEMU

Memecahkan masalah boot sistem operasi pada server tanpa KVM bukanlah tugas yang mudah. Kami membuat KVM-over-IP untuk diri kami sendiri melalui image pemulihan dan mesin virtual.

Jika terjadi masalah dengan sistem operasi di server jarak jauh, administrator mengunduh citra pemulihan dan melakukan pekerjaan yang diperlukan. Metode ini berfungsi dengan baik bila penyebab kegagalan diketahui, dan citra pemulihan serta sistem operasi yang diinstal di server berasal dari keluarga yang sama. Jika penyebab kegagalan belum diketahui, Anda perlu memantau kemajuan pemuatan sistem operasi.

KVM jarak jauh

Anda dapat mengakses konsol server menggunakan alat bawaan seperti IPMI atau Intel® vPro™, atau melalui perangkat eksternal yang disebut IP-KVM. Ada situasi di mana semua teknologi di atas tidak tersedia. Namun, ini bukanlah akhir. Jika server dapat di-reboot dari jarak jauh ke dalam image pemulihan berdasarkan sistem operasi Linux, maka KVM-over-IP dapat diatur dengan cepat.

Gambar pemulihan adalah sistem operasi lengkap yang terletak di RAM. Dengan demikian, kita dapat menjalankan perangkat lunak apa pun, termasuk mesin virtual (VM). Artinya, Anda dapat meluncurkan VM yang akan menjalankan sistem operasi server. Akses ke konsol VM dapat diatur, misalnya melalui VNC.

Untuk menjalankan sistem operasi server di dalam VM, Anda harus menentukan disk server sebagai disk VM. Dalam sistem operasi keluarga Linux, disk fisik diwakili oleh perangkat blok dalam bentuk / dev / sdX, yang dapat dikerjakan seperti file biasa.

Beberapa hypervisor, seperti QEMU dan VirtualBox, memungkinkan Anda menyimpan data VM dalam bentuk "mentah", yaitu hanya menyimpan data tanpa metadata hypervisor. Dengan demikian, VM dapat diluncurkan menggunakan disk fisik server.

Metode ini memerlukan sumber daya untuk meluncurkan citra pemulihan dan VM di dalamnya. Namun, jika Anda memiliki RAM empat gigabyte atau lebih, ini tidak akan menjadi masalah.

Mempersiapkan Lingkungan

Anda dapat menggunakan program yang ringan dan sederhana sebagai mesin virtual QEMU, yang seringkali bukan bagian dari citra pemulihan dan oleh karena itu harus diinstal secara terpisah. Gambar pemulihan yang kami tawarkan kepada klien didasarkan pada Arch Linux, yang menggunakan manajer paket pacman.

Hal pertama yang perlu Anda lakukan adalah memastikan bahwa recovery image menggunakan software terbaru. Anda dapat memeriksa dan memperbarui semua komponen OS dengan perintah berikut:

pacman -Suy

Setelah pembaruan, Anda perlu menginstal QEMU. Perintah instalasi melalui pacman akan terlihat seperti ini:

pacman -S qemu

Mari kita periksa apakah qemu sudah diinstal dengan benar:

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

Jika semuanya sudah demikian, maka gambar pemulihan siap digunakan.

Memulai mesin virtual

Pertama, Anda perlu memutuskan jumlah sumber daya yang dialokasikan ke VM dan mencari tahu jalur ke disk fisik. Dalam kasus kami, kami akan mengalokasikan dua inti dan dua gigabyte RAM ke mesin virtual, dan disk ditempatkan di sepanjang jalan. / Dev / sda и / dev / sdb. Mari kita mulai VMnya:

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

Sedikit lebih detail tentang arti masing-masing parameter:

  • -m 2048M — mengalokasikan 2 GB RAM ke VM;
  • -net nic -pengguna bersih — menambahkan koneksi sederhana ke jaringan melalui hypervisor menggunakan NAT (Network Address Translation);
  • -aktifkan-kvm — mengaktifkan virtualisasi KVM (Kernel Virtual Machine) penuh;
  • -cpu tuan rumah — kami memberi tahu prosesor virtual untuk mendapatkan semua fungsi prosesor server;
  • -M PC — jenis peralatan PC;
  • -smp 2 — prosesor virtual harus dual-core;
  • -vga std — pilih kartu video standar yang tidak mendukung resolusi layar besar;
  • -file drive=/dev/sda,format=mentah,indeks=0,media=disk
    • file=/dev/sdX — jalur ke perangkat blok yang mewakili disk server;
    • format = mentah — kami mencatat bahwa dalam file yang ditentukan semua data dalam bentuk "mentah", yaitu seperti pada disk;
    • index = 0 — nomor disk, harus bertambah satu untuk setiap disk berikutnya;
    • media=disk — mesin virtual harus mengenali penyimpanan ini sebagai disk;
  • -vnc :0, kata sandi — memulai server VNC secara default pada 0.0.0.0:5900, gunakan kata sandi sebagai otorisasi;
  • -monitor stdio — komunikasi antara administrator dan qemu akan terjadi melalui aliran input/output standar.

Jika semuanya beres, monitor QEMU akan mulai:

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

Kami mengindikasikan bahwa otorisasi terjadi menggunakan kata sandi, tetapi tidak menunjukkan kata sandi itu sendiri. Hal ini dapat dilakukan dengan mengirimkan perintah ubah kata sandi vnc ke monitor QEMU. Catatan penting: Kata sandi tidak boleh lebih dari delapan karakter.

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

Setelah ini, kita dapat terhubung dengan klien VNC mana pun, misalnya Remmina, menggunakan alamat IP server kami dengan kata sandi yang kami tentukan.

IP-KVM melalui QEMU

IP-KVM melalui QEMU

Sekarang kami tidak hanya melihat kemungkinan kesalahan pada tahap pemuatan, tetapi kami juga dapat mengatasinya.

Setelah selesai, Anda harus mematikan mesin virtual. Ini dapat dilakukan baik di dalam OS dengan mengirimkan sinyal untuk mematikan, atau dengan memberikan perintah sistem_powerdown di monitor QEMU. Ini sama dengan menekan tombol shutdown sekali: sistem operasi di dalam mesin virtual akan dimatikan dengan lancar.

Instalasi sistem operasi

Mesin virtual memiliki akses penuh ke disk server dan oleh karena itu dapat digunakan untuk menginstal sistem operasi secara manual. Satu-satunya batasan adalah jumlah RAM: image ISO tidak selalu dapat ditempatkan di RAM. Mari kita alokasikan empat gigabyte RAM untuk menyimpan gambar / mnt:

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

Kami juga akan mendownload gambar instalasi sistem operasi 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

Sekarang Anda dapat memulai 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

Bendera -boot d menginstal boot dari drive CD. Kami terhubung dengan klien VNC dan melihat bootloader FreeBSD.

IP-KVM melalui QEMU

Karena memperoleh alamat melalui DHCP digunakan untuk mengakses Internet, setelah konfigurasi mungkin perlu melakukan booting ke sistem yang baru diinstal dan memperbaiki pengaturan jaringan. Dalam beberapa kasus, mungkin perlu menginstal driver adaptor jaringan, karena kartu jaringan yang dipasang di server dan yang ditiru di VM berbeda.

Kesimpulan

Metode pengorganisasian akses jarak jauh ke konsol server ini menghabiskan sebagian sumber daya server, namun tidak memaksakan persyaratan khusus apa pun pada perangkat keras server, dan oleh karena itu dapat diterapkan di hampir semua kondisi. Menggunakan solusi ini mempermudah diagnosis kesalahan perangkat lunak dan memulihkan fungsionalitas server jarak jauh.

Sumber: www.habr.com

Tambah komentar