qemu中有对SEV的部分介绍:qemu-5.0/docs/amd-memory-encryption.txt
Libvirt对SEV的配置
libvirt官方文档如下:
https://libvirt.org/formatdomaincaps.html#elementsSEV
https://libvirt.org/kbase/launch_security_sev.html
https://libvirt.org/formatdomain.html#sev
宿主机支持SEV检查
在libvirt >= 6.5.0时,可以使用virt-host-validate命令查看宿主机是否支持SEV,或者通过以下步骤来手动检查是否支持SEV:
- grep -w sev /proc/cpuinfo查看宿主机是否支持sev特性
- 修改grub确保mem_encrypt=on kvm_amd.sev=1,kvm_amd.sev=1也可以通过modprobe配置,通过cat /sys/module/kvm_amd/parameters/sev查看值为1表示SEV特性开启
libvirt支持SEV检查
libvirt >= 4.5.0(最好>5.1.0,其中解决了SEV的bug)
QEMU >= 2.12.0
开启内核对SEV的支持之前libvirtd如果已经处于运行状态,则需要重启libvirtd服务,并删除capabilities的缓存:
rm -f /var/cache/libvirt/qemu/capabilities/*
使用virsh domcapabilities命令或者调用接口virConnectGetDomainCapabilities,可以从输出的sev标签中获取到对sev的支持情况:
# virsh domcapabilities
<domainCapabilities>
...
<features>
...
<sev supported='yes'>
<cbitpos>47</cbitpos>
<reducedPhysBits>1</reducedPhysBits>
</sev>
...
</features>
</domainCapabilities>
cbitpos:C-bit位处于第几位。
reducedPhysBits:需要有多个位用于sev,这些位不能用于物理地址寻址。
如果使用virsh domcapabil

本文详细介绍了如何在Linux环境下配置和检查AMD SEV支持,包括使用libvirt进行虚拟机设置,如launchSecurity、虚拟机类型、内存、Virtio设备等。同时,文章还提及了虚拟机内部的SEV检查以及存在的限制,例如必须使用OVMF引导,virtio-blk磁盘类型的限制等。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



