Configurazione di libvirt su Rocky Linux
Introduction¶
libvirt è un'incredibile API di virtualizzazione che consente la virtualizzazione di quasi tutti i sistemi operativi di vostra scelta con la potenza di KVM come hypervisor e QEMU come emulatore.
Questo documento fornisce le istruzioni per l'impostazione di libvirt su Rocky Linux 9.
Prerequisites¶
- Una macchina a 64 bit con Rocky Linux 9.
- Assicuratevi di aver abilitato la virtualizzazione nelle impostazioni del BIOS. Se il comando seguente restituisce un risultato, significa che l'abilitazione della virtualizzazione è stata completata:
sudo grep -e 'vmx' /proc/cpuinfo
Repository setup and package installation¶
- Enable the EPEL (Extra Packages for Enterprise Linux) repository:
sudo dnf install -y epel-release
- Install the required packages for
libvirt(optionally forvirt-managerif you want to use a GUI to manage your VMs):
sudo dnf install -y bridge-utils virt-top libguestfs-tools bridge-utils virt-viewer qemu-kvm libvirt virt-manager virt-install
libvirt user setup¶
- Add your user to the
libvirtgroup. Ciò consente di gestire le macchine virtuali e di utilizzare comandi comevirt-installcome utente non root:
sudo usermod -aG libvirt $USER
- Activate the
libvirtgroup by using thenewgrpcommand:
sudo newgrp libvirt
- Enable and start the
libvirtdservice:
sudo systemctl enable --now libvirtd
Bridge interface setup for direct access to virtual machines¶
- Check the current interfaces in use and note down the main interface with an Internet connection:
sudo nmcli connection show
- Delete the interface connected to the Internet and any virtual bridge connections currently present:
sudo nmcli connection delete <CONNECTION_NAME>
Warning
Assicurarsi di avere accesso diretto alla macchina. Se si configura la macchina tramite SSH, la connessione verrà interrotta dopo aver eliminato la connessione all'interfaccia principale.
- Create the new bridge connection:
sudo nmcli connection add type bridge autoconnect yes con-name <VIRTUAL_BRIDGE_CON-NAME> ifname <VIRTUAL_BRIDGE_IFNAME>
- Assign a static IP address:
sudo nmcli connection modify <VIRTUAL_BRIDGE_CON-NAME> ipv4.addresses <STATIC_IP/SUBNET_MASK> ipv4.method manual
- Assign a gateway address:
sudo nmcli connection modify <VIRTUAL_BRIDGE_CON-NAME> ipv4.gateway <GATEWAY_IP>
- Assign a DNS address:
sudo nmcli connection modify <VIRTUAL_BRIDGE_CON-NAME> ipv4.dns <DNS_IP>
- Add the bridge slave connection:
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>
- Start the bridge connection:
sudo nmcli connection up <VIRTUAL_BRIDGE_CON-NAME>
- Add the
allow allline tobridge.conf:
sudo tee -a /etc/qemu-kvm/bridge.conf <<EOF
allow all
EOF
- Riavviare il servizio
libvirtd:
sudo systemctl restart libvirtd
Virtual machine installation¶
- Set the ownership of the
/var/lib/libvirtdirectory and its nested directories to your user:
sudo chown -R $USER:libvirt /var/lib/libvirt/
- You can create a virtual machine on the command line by using the
virt-installcommand. Ad esempio, per creare una macchina virtuale Rocky Linux 9.5 Minimal, si deve eseguire il seguente comando:
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
- Per chi vuole gestire le proprie macchine virtuali tramite una GUI,
virt-managerè lo strumento perfetto.
How to shutdown a virtual machine¶
- The
shutdowncommand accomplishes this:
virsh shutdown --domain <YOUR_VM_NAME>
- To force shutdown an unresponsive VM, use the
destroycommand:
virsh destroy --domain <YOUR_VM_NAME>
How to delete a virtual machine¶
- Use the
undefinecommand:
virsh undefine --domain <YOUR_VM_NAME> --nvram
- For further
virshcommands, check thevirshmanpages.
Conclusion¶
- libvirt offre molte possibilità e permette di installare e gestire le macchine virtuali con facilità. Se si hanno ulteriori integrazioni o modifiche a questo documento che si desidera condividere, l'autore vi invita a farlo.
Author: Howard Van Der Wal
Contributors: Steven Spencer