LibvirtError: internal error: cannot load AppArmor profile

本文介绍了解决VM挂起后无法正常唤醒的问题。通过调整nova配置文件中的libvirt_cpu_mode参数,避免了使用host-passthrough模式导致的兼容性问题。
在测试VM挂起和唤醒时,发现VM在挂起之后点击Remuse不能将其正常唤醒,查看计算节点nova-compute.log日志,提示错误:LibvirtError: internal error: cannot load AppArmor profile。

查找资料发现,nova snapshot, nova resume not working with libvirt_cpu=host-passthrough and libvirt 1.1.1。

解决方案:
在配置文件/etc/nova/nova.conf中发现有如下配置项:libvirt_cpu_mode=host-passthrough,将该项注释掉并重启计算节点的服务。再重新创建VM,挂起及唤醒,功能正常了。




zxy@zxy:/etc/libvirt/qemu$ sudo systemctl status apparmorapparmor.service - Load AppArmor profiles Loaded: loaded (/usr/lib/systemd/system/apparmor.service; enabled; preset: enabled) Active: active (exited) since Fri 2025-08-08 21:05:52 CST; 1h 9min ago Docs: man:apparmor(7) https://gitlab.com/apparmor/apparmor/wikis/home/ Main PID: 728 (code=exited, status=0/SUCCESS) CPU: 201ms 8月 08 21:05:52 zxy-XiaoXinAir-14-IRP8 systemd[1]: Starting apparmor.service - Load AppArmor profiles... 8月 08 21:05:52 zxy-XiaoXinAir-14-IRP8 apparmor.systemd[728]: Restarting AppArmor 8月 08 21:05:52 zxy-XiaoXinAir-14-IRP8 apparmor.systemd[728]: Reloading AppArmor profiles 8月 08 21:05:52 zxy-XiaoXinAir-14-IRP8 apparmor.systemd[849]: Warning: found usr.sbin.sssd in /etc/apparmor.d/force-complain, forcing co> 8月 08 21:05:52 zxy-XiaoXinAir-14-IRP8 apparmor.systemd[849]: Warning from /etc/apparmor.d (/etc/apparmor.d/usr.sbin.sssd line 63): Cach> 8月 08 21:05:52 zxy-XiaoXinAir-14-IRP8 systemd[1]: Finished apparmor.service - Load AppArmor profiles. zxy@zxy:/etc/libvirt/qemu$ sudo aa-status | grep libvirt libvirtd libvirtd//qemu_bridge_helper /usr/sbin/libvirtd (70517) libvirtd zxy@zxy:/etc/libvirt/qemu$ sudo systemctl reload apparmor zxy@zxy:/etc/libvirt/qemu$ zxy@zxy:/etc/libvirt/qemu$ ls -l /etc/apparmor.d/abstractions/libvirt-qemu -rw-r--r-- 1 root root 9727 6月 4 15:53 /etc/apparmor.d/abstractions/libvirt-qemu zxy@zxy:/etc/libvirt/qemu$ sudo cat /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper #include <tunables/global> profile virt-aa-helper /usr/lib/libvirt/virt-aa-helper { #include <abstractions/base> #include <abstractions/openssl> # needed for searching directories capability dac_override, capability dac_read_search, # needed for when disk is on a network filesystem network inet, network inet6, deny @{PROC}/[0-9]*/mounts r, @{PROC}/[0-9]*/net/psched r, owner @{PROC}/[0-9]*/status r, @{PROC}/filesystems r, # Used when internally running another command (namely apparmor_parser) @{PROC}/@{pid}/fd/ r, # allow reading libnl's classid file /etc/libnl{,-3}/classid r, # for gl enabled graphics /dev/dri/{,*} r, # for hostdev /sys/devices/ r, /sys/devices/** r, /sys/bus/usb/devices/ r, deny /dev/sd* r, deny /dev/vd* r, deny /dev/dm-* r, deny /dev/drbd[0-9]* r, deny /dev/dasd* r, deny /dev/nvme* r, deny /dev/zd[0-9]* r, deny /dev/mapper/ r, deny /dev/mapper/* r, /usr/lib/libvirt/virt-aa-helper mr, /{usr/,}sbin/apparmor_parser Ux, /etc/apparmor.d/libvirt/* r, /etc/apparmor.d/libvirt/libvirt-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]* rw, # for backingstore -- allow access to non-hidden files in @{HOME} as well # as storage pools audit deny @{HOME}/.* mrwkl, audit deny @{HOME}/.*/ rw, audit deny @{HOME}/.*/** mrwkl, audit deny @{HOME}/bin/ rw, audit deny @{HOME}/bin/** mrwkl, @{HOME}/ r, @{HOME}/** r, /var/lib/libvirt/images/ r, /var/lib/libvirt/images/** r, # nova base images (LP: #907269) /var/lib/nova/images/** r, /var/lib/nova/instances/_base/** r, # nova snapshots (LP: #1244694) /var/lib/nova/instances/snapshots/** r, # nova base/snapshot files in snapped nova (LP: #1644507) /var/snap/nova-hypervisor/common/instances/_base/** r, /var/snap/nova-hypervisor/common/instances/snapshots/** r, # eucalyptus (LP: #564914) /var/lib/eucalyptus/instances/**/disk* r, # eucalyptus loader (LP: #637544) /var/lib/eucalyptus/instances/**/loader* r, # for uvtool /var/lib/uvtool/libvirt/images/** r, # for multipass /var/snap/multipass/common/data/multipassd/vault/instances/** r, /{media,mnt,opt,srv}/** r, # For virt-sandbox /{,var/}run/libvirt/**/[sv]d[a-z] r, /**.img r, /**.raw r, /**.qcow{,2} r, /**.qed r, /**.vmdk r, /**.vhd r, /**.[iI][sS][oO] r, /**/disk{,.*} r, include if exists <local/usr.lib.libvirt.virt-aa-helper> } zxy@zxy:/etc/libvirt/qemu$ sudo chown -R root:libvirt /var/lib/libvirt/ sudo chmod -R 775 /var/lib/libvirt/ zxy@zxy:/etc/libvirt/qemu$ systemctl restart libvirted Failed to restart libvirted.service: Unit libvirted.service not found. zxy@zxy:/etc/libvirt/qemu$ systemctl restart libvirtd zxy@zxy:/etc/libvirt/qemu$ zxy@zxy:/etc/libvirt/qemu$ sudo systemctl stop apparmor zxy@zxy:/etc/libvirt/qemu$ 无法完成安装:'internal error: cannot load AppArmor profile 'libvirt-fc41f6b0-9e66-45d9-8fda-dd90cae1d4a6'' Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/createvm.py", line 2008, in _do_async_install installer.start_install(guest, meter=meter) File "/usr/share/virt-manager/virtinst/install/installer.py", line 695, in start_install domain = self._create_guest( ^^^^^^^^^^^^^^^^^^^ File "/usr/share/virt-manager/virtinst/install/installer.py", line 637, in _create_guest domain = self.conn.createXML(initial_xml or final_xml, 0) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/libvirt.py", line 4529, in createXML raise libvirtError('virDomainCreateXML() failed') libvirt.libvirtError: internal error: cannot load AppArmor profile 'libvirt-fc41f6b0-9e66-45d9-8fda-dd90cae1d4a6'
08-10
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值