Налаштування libvirt на Rocky Linux
Вступ¶
libvirt — це неймовірний API віртуалізації, який дозволяє віртуалізувати майже будь-яку операційну систему на ваш вибір за допомогою потужності KVM як гіпервізора та QEMU як емулятора.
Цей документ містить інструкції з налаштування libvirt у Rocky Linux 9.
Передумови¶
- 4-бітна машина під керуванням Rocky Linux 9.
- Переконайтеся, що віртуалізація включена в налаштуваннях BIOS. Якщо наступна команда повертає вихідні дані, це означає, що активацію віртуалізації завершено:
sudo grep -e 'vmx' /proc/cpuinfo
Налаштування репозиторію та встановлення пакетів¶
- Увімкніть репозиторій EPEL (додаткові пакети для Enterprise Linux):
sudo dnf install -y epel-release
- Встановіть необхідні пакунки для
libvirt
(необов’язково дляvirt-manager
, якщо ви бажаєте використовувати GUI для керування своїми віртуальними машинами):
sudo dnf install -y bridge-utils virt-top libguestfs-tools bridge-utils virt-viewer qemu-kvm libvirt virt-manager virt-install
налаштування користувача libvirt¶
- Додайте свого користувача до групи
libvirt
. Це дає змогу керувати вашими віртуальними машинами та використовувати такі команди, якvirt-install
, як не-root користувач:
sudo usermod -aG libvirt $USER
- Активуйте групу
libvirt
за допомогою командиnewgrp
:
sudo newgrp libvirt
- Увімкніть і запустіть службу
libvirtd
:
sudo systemctl enable --now libvirtd
Налаштування інтерфейсу Bridge для прямого доступу до віртуальних машин¶
- Перевірте поточні інтерфейси, які використовуються, і запишіть основний інтерфейс із підключенням до Інтернету:
sudo nmcli connection show
- Видаліть інтерфейс, підключений до Інтернету, і будь-які існуючі віртуальні мостові підключення:
sudo nmcli connection delete <CONNECTION_NAME>
Важливо
Переконайтеся, що у вас є прямий доступ до машини. Якщо ви налаштовуєте машину через SSH, з’єднання буде розірвано після видалення з’єднання основного інтерфейсу.
- Створіть нове з'єднання мосту:
sudo nmcli connection add type bridge autoconnect yes con-name <VIRTUAL_BRIDGE_CON-NAME> ifname <VIRTUAL_BRIDGE_IFNAME>
- Призначте статичну IP-адресу:
sudo nmcli connection modify <VIRTUAL_BRIDGE_CON-NAME> ipv4.addresses <STATIC_IP/SUBNET_MASK> ipv4.method manual
- Призначте адресу шлюзу:
sudo nmcli connection modify <VIRTUAL_BRIDGE_CON-NAME> ipv4.gateway <GATEWAY_IP>
- Призначте адресу DNS:
sudo nmcli connection modify <VIRTUAL_BRIDGE_CON-NAME> ipv4.dns <DNS_IP>
- Додайте підпорядковане підключення мосту:
sudo nmcli connection add type bridge-slave autoconnect yes con-name <MAIN_INTERFACE_WITH_INTERNET_ACCESS_CON-NAME> ifname <MAIN_INTERFACE_WITH_INTERNET_ACCESS_IFNAME> master <VIRTUAL_BRIDGE_CON-NAME>
- Запустіть з'єднання мостом:
sudo nmcli connection up <VIRTUAL_BRIDGE_CON-NAME>
- Додайте рядок
allow all
доbridge.conf
:
sudo tee -a /etc/qemu-kvm/bridge.conf <<EOF
allow all
EOF
- Перезапустіть службу
libvirtd
:
sudo systemctl restart libvirtd
Встановлення віртуальної машини¶
- Установіть право власності на каталог
/var/lib/libvirt
і його вкладені каталоги для вашого користувача:
sudo chown -R $USER:libvirt /var/lib/libvirt/
- Ви можете створити віртуальну машину в командному рядку за допомогою команди
virt-install
. Наприклад, щоб створити мінімальну віртуальну машину Rocky Linux 9.5, потрібно виконати таку команду:
virt-install --name Rocky-Linux-9 --ram 4096 --vcpus 4 --disk path=/var/lib/libvirt/images/rocky-linux-9.img,size=20 --os-variant rocky9 --network bridge=virbr0,model=virtio --graphics none --console pty,target_type=serial --extra-args 'console=ttyS0,115200n8' --location ~/isos/Rocky-9.5-x86_64-minimal.iso
- Для тих, хто хоче керувати своїми віртуальними машинами за допомогою графічного інтерфейсу користувача,
virt-manager
є ідеальним інструментом.
Як вимкнути віртуальну машину¶
- Команда
shutdown
виконує це:
virsh shutdown --domain <YOUR_VM_NAME>
- Щоб примусово вимкнути віртуальну машину, яка не відповідає, скористайтеся командою
destroy
:
virsh destroy --domain <YOUR_VM_NAME>
Як видалити віртуальну машину¶
- Використовуйте команду
undefine
:
virsh undefine --domain <YOUR_VM_NAME> --nvram
- Щоб отримати додаткові команди
virsh
, перевірте сторінкиman
virsh
.
Висновок¶
- libvirt надає багато можливостей і дозволяє легко встановлювати віртуальні машини та керувати ними. Якщо у вас є додаткові доповнення або зміни до цього документа, якими ви хотіли б поділитися, автор люб’язно запрошує вас це зробити.
Author: Howard Van Der Wal
Contributors: Steven Spencer