如何确定Linux guest虚拟机虚拟化技术
时间:2020-01-09 10:41:27 来源:igfitidea点击:
我有一个运行Ubuntu和CentOS Linux服务器的基于云的虚拟机。
它可能已虚拟化,也可能未虚拟化。
如何确定运行Linux来宾系统的虚拟化技术(VMWARE/KVM/XEN/VirtualBox/Container/lxc/Hyper-V等)?
如何找出CentOS 7 Linux VPS的虚拟化类型?
您需要使用virt-what程序(一个shell脚本)来检测所使用的虚拟化类型(如果我们在裸机上运行,则根本不使用)。
它打印出另外几行,每行都是关于虚拟化的事实。
本教程说明如何确定Linux来宾VM虚拟化技术。
确定Linux来宾VM虚拟化
如前所述,我们需要使用virt-what Linux命令来查找程序是否在虚拟机中运行。
它支持各种虚拟机管理程序。
让我们看看如何在differnet Linux发行版下安装virt-what。
Debian或Ubuntu Linux安装
运行apt命令/apt-get命令在Debian/Ubuntu Linux安装virt-what命令
$ sudo apt-get install virt-what
或者
$ sudo apt install virt-what
在RHEL/CentOS/Scientific Linux VM上安装virt-what
使用yum命令在Fedora/RHEL/CentOS Linux安装virt-what命令
$ sudo yum install virt-what
Fedora Linux VM安装virt-what,以检测我们是否在虚拟机中运行
执行dnf命令:
$ sudo dnf install virt-what
Suse/OpenSUSE安装
运行zypper命令:
sudo zypper in virt-what
检查您的远程服务器是否在虚拟环境中运行
只需执行以下命令:
$ $ sudo virt-what
另一个输出:
$ $ sudo virt-what `kvm`
这是另外一个输出:
$ $ sudo virt-what `lxc`
这是来自AWS的:
$ sudo virt-what
确定虚拟化技术的简便方法
其他可能的值
hyperv
:这是Microsoft Hyper-V管理程序。parallels
:来宾正在Parallels虚拟平台(Parallels Desktop,Parallels Server)中运行。powervm_lx86
:该来宾程序在IBM PowerVM Lx86 Linux/x86仿真器中运行。qemu
:这是使用软件仿真的QEMU管理程序。virtualpc
:访客似乎正在Microsoft VirtualPC上运行。xen-hvm
:这是完全虚拟化的Xen来宾(HVM)。uml
:这是一个用户模式Linux(UML)来宾。openvz
:访客似乎在OpenVZ或Virtuozzo容器中运行。linux_vserver
:此过程在Linux VServer容器中运行。ibm_systemz
:这是一个IBM SystemZ(或其他S/390)硬件分区系统。
如果未打印任何内容,则可能意味着程序或者在裸机上运行,或者程序正在内部未知或无法检测的虚拟机中运行。
如何使用dmidecode命令找出相同的信息
将bash与dmidecode命令一起用于循环,如下所示:
for i in system-manufacturer system-product-name do sudo dmidecode -s $i done
输出示例:
Red Hat KVM
确定虚拟化技术的其他命令
我们可以使用systemd-detect-virt命令来检测虚拟化环境中的执行:
systemd-detect-virt