【虚拟化无代理】为虚机手动激活ivshmem-plain内存透传设备

戴红昌发表于:2020年09月17日 14:37:49更新于:2020年11月03日 11:47:41

写在前面:有些虚机是在部署安全组件之前就已经开机运行了,部署消息中心后可能会遇到中控上显示该虚机为红盾状态(ivshmem-plain内存透传设备没激活)的情况,此时有有三种方法可以用来激活ivshmem-plain内存透传设备。

直观现象如下图:

image.png

查看宿主机是否加载qemuvmsec请参考KB:H虚拟化安全无代理V7.0红盾问题-查看宿主机是否加载qemuvmsec

查看虚拟机是否加载ivshmem-plain内存透传设备请参考KB:查看虚机是否加载ivshmem-plain内存透传设备

一、重启虚机(此方法比较暴力)。

二、将虚机迁移至已正常加载qemuvmsec的宿主机上。(此方法比较实用,但在极端情况下会出现pci接口冲突的概率事件,可通过removePCI设备或者重启虚机的方法来解)

1.关闭消息中心/etc/init.d/vmsec-linux stop

2.remove pci设备: echo 1 > /sys/bus/pci/devices/0000\:00\:1f.0/remove

3.挂载硬盘,此时新挂载的硬盘和1f的pci设备都可以重新出现。

重新扫描pci设备:echo 1 > /sys/bus/pci/rescan

  ls /sys/bus/pci/devices/

4.启动消息中心  /etc/init.d/vmsec-linux start

三、在宿主机上运行/opt/nubosh/vmsec-host/file/bin/add_device.sh脚本,动态为所有虚拟机添加ivshmem-plain内存透传设备。

windows版的消息中心7.0.0.1230及以上版本支持开机激活ivshmem-plain内存透传设备,低于此版本的消息中心需要执行关机,再开机操作才能激活ivshmem-plain内存透传设备。


注意:针对新安装的机器,PCI需要先手动关闭才能重启机器