linux-检查Centos 7是否在没有sudo的情况下启用了虚拟化?

我需要检查在Centos 7上是否在没有sudo的情况下启用了虚拟化.

我发现了一些命令来检查是否启用了虚拟化,但是需要sudo.

sudo modprobe msr
sudo rdmsr 0x3a

对于Ubuntu,存在实用程序cpu-checker,它可以检查是否在没有sudo的情况下启用了虚拟化.

kvm-ok

在Centos 7上是否存在类似于cpu-checker的实用程序?

解决方法:

第一:

kvm-ok和rdmsr 0x3a做完全不同的事情.

kvm-ok,根据它的man page,仅解析/ proc / cpuinfo以获取指示CPU中虚拟化技术的CPU标志(然后检查是否已加载必要的模块,而rdmsr读取CPU特定于模型的寄存器.

因此,kvm-ok不会执行您需要root特权所需的任何操作,而rdmsr则无法工作,因为您的进程无需上下文就可以查询这些寄存器.

可以通过一些技巧使用rdmsr 0x3a来确定是否在Intel Core iX或更高版本的XEON处理器上启用了VT技术.对于高性能虚拟化来说,这是必要的,但还不够.

因此,我想说的就是继续手动执行kvm-ok的操作.

检查第一个CPU的vmx或svm flags

grep flags /proc/cpuinfo|head -n1|grep -Eo '(vmx|svm)'

并验证是否已加载kvm模型:

lsmod | grep '^kvm'

实际上,如果实际上您需要查询该特定于模型的寄存器(例如,由于某种原因,即使在UEFI设置中禁用了VT,则存在vmx标志),最简单的方法当然就是使用功能sudo的名称,以指定要由您选择的用户(称为daemonuser)使用参数0x3a准确运行的程序rdmsr,而无需输入密码(请参阅man sudoers或您的/usr/share / doc / sudo / examples / sudoers):

daemonuser ALL = NOPASSWD: /path/to/rdmsr 0x3a
上一篇:Linux虚拟化技术的最新状态是什么?


下一篇:LVM逻辑卷的使用