KVM虚拟机启动报selinux错误
报错信息
unsupported configuration: Unable to find security driver for label selinux
原因
从网上一顿搜索基本都有提到节点的xml中配置了seclabel的选项,此选项有用到selinux,而selinux被关闭,所以节点无法启动。如下图:
但困惑的是:1、公司内环境,节点在创建的时候,并没有配置这个选项;2、宿主机环境在部署之初就已将/etc/selinux/config中的"SELINUX"设为disabled,并且执行了"setenforce 0"的命令,那么为什么还会出现前述情况呢?
首先,针对第一个问题,查阅libvirt官方domain xml描述文档,针对seclabel的配置,如果创建的时候没有指明,那么会给到一个默认的“none”或者“dynamic”。针对第二个问题,则是对setenforce的使用有误解,之前一直以为执行“setenforce 0”实现的是不重启的前提下将selinux改为disabled,实际上次命令只能将selinux改为permissive的状态(宽容模式),如果要真正改为disabled状态,只能先改配置,再重启系统。
针对本文提到的问题现象,最开始安装系统的时候只执行了"setenforce 0"的操作,后续并未重启系统,然后就创建了kvm节点,部分节点在运行时记录了selinux的状态,在系统重启后,当selinux真正变为disbabled时,因对应的节点需要使用selinux,就导致无法启动了。
解决
1、可以virsh edit删除seclabel相关的配置
2、在系统安装阶段将selinux改为disabled后直接重启系统使其生效
3、还可以修改/etc/libvirt/qemu.conf的配置,将security_driver的值改为none,即禁用security_driver,然后systemctl restart libvirtd即可(只对新创建的节点有效,已出故障的节点,依然需要手动删除seclabel配置节)
相关文章
- 关于centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启
- 关于tcp连接对象在多进程中的错误:pickle.PicklingError
- 虚拟机chrome os 没有可用网络错误
- Google Earth Engine(GEE)——容易犯的错误4(errorMargin、reduceToVectors、reduceRegions() )
- 连接打印机出现错误0X00000709怎么解决?
- CentOS6.5升级autoconf版本,解决”Autoconf version 2.64 or higher is required“错误
- Xamarin 中Visual Studio创建项目提示错误
- 华为渠道自检包报错错误22:请集成华为HMS版本更新(checkUpdate)
- 《构建高可用Linux服务器 第3版》—— 2.3 网络配置时容易发生的错误描述与处理方法
- SQL Server删除/创建复制订阅失败,报15517错误问题的处理
- AJAX请求返回HTTP 400 错误 - 请求无效 (Bad request)
- 【深度学习mmdetection错误】——mmdetection 运行报错KeyError:‘ConvWS is already registered in conv layer‘
- linux编译ruby1.8.7 出现OPENSSL错误
- 解决异常错误oslo_service.periodic_task AttributeError: ‘ComputeNode‘ object has no attribute ‘nodename‘