Product SiteDocumentation Site

17.7. Identifizieren des Gasttyps und der Implementierung

Das nachfolgende Skript kann identifizieren, ob die Umgebung, in der eine Anwendung oder ein Skript ausgeführt wird, eine paravirtualisierte Umgebung, ein voll virtualisierter Gast oder auf dem Hypervisor ist.
#!/bin/bash
declare -i IS_HVM=0
declare -i IS_PARA=0
check_hvm()
{
	IS_X86HVM="$(strings /proc/acpi/dsdt | grep int-xen)"
	  if [ x"${IS_X86HVM}" != x ]; then
	   echo "Guest type is full-virt x86hvm"
	   IS_HVM=1
	fi
}
check_para()
{
	if $(grep -q control_d /proc/xen/capabilities); then
	  echo "Host is dom0"
	  IS_PARA=1
	else
	  echo "Guest is para-virt domU"
	  IS_PARA=1
	fi
}
if [ -f /proc/acpi/dsdt ]; then 
	check_hvm
fi

if [ ${IS_HVM} -eq 0 ]; then
	if [ -f /proc/xen/capabilities ] ; then
		check_para
	fi
     fi
if [ ${IS_HVM} -eq 0 -a ${IS_PARA} -eq 0 ]; then
	echo "Baremetal platform"
fi

Untersuchen von Hosts

Um Hosts zu untersuchen, verwenden Sie den Befehl virsh capabilites.