kvm宿主机登录虚拟机

Posted itzhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kvm宿主机登录虚拟机相关的知识,希望对你有一定的参考价值。

第一步:在虚机里运行
[root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0"
第二步:重启虚机
[root@localhost ~]# reboot
即可

第三步:登录
[root@zxw6 ~]# virsh console centos7.0
连接到域 centos7.0
换码符为 ^]


CentOS Linux 7 (Core)
Kernel 3.10.0-514.el7.x86_64 on an x86_64

localhost login: root
密码:
Last login: Mon Jul 22 20:49:46 from 192.168.126.1
[root@localhost ~]#


五、KVM虚拟化透传
KVM 虚拟化需要处理器对虚拟化技术的支持,当我们需要进行虚拟机嵌套虚拟机时,我们需要让虚拟机中处理器对 VT 功能的支持达到透传的效果。

nested 虚拟机嵌套( kvm on kvm ):nested 技术,简单的说,就是在虚拟机上跑虚拟机。

KVM 虚拟机嵌套和 VMWare 原理不同, VMWare第一层是用的硬件虚拟化技术,第二层就是完全软件模拟出来的,所以 VMWare 只能做两层嵌套。 KVM 是将物理 CPU 的特性全部传给虚拟机,所有理论上可以嵌套 N 多层。

1、查看一层客户端是否支持 VT
#grep vmx /proc/cpuinfo
查询未果,证明一层 KVM 的虚拟机,并未将宿主机处理器的 VT 功能成功透传。所以,没有对 VT功能的支持,我们不能实现在该层虚拟机中嵌套KVM 虚拟机。
 
2、在物理服务器上为嵌套虚拟机做准备 --- CPU 虚拟化透传
(1)# vim /etc/modprobe.d/kvm-nested.conf
# 在文件中添加下面语句(由于截图问题,实际不需要加空行)
options kvm_intel nested=1

技术图片

 

# 在宿主机启用 kvm_intel 模块的嵌套虚拟化功能,并且使透传永久有效
(2)重新加载 kvm 模块
# modprobe -r kvm_intel          -r参数:remove掉kvm_intel模块
# modprobe kvm_intel              加载kvm_intel模块
(3)验证是否加载成功
#cat /sys/module/kvm_intel/parameters/nested

技术图片

 

Y ---“Y” 表示 cpu 虚拟化透传功能开启
 
3、编辑需要做虚拟化透传的虚拟机的配置文件
#virsh edit centos7 ( Virtual Machine Name )
<cpu mode=‘host-passthrough‘>

host-passthrough 直接将物理 CPU 暴露给虚拟机使用,在虚拟机上完全可以看到的就是物理 CPU的型号

4、进入虚拟机中查看cpu是否透传成功

技术图片

 

在一层虚拟机中查看cpu是否支持虚拟化

 技术图片

 

以上是关于kvm宿主机登录虚拟机的主要内容,如果未能解决你的问题,请参考以下文章

Linux实战之KVM虚拟机安装爱快软路由系统

kvm宿主机重启后虚拟机消失

KVM虚拟化笔记(十三)------kvm虚拟机静态迁移

Ubuntu 20.04 安装kvm虚拟机

如何使用vnc-view查看kvm的虚拟机

云原生之Docker实战在KVM虚拟机下安装Docker