Linux : Détecter la plateforme de virtualisation utilisée
Table des matières
Il peut être utile de savoir si le système fonctionne sur une machine virtuelle ou non.
Dans le cas de scripts, cela peut être utile pour optimiser les performances du système, en installant par exemple des outils invité.
Dans cet article, nous allons voir comment utiliser l'outil virt-what qui répond à ce besoin.
virt-what est un script shell qui va détecter la plateforme virtuelle sur laquelle on est.
Avant de pouvoir l'utiliser, il suffit de l'installer.
Fedora, Red Hat et dérivées :
Debian, Ubuntu et dérivées :
Gentoo et dérivées :
Et c'est tout !
Pour utiliser l'outil, il n'y a pas d'options particulières.
Il suffit de lancer la commande :
Si la commande ne retourne rien : vous êtes sur une machine physique.
Si on est dans un conteneur LXC, l'outil renvoie :
Si on est dans une machine virtuelle, le script nous renvoie la platrforme virtuelle utilisée.
VMware (ESXi, VxRail) :
Xen (XCP-ng) :
Proxmox, Libvirt :
Microsoft Hyper-V :
Virtualbox :
Plus de valeurs indiquées dans la page de manuel de virt-what :
Si vous avez un script de post-installation, vous pouvez installer virt-what et installer par exemple les additions-invité.
Voici un petit bout de code utilisable par exemple pour Fedora ou Red Hat Enterprise Linux :
Maintenant, vous pouvez améliorer vos scripts !
Introduction
Il peut être utile de savoir si le système fonctionne sur une machine virtuelle ou non.
Dans le cas de scripts, cela peut être utile pour optimiser les performances du système, en installant par exemple des outils invité.
Dans cet article, nous allons voir comment utiliser l'outil virt-what qui répond à ce besoin.
Installation
virt-what est un script shell qui va détecter la plateforme virtuelle sur laquelle on est.
Avant de pouvoir l'utiliser, il suffit de l'installer.
Fedora, Red Hat et dérivées :
Code BASH :
dnf install virt-what
Debian, Ubuntu et dérivées :
Code BASH :
apt install virt-what
Gentoo et dérivées :
Code BASH :
emerge -av app-emulation/virt-what
Et c'est tout !
Utilisation
Pour utiliser l'outil, il n'y a pas d'options particulières.
Il suffit de lancer la commande :
Code BASH :
virt-what
Interpréter le résultat
Si la commande ne retourne rien : vous êtes sur une machine physique.
Si on est dans un conteneur LXC, l'outil renvoie :
Code TEXT :
lxc
Si on est dans une machine virtuelle, le script nous renvoie la platrforme virtuelle utilisée.
VMware (ESXi, VxRail) :
Code TEXT :
vmware
Xen (XCP-ng) :
Code TEXT :
xen
Proxmox, Libvirt :
Code TEXT :
kvm
Microsoft Hyper-V :
Code TEXT :
hyperv
Virtualbox :
Code TEXT :
virtualbox
Plus de valeurs indiquées dans la page de manuel de virt-what :
Code BASH :
man virt-what
Cas d'usage
Si vous avez un script de post-installation, vous pouvez installer virt-what et installer par exemple les additions-invité.
Voici un petit bout de code utilisable par exemple pour Fedora ou Red Hat Enterprise Linux :
Code BASH :
VMTYPE=$(virt-what) if [[ "$VMTYPE" = "kvm" ]] then dnf install qemu-guest-agent -y > /dev/null systemctl enable --now qemu-guest-agent.service > /dev/null fi if [[ "$VMTYPE" = "vmware" ]] then dnf install open-vm-tools -y > /dev/null systemctl enable --now vmtoolsd.service > /dev/null fi
Maintenant, vous pouvez améliorer vos scripts !