我们知道在亚马逊云、阿里云或者腾讯云购买的主机都是通过虚拟技术将物理机虚拟出来的,而流行虚拟化平台有:VMWare、Xen 和 KVM等,如果想知道他们是采用了哪种虚拟化平台,要怎么做呢?
dmesg命令
如果主机装的是Linux系统,可以通过以下命令行确认平台
1 | $ dmesg | egrep "kvm|xen|vmware" |
运行结果如下:
- vmware虚拟机
1
2
3
4[ 0.000000] vmware: TSC freq read from hypervisor : 2904.000 MHz
[ 0.000000] vmware: Host bus clock speed read from hypervisor : 66000000 Hz
[ 0.000000] vmware: using sched offset of 6513244607 ns
[ 5.378124] systemd[1]: Detected virtualization vmware. - 阿里云ECS(2019年购买)
1
2
3
4
5
6
7[ 0.000000] kvm-clock: cpu 0, msr 0:7ff34001, primary cpu clock
[ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[ 0.000000] kvm-clock: using sched offset of 690581591653318 cycles
[ 0.000000] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[ 0.000000] kvm-stealtime: cpu 0, msr 7fc24040
[ 0.116255] clocksource: Switched to clocksource kvm-clock
[ 1.789279] systemd[1]: Detected virtualization kvm.
据说亚马逊云和阿里云早期都是采用Xen,KVM发展起来之后,大部分云产商都转向KVM了。所以只有比较早购买的阿里云主机才是Xen平台的,亚马逊云由于历史原因,迁移到KVM比较慢,所以可能还存在比较多的Xen主机。Xen平台没有相关的测试环境
安装 virt-what
1 | $ apt-get install virt-what |
运行 virt-what
这个软件,直接可以输出虚拟平台
- vmware虚拟机
1
2$ virt-what
vmware - 阿里云ECS(2019年购买)
1
2$ virt-what
kvm