Підручник Qemu Ubuntu: знати, як установлювати та налаштовувати віртуальні машини

Простіше кажучи, Qemu — це безкоштовна програма з відкритим кодом; використовується для створення віртуальних машин поверх інших операційних систем Linux, як-от VirtualBox і VMware Workstation Player. Це програмне забезпечення можна встановити не тільки на Linux, але й на Windows і MacOS, щоб перевірити різні дистрибутиви Linux. Однак більшість користувачів Linux вважають за краще використовувати VirtualBox через його простий у використанні інтерфейс і широкий діапазон апаратної сумісності. Незважаючи на те, що VMware Workstation Player також доступний для Linux, він обмежений щодо функцій порівняно з VirtualBox. За таких обставин існує кілька добре відомих програм для віртуалізації апаратного забезпечення з відкритим вихідним кодом, доступних із власним середовищем операційної системи Linux, які можуть перетворити будь-яку голу машину на повну платформу віртуалізації. Про такі платформи ми поговоримо в іншій статті.

Тут, у цій статті підручника Qemu Ubuntu, ми побачимо, як встановити та налаштувати цей емулятор машини з відкритим кодом і інструмент віртуалізатора в Ubuntu.

Ми можемо запускати ОС і програми, виконуючи гостьовий код безпосередньо на центральному процесорі за допомогою цього програмного забезпечення. Він підтримує віртуалізацію за допомогою модуля ядра KVM у Linux. Використовуючи KVM, можна віртуалізувати x86, сервер і вбудований PowerPC, 64-розрядний POWER, S390, 32- і 64-розрядний ARM і гостьові системи MIPS.

Щоб установити Qemu на Ubuntu, виконайте наведені нижче команди.

Примітка: ми використовували Ubuntu 18.04 для встановлення та створення віртуальної машини на основі ядра, але наведені тут команди однакові для старих версій, таких як Ubuntu 17.04, Ubuntu 16.04, Ubuntu 15.04… Під час написання цього посібника остання версіяQemu була 3.1.0.

  • Перейти доUbuntu
  • Відкрийте термінал командного рядка в Ubuntu. Ярлик єCTRL+ALT+T.
  • На терміналі виконайте наведену нижче команду:
  • sudo apt-get install qemu
  • Встановіть пакет KVM, команда
  • sudo apt-get install qemu-kvm
  • Щоб перевірити версію Qemu, скористайтеся наведеною нижче командою
  • apt show qemu-system-x86
  • Для перевірки версії KVM
  • kvm -version

Вихідний зразок

h2s@h2s-VirtualBox:~$ sudo apt-get install qemu
[sudo] password for h2s: 
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following additional packages will be installed:
binfmt-support cpu-checker ibverbs-providers ipxe-qemu
ipxe-qemu-256k-compat-efi-roms libaio1 libcacard0 libfdt1 libibverbs1
libiscsi7 libnl-route-3-200 librados2 librbd1 librdmacm1 libsdl1.2debian
libspice-server1 libusbredirparser1 libxen-4.9 libxenstore3.0 libyajl2
msr-tools qemu-block-extra qemu-slof qemu-system qemu-system-arm
qemu-system-common qemu-system-mips qemu-system-misc qemu-system-ppc
qemu-system-s390x qemu-system-sparc qemu-system-x86 qemu-user
qemu-user-binfmt qemu-utils seabios sharutils
Suggested packages:
qemu-user-static samba vde2 qemu-efi openbios-ppc openhackware
openbios-sparc sgabios ovmf debootstrap sharutils-doc bsd-mailx | mailx
The following NEW packages will be installed:
binfmt-support cpu-checker ibverbs-providers ipxe-qemu
ipxe-qemu-256k-compat-efi-roms libaio1 libcacard0 libfdt1 libibverbs1
libiscsi7 libnl-route-3-200 librados2 librbd1 librdmacm1 libsdl1.2debian
libspice-server1 libusbredirparser1 libxen-4.9 libxenstore3.0 libyajl2
msr-tools qemu qemu-block-extra qemu-slof qemu-system qemu-system-arm
qemu-system-common qemu-system-mips qemu-system-misc qemu-system-ppc
qemu-system-s390x qemu-system-sparc qemu-system-x86 qemu-user
qemu-user-binfmt qemu-utils seabios sharutils
0 upgraded, 38 newly installed, 0 to remove and 366 not upgraded.
Need to get 54.9 MB/62.2 MB of archives.
After this operation, 341 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y

h2s@h2s-VirtualBox:~$ sudo apt-get install qemu-kvm
[sudo] password for h2s: 
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following NEW packages will be installed:
qemu-kvm
0 upgraded, 1 newly installed, 0 to remove and 366 not upgraded.
Need to get 13.2 kB of archives.
After this operation, 120 kB of additional disk space will be used.
Get:1 https://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 qemu-kvm amd64 1:2.11+dfsg-1ubuntu7.9 [13.2 kB]
Fetched 13.2 kB in 2s (6,569 B/s)
Selecting previously unselected package qemu-kvm.
(Reading database ... 113459 files and directories currently installed.)
Preparing to unpack .../qemu-kvm_1%3a2.11+dfsg-1ubuntu7.9_amd64.deb ...
Unpacking qemu-kvm (1:2.11+dfsg-1ubuntu7.9) ...
Setting up qemu-kvm (1:2.11+dfsg-1ubuntu7.9) ...
Processing triggers for man-db (2.8.3-2) ...

Створіть VirtualMachine

Після встановленняQemuна хост-системі Ubuntu настав час створити віртуальні машини.

Створення віртуального жорсткого диска

Команда створення віртуального жорсткого диска

qemu-img create Puppy.vdi 10G

Примітка: у наведеній вище команді Puppy.vdi — це ім’я нашого віртуального жорсткого диска. Ви можете назвати його на свій вибір. Розширення.VDI створить формат образу віртуального ДИСКА, якщо ви хочете, ви можете замінити його на .img (формат необробленого зображення) .vhd і формати .vmdk.

Ми також можемо використовуватиСтандартні формати віртуального жорсткого диска Qemuце .qcow2, .qed, .qcow і .cow.

Отже, якщо той самий жорсткий диск, який ми створили вище; потрібно створити у форматі диска Qemu, тоді команда буде

qemu-img create -f qcow2 Puppy.qcow 10G

10 Gце обсяг місця, який ми хочемо виділити на віртуальний жорсткий диск. Тут ми встановлюємо Puppy Linux, який зовсім не потребує великого обсягу місця, тому ми використали 10 G (G означає Giga Byte GB). Однак у цьому посібнику ми використовуємо дисковий формат VDI.

Завантаження з образу ISO

Після створення віртуального жорсткого диска давайте завантажимо ISO у середовищі Live. Ми використовуємо ОС типу Linux, тобто ISO-образ Puppy Linux знаходиться на робочому столі нашого Ubuntu.

qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512

У наведеній вище команді ми використали образ ISO, який знаходиться в папці на робочому столі. Таким же чином ви повинні вказати шлях до вашого файлу ISO в команді; решта команди залишиться незмінною. Theвказав обсяг оперативної пам'яті, призначений гостьовій ОС від хост-системи, тут це 512 Мб.

Запуск Qemu для встановлення ОС на віртуальний жорсткий диск

Щойно ви запустите наведену вище команду, гостьова ОС Linux почне завантажуватися, і її можна буде перевірити в реальному середовищіале для його встановлення нам потрібно підключити віртуальний жорсткий диск.Так, наприклад, ви також хочете встановити гостьову ОС, наприклад Windows або будь-який інший Linux; тоді ми повинні сказати Qemu, привіт! ось драйв.Просто введіть назву віртуального диска, який ви створили вище

qemu-system-x86_64 -boot d -cdrom Desktop/puppy.iso -m 512 -hda Puppy.vdi

Завантаження безпосередньо з компакт-диска

Окрім файлів ISO, користувач також може завантажувати ОС безпосередньо з компакт-диска:

qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512

У наведеному вище командному рядку Qemu отримає файли завантаження з дисковода CD-ROM.

Увімкніть KVM або модулі прискорення Intel

Щоб прискорити віртуальні машини QEMU, ми можемо ввімкнути KVM або Intel HAXM. Отже, щоб швидше запустити ВМ, скористайтеся інструкцією-accel kvmабо-enable-kvmдля KVM і-accel haxабо-enable-haxдля Intel HAXM.

Наприклад:

qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512 -enable-kvm

або

qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512 -enable-hax

Завантаження з віртуального жорсткого диска

Після встановлення гостьової операційної системи тепер, якщо ми хочемо завантажити наш віртуальний жорсткий диск для подальшого використання або вже маємо образ жорсткого диска VDI або VHD, просто скористайтеся ним за допомогою наведеної нижче команди.

qemu-system-x86_64 -hda (шлях до віртуального жорсткого диска)

qemu-system-x86_64 -hda puppy.vdi

Перетворення Qemu img

Цей інструмент віртуалізації на основі команд може не лише створювати віртуальні машини, але й дає змогу користувачам перетворювати формати зображень. Ось команда для цього

qemu-img конвертувати {image_name} {image_name}

Наприклад,ми хочемо перетворити ISO або qcow2 у необроблений формат IMG, наведена вище команда використовуватиме так

qemu-img convert /Desktop/ubutnu.iso /Desktop/new.img

Примітка: ми маємо вказати повний шлях до зображення, а також де ми хочемо зберегти перетворене.

Virt Manager для Qemu

Після проходження команди вище та процедури встановлення віртуальної машини на QEMU; ви можете відмовитися через його складність. Але зачекайте, у цьому інструменті віртуалізації є простий і легкий у використанні метод створення віртуальної машини. Надавши йому графічний інтерфейс користувача, подібний доВіртуальний ящик. Отже, якщо ви новий користувач і хочете позбавити себе від написання довгих команд, виконайте наведені нижче командикоманду для встановлення Virt Manager на Ubuntu. 

sudo apt-get install qemu virt-manager virt-viewer libvirt-bin

Зразок результату для наведеної вище команди:

h2s@h2s-VirtualBox:~$ sudo apt-get install qemu virt-manager virt-viewer libvirt-bin
[sudo] password for h2s: 
Reading package lists... Done
Building dependency tree 
Reading state information... Done
qemu is already the newest version (1:2.11+dfsg-1ubuntu7.9).
The following additional packages will be installed:
augeas-lenses bridge-utils dmeventd ebtables gir1.2-appindicator3-0.1 gir1.2-gtk-vnc-2.0
gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 gir1.2-spiceclientglib-2.0
gir1.2-spiceclientgtk-3.0 libaugeas0 libdevmapper-event1.02.1 libgovirt-common libgovirt2
libgtk-vnc-2.0-0 libgvnc-1.0-0 liblvm2app2.2 liblvm2cmd2.02 libnetcf1 libosinfo-1.0-0
libphodav-2.0-0 libphodav-2.0-common libpython-stdlib libpython2.7 libpython2.7-minimal
libpython2.7-stdlib libreadline5 libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5
libusbredirhost1 libvirt-clients libvirt-daemon libvirt-daemon-driver-storage-rbd
libvirt-daemon-system libvirt-glib-1.0-0 libvirt0 libxml2-utils lvm2 osinfo-db python
python-asn1crypto python-cairo python-certifi python-cffi-backend python-chardet
python-cryptography python-dbus python-enum34 python-gi python-gi-cairo python-idna
python-ipaddr python-ipaddress python-libvirt python-libxml2 python-minimal python-openssl
python-pkg-resources python-requests python-six python-urllib3 python2.7 python2.7-minimal
spice-client-glib-usb-acl-helper virtinst
Suggested packages:
augeas-doc augeas-tools libosinfo-l10n gstreamer1.0-plugins-bad gstreamer1.0-libav
libvirt-daemon-driver-storage-gluster libvirt-daemon-driver-storage-sheepdog
libvirt-daemon-driver-storage-zfs numad radvd auditd systemtap nfs-common zfsutils pm-utils
thin-provisioning-tools python-doc python-tk python-cryptography-doc
python-cryptography-vectors python-dbus-dbg python-dbus-doc python-enum34-doc
python-openssl-doc python-openssl-dbg python-setuptools python-socks python-ntlm
python2.7-doc ssh-askpass python-guestfs
The following NEW packages will be installed:
augeas-lenses bridge-utils dmeventd ebtables gir1.2-appindicator3-0.1 gir1.2-gtk-vnc-2.0
gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 gir1.2-spiceclientglib-2.0
gir1.2-spiceclientgtk-3.0 libaugeas0 libdevmapper-event1.02.1 libgovirt-common libgovirt2
libgtk-vnc-2.0-0 libgvnc-1.0-0 liblvm2app2.2 liblvm2cmd2.02 libnetcf1 libosinfo-1.0-0
libphodav-2.0-0 libphodav-2.0-common libpython-stdlib libreadline5
libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5 libusbredirhost1 libvirt-bin
libvirt-clients libvirt-daemon libvirt-daemon-driver-storage-rbd libvirt-daemon-system
libvirt-glib-1.0-0 libvirt0 libxml2-utils lvm2 osinfo-db python python-asn1crypto
python-cairo python-certifi python-cffi-backend python-chardet python-cryptography
python-dbus python-enum34 python-gi python-gi-cairo python-idna python-ipaddr
python-ipaddress python-libvirt python-libxml2 python-minimal python-openssl
python-pkg-resources python-requests python-six python-urllib3 python2.7 python2.7-minimal
spice-client-glib-usb-acl-helper virt-manager virt-viewer virtinst
The following packages will be upgraded:
libpython2.7 libpython2.7-minimal libpython2.7-stdlib
3 upgraded, 65 newly installed, 0 to remove and 363 not upgraded.
Need to get 11.0 MB/15.8 MB of archives.
After this operation, 57.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Після виконання наведеної вище командиви побачите aМенеджер віртуальної машиниінструмент назвірту вашій системі Ubuntu. Щоб отримати доступ до віртуальних машин Virt Manager, перейдіть до всіх програм і натисніть піктограму Virt.

Коли відкриється Virt Manager, клацніть першу опцію ліворуч у верхньому меню. Цей параметр надасть вам керований графічний інтерфейс для створення та налаштування віртуальних машин. Процес такий самий, як у VirtualBox.

Потім виберіть завантаження носія в образ ISO, а потім призначте оперативну пам’ять, кількість процесорів і віртуальний жорсткий диск.

Під час створення віртуальних машин у віртуальному менеджері Virt для Qemu ви також отримаєте опцію вибору мережі, з якої ми зможемо вибрати віртуальні мережі для наших машин. За замовчуванням,Вибрано NAT віртуальної мережі за замовчуванням, залиште все як є, якщо у вас немає кількох підключень. Саме в NAT використовується діапазон IP-адрес хоста для спільного доступу до Інтернету.

Отже, таким чином ми можемо використовувати це альтернативне програмне забезпечення Virtualbox не лише в Ubuntu, але й для інших різних ОС Linux для створення віртуальних машин. Це програмне забезпечення віртуалізації має власні переваги порівняно з VirtualBox, наприклад більшу швидкість, оскільки воно безпосередньо використовує модуль ядра. Крім того, якщо ви ознайомитеся з його командами, то налаштування віртуальних машин на безголових серверах стане шматком пирога. Однак він підтримує майже всі види емуляції операційної системи, але порівняно з Linux для гостьової ОС Windows він трохи повільний. У таких ситуаціях увімкніть модулі прискорювача KVM або Intel HAXM. Крім того, слід зазначити, що в останній версії підтримку KVM було припинено, але HAXM з відкритим вихідним кодом продовжуватиме працювати.

Якщо у вас виникли проблеми під час виконання цього підручника, будь ласка, повідомте нам, що розділ коментарів повністю ваш!

Інші корисні ресурси:

Related Posts