众所周知,常用的虚拟化技术有kvm、XEN,Openvz 还有VMware,如果想知道虚拟机采用的是那些技术,该如何判断呢
常规检测方法
1、通过系统上的相关目录或文件判断 执行:ls /proc/ ,一般Xen的VPS,/proc目录下面会有xen的目录,openvz的会有vz目录。
2、执行:uname -a 有些xen的VPS里面会显示有xen。
3、free -m 看内存,openvz的没有swap,当然也有xen的没有swap,但是xen的是可以加的,openvz不行。KVM是全虚拟化也是可以自己添加swap的。
4、执行:ifconfig 查看网卡,openvz的一般都是venet0: ,xen、kvm的一般都是eth。
5、通过VPS控制面板查看,像SolusVM、vePortal控制面板上都显示虚拟技术。
virt-what工具
使用专门的软件来判断:virt-what是一个判断当前环境所使用的虚拟技术的脚本,常见的虚拟技术基本上都能正常识别出来。
可以执行如下命令安装virt-what(需要安装好gcc、make):
注:如果下面的地址下载不了,可以使用wget http://down.whsir.com/downloads/virt-what-1.15.tar.gz
代码语言:javascript复制wget http://people.redhat.com/~rjones/virt-what/files/virt-what-1.15.tar.gz
tar zxf virt-what-1.15.tar.gz
cd virt-what-1.15/
./configure
make && make install
检测命令
代码语言:javascript复制# virt-what
就会判断出当前环境所使用的虚拟技术,我这里是本地vmware虚拟的!
实测,某里云,腾讯云,亚马逊都是kvm虚拟技术。