3.3. 内核地址空间随机化
红帽企业 Linux 7.5 及更高版本包括 KVM 虚拟机的内核地址空间随机化(KASLR)功能。KASLR 启用随机化内核映像压缩的物理和虚拟地址,从而防止客户机根据内核对象的位置被利用。
KASLR 默认激活,但可以通过在客户机的内核命令行中添加
nokaslr 字符串来取消激活。要编辑客户机引导选项,请使用以下命令,其中 guestname 是您的客户端的名称:
virt-edit -d guestname /etc/default/grub
# virt-edit -d guestname /etc/default/grub
之后修改
GRUB_CMDLINE_LINUX 行,例如:
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet nokaslr"
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet nokaslr"
重要
从已激活 KASLR 的客户机转储创建的虚拟机转储文件无法被崩溃实用程序读取。要修复这个问题,请在客户机的 XML 配置文件的
<features> 部分添加 <vmcoreinfo/> 元素。
但请注意,如果目标主机使用不支持
<vmcoreinfo/> 的操作系统,则迁移带有 <vmcoreinfo/> 的客户机会失败。其中包括红帽企业 Linux 7.4 和更早版本,以及红帽企业 Linux 6.9 及更早版本。