linux 中如何查看CPU是否已经打开虚拟化?具体命令是什么?

linux 中如何查看CPU是否已经打开虚拟化?具体命令是什么?,第1张

如果你的CPU支持VT虚拟化,则会在flags里面显示vmx,如下所示:

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm 

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm

当然光CPU支持VT虚拟化还不够的,还需要在bios里面将VT-X或VT-D选项打开才能真正使用。

在linux平台下,我们可以通过dmesg |grep kvm命令来查看。

如果CPU没有虚拟化的话,显示如下:

如果开启的话,显示如下:

除桥接,隔离,路由,NAT外其它都不是Linux下网络虚拟化形式。原因是:

1、桥接:创建一个虚拟桥设备,将虚拟机连接至桥设备上,再给桥设备配置一个IP地址,作为宿主机与外部通信的地址,即可完成与外网的通信(一起使用物理网卡的硬件功能),不过此时虚拟机使用的公网地址;

2、隔离:仅将需要互相通信的虚拟机的后半段网卡添加到同一个虚拟的桥设备上,即可完成虚拟机之间的通信,且与外网乃至是物理机隔离;

3、路由:将虚拟机关联至虚拟桥设备上,再给桥设备配置一个与虚拟机同段的ip地址(内网地址)作为虚拟机的网关(物理网卡是连接外网的,所以应该与内网IP地址不是一个段),最后再打开物理主机的核心转达功能,即可让虚拟机可以ping外部主机,但是外部主机无法发送相应包,因为外部主机没有到达虚拟机的路由;

4、NAT:在路由模型的基础上,为其配置SNAT规则,即可完成真正的虚拟机与外网通信,且自己使用的是内网地址;但是这样还有一个问题,就是外网不能主动访问内网的虚拟机,除非再为其配置DNAT规则;


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6056941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存