Virtual Machine Manager
Virt-manager è il pacchetto per la virtualizzazione https://packages.debian.org/buster/virt-manager che si basa su QEMU + KVM
Le cartelle importanti
/var/lib/libvirt/images/archbang.qcow2
seguire queste istruzioni
- Creare nuova macchina virtuale
- Local install media (ISO)
- choose ISO
- ..
- ready to begin the installation
- (SELEZIONARE LA CASELLA) customize configuration before install
- Configurazione: Boot Options (IDE CDROM)
IN CASO DI ERRORE
error: Failed to start network default
Si deve eseguire questo comando come root
# virsh net-list --all
Se l'output ci dice
default inactive no yes
In tal caso, si deve correggere con un comando che attiva il NAT con un dispositivo di rete virtuale
# virsh net-start default
Al contrario si ferma con
# virsh net-destroy default
hard disk reale ESAURITO
se vuoi usare un altro disco magazzino esterno, cioè un disco diverso da quello dove si trova la cartella predefinita per le macchine virtuali
/var/lib/libvirt/images
devi creare un disco virtuale nel magazzino esterno
sudo qemu-img create -f qcow2 -o preallocation=metadata /percorso/disco.qcow2 20000M
poi devi farlo diventare del gruppo:
sudo chown root:libvirt-qemu /percorso/disco.qcow2
poi devi farlo diventare eseguibile per root
chmod u+x /percorso/disco.qcow2
poi devi collegarlo al percorso interno
sudo ln -s --target-directory=/var/lib/libvirt/images /percorso/disco.qcow2
poi devi creare la macchina virtuale e al momento del disco (step 4/5)
- Select custom storage
- in basso bottone : Manage
- a sinistra pool: default
- a destra volumes → buttone: Refresh
- appare un nuovo disco.qcow2
- choose volume
Arch Linux
Rispetto a Debian è più difficile installare questo pacchetto su Arch Linux perché le dipendenze devono essere risolte manualmente
virt-manager qemu libvirt iptables firewalld dnsmasq
oppure ebtables al posto di iptables
E' necessario aggiungere se stessi al gruppo utenti
# gpasswd -a fabio kvm
NON PIU' NECESSARIO : Configurare la voce “backend” in questo file con “iptables” oppure “ebtables”
/etc/firewalld/firewalld.conf
Esempio di piccolo script necessario su Arch Linux prima di avviare virt-manager
systemctl start firewalld; sleep 1 systemctl start virtlogd.service; sleep 1 systemctl restart libvirtd.service; sleep 1 # virsh net-start default
==== approfondimento
# virsh net-dumpxml default
<network> <name>default</name> <uuid>e5ff3b1b-d883-4094-a2a7-123456789012</uuid> <forward mode='nat'/> <bridge name='virbr0' stp='on' delay='0'/> <mac address='12:34:00:57:76:09'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.2' end='192.168.122.254'/> </dhcp> </ip> </network>
Per modificare un disco qcow2 (dopo aver spento la macchina virtuale)
apt-get install libguestfs-tools
#
virt-filesystems --long --parts --blkdevs -h -a /var/lib/libvirt/images/archlinux.qcow2 cd /var/lib/libvirt/images qemu-img create -f qcow2 -o preallocation=metadata outdisk.qcow2 8500M virt-resize /var/lib/libvirt/images/archlinux.qcow2 outdisk.qcow2 rimuovere vecchia immagine