virsh
Il existe plusieurs solutions de Virtualisation disponibles sous Fedora.
Libvirt est une bibliothèque permettant d'interagir avec différentes solutions de virtualisation ( dont notamment KVM/QEMU ) mais il existe aussi Xen, VirtualBox...
Autoriser user non root à se servir des commandes "virsh" :
#Creation du fichier suivant avec le nom du user (ex : toto ) à autoriser : #cat /etc/polkit-1/localauthority/50-local.d/50-org.libvirt.unix.manage.pkla [Allow a user to manage virtual machines] Identity=unix-user:toto Action=org.libvirt.unix.manage ResultAny=yes ResultInactive=yes ResultActive=yes
Eviter d'avoir a saisir l'URI sous libvirt (option -c des commandes) :
export LIBVIRT_DEFAULT_URI=qemu:///system
Parmi les outils fournis par libvirt, voici quelques lignes sur la commande virsh qui permet la gestion de vos VM en ligne de commande :
Gestion de la connexion à l'hyperviseur :
-avec la commande "virsh -c qemu:///system" pour se retrouver sous un environnement virsh.
virsh -c qemu:///system Bienvenue dans virsh, le terminal de virtualisation interactif. Taper : « help » pour l'aide ou « help » avec la commande « quit » pour quitter virsh #list all
-même commande sans passer par l'environnement virsh :
virsh -c qemu:///system list --all
-possibilité de creer une connexion par defaut en rajoutant une ligne dans le bashrc de l'utilisateur :
cat /home/user/.basrhrc ... #virsh connect default export LIBVIRT_DEFAULT_URI="qemu:///system" ...
A la prochaine execution du bashrc, la connexion sera "automagique":
Gestion des snapshots :
-création d'un snapshot (VM stoppée ou pas...)
virsh snapshot-create-as --domain VM1 --name Test --description "Test de Snapshot en ligne de commande"
- restauration snapshot (VM stoppée ou pas...):
virsh snapshot-revert VM1 Test
- liste des snapshots pour une VM :
#liste des snapshots d'une VM virsh snapshot-list VM1 #description détaillée... virsh snapshot-info VM1 --current virsh snapshot-info VM1 --snapshotname Test
Ajout interface reseau a une VM :
#ajout interface virsh attach-interface --domain lindvd027018-2007V2.20_x32_j43-ssamba --type network --source default --model virtio --mac 52:54:00:4b:73:5f --config #reboot de la vm
Lorsque la VM a redémmaré :
#on doit voir la nouvelle interface ifconfig -a #on peut lui donner une @IP dynamique + une route ifconfig eth3 192.168.122.63/24 ip route add 10.125.35.2 via 192.168.122.1
Optimisation des disques :
Permet de gagner de l'espace disque (tout plein de GiGo) en retassant l'image de la VM
#on tasse le bazar sur un nouveau disque qemu-img convert -p -O qcow2 diskVM.qcow2 diskVMbis.qcow2 #on renomme le disque comme à l'origine mv diskVMbis.qcow2 diskVM.qcow2
Quelques commandes en vrac :
#liste de toutes les VM définies virsh list --all #liste des VM en execution virsh list #demarrer une VM virsh start VM1 #lancer un terminal sur la VM1 virt-viewer VM1 #acceder à la console d'une VM virsh console VM1 Ps: il faut rajouter 'console=ttyS0' sur la ligne kernel du grub.conf
Excellent aide-mémoire : ici