CVM 母机透传,什么是透传模块?为什么要透传?

透传模块剖析

透传模块顾名思义就是透明传输模块,透明传输就是在传输过程中,对外界透明,就是说你看不见他是传送网络,不管传输的业务如何,我只负责将需要传送的业务传送到目的节点,相当于一条数据线或者串口线,同时保证传输的质量即可,而不对传输的业务进行处理。

为什么要透传

透传一般都是用来读取远程的串口数据。在物物相连的物联网时代,要想实现智能设备的数据透传就需要仰仗无线透传模块的力量,可实现发送方和接收方数据的长度和内容完全一致,不需对数据做任何处理,相当于一条数据线或者串口线,可广泛应用在能源电力、自动抄表、智慧城市、工业自动化、车载交通、环境监测、设备监控、现代农业等诸多行业。

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 kvmintel  加载kvmintel

(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是否透传

原文地址:https://www.cnblogs.com/lichenghong/p/14291758.html