KVM : script d'init

Soumis par jpp le sam 14/05/2022 - 19:02

Article en cours de refonte

Pour utiliser KVM comme j'en avais envie il fallait que ces machines puissent démarrer lors de la séquence de boot de la machine hôte. Or, a priori, le lancement demande un écran ! Heureusement l'option
--nographic est là.
Cette machine virtuelle est destinée à contenir la MV qui héberge ce site, vu qu'il y a peu de machines et services à surveiller une puissance importante n'est pas nécessaire.
Le script de lancement devient alors :

#!/bin/bash
PATH=/root/bin:$PATH
ORIG=$(dirname $0)
cd ${ORIG}
ORIG=$(pwd)
echo 'ORIG=('$ORIG')'
cd $ORIG

HDA=/dev/mapper/VG00-WEB_PHP7
DISKA=' -drive file='${HDA}',if=virtio,format=raw,cache=none,aio=native  '

HDB=/dev/mapper/VG01-WEB_PHP7_SAUVE
DISKB=' -drive file='${HDB}',if=virtio,format=raw,cache=none,aio=native  '

EXEC='qemu-system-x86_64 -enable-kvm -machine type=pc,accel=kvm:tcg -mem-path /dev/hugepages '
EXEC=${EXEC}' --mem-prealloc'

NOM=web-php7
RAM=1792M

OPTION=' '
# clavier FR
OPTION=' -k fr -smp 2'   
# Pas de daemon (car nographic
DEMON=' -daemonize '
DEMON=' '
# Appel des scripts de gestion de la "carte réseau" ces scripts sont présentés un peu plus loin
sudo ./bin/qemu-ifdown br1 tap10
sleep 1
sync
sudo ./bin/qemu-ifup br1 tap10
sudo /sbin/brctl show

# Creation port "Monitor" pour arrêt machine
GUEST=' -monitor unix:/tmp/monitor_web,server,nowait '

RESEAU=' -net nic,macaddr=00:16:3e:31:31:01 -net tap,ifname=tap10,script=no,downscript=no '

# Normal launch
COMMANDE="$EXEC $DEMON $SNAPSHOT -boot c $DISKA $DISKB -name $NOM -m $RAM $OPTION $RESEAU ${GUEST} "
# machine affectée sur les "processeurs" 10 et 11, la "belle" machine physique en a 12
taskset --cpu-list 10,11 ${COMMANDE} -nographic &
ret=$?
echo 'Retour:'${ret}

xxxxxxxxx