1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > KVM虚拟机磁盘加密

KVM虚拟机磁盘加密

时间:2019-05-13 02:11:54

相关推荐

KVM虚拟机磁盘加密

最近在找虚拟机磁盘加密的资料,发现网上资料还是比较少,在这里汇总一下。

之前qcow2格式的磁盘默认加密方式似乎已经不再支持,官方推荐luks或dm-crypt加密。

$ man qemu-img...Use of qcow / qcow2 encryption is thus strongly discouraged.Users are recommended to use an alternative encryptiontechnology such as the Linux dm-crypt / LUKS system....

1.创建新的luks虚拟磁盘(若选择1则跳过2)

创建luks格式磁盘,data为要设置的磁盘密码。luks好像不支持空洞模式,申请的空间大小会完全预分配。(如有错误,欢迎指正。)

$ qemu-img create -f luks --object secret,data=123456,id=sec0 -o key-secret=sec0 demo.luks 10G

2.从已有qcow2磁盘镜像转换(若选择2则忽略1)

有一个qcow2的镜像,且是shutdown状态新建一个luks镜像,并且与上述qcow2相等大小

$ qemu-img create -f luks --object secret,data=123456,id=sec0 \-o key-secret=sec0 demo.luks 10G

将qcow2转换为luks

$ qemu-img convert --target-image-opts --object secret,data=123456,id=sec0 \-f qcow2 demo.qcow2 -n driver=luks,file.filename=demo.luks,key-secret=sec0

3.在本地创建一个秘钥xml secret.xml

此处uuid可以通过qemu-img info demo.luks查看

修改uuid

<secret ephemeral='no' private='yes'><uuid>fbae4c81-0d6c-4ed1-9e73-581eb8b7131f</uuid></secret>

4. 定义密钥文件

$ virsh secret-define secret.xml Secret fbae4c81-0d6c-4ed1-9e73-581eb8b7131f created

5. 给secret设置密码值

(这里的密码就是给磁盘加密时使用的密码123456)

$ virsh secret-set-value 7d195d98-6a06-4bb9-a0e9-6a2fde302f31 $MYSECRET

注:密值是base64的(MYSECRET=printf %s "123456" | base64

注:产生的secret以及密码在/etc/libvirt/secrets/中存在

6. 复制虚拟机xml文件,在disk段中加入secret

默认kvm虚拟机配置文件目录/etc/libvirt/qemu/

如果是从cdrom引导项就启用加密,则需要修改boot引导设备

7. 定义、启动虚拟机

启动虚拟机。虚拟启动后就是使用的加密的磁盘

$ virsh define file.xml$ virsh start domain

附:通过qemu-system-x86_64启动虚拟机

通过qemu-system-x86_64可以创建qcow2格式的磁盘,并采用luks加密

$ qemu-img create --object secret,id=sec0,data=123456 -f qcow2 \-o encrypt.format=luks,encrypt.key-secret=sec0 base.qcow2 10G

通过qemu-system-x86_64安装虚拟机,可通过vnc安装。

qemu-system-x86_64 --object secret,id=sec0,data=123456 \-drive driver=qcow2,file.filename=base.qcow2,encrypt.key-secret=sec0 \-cdrom ./iso/ubuntu-16.04.6-desktop-amd64.iso \-boot d -m 1024 -enable-kvm -vnc :1

此处应有通过virt-install安装加密磁盘的虚拟机的命令,博主暂时没有找到可用的命令,如果有可用的virt-install安装方案,欢迎留言!!!

参考文章

/developer/article/1162145

/formatstorageencryption.html#StorageEncryption

/post/7wlnk13/%E5%88%9B%E5%BB%BAKVM%E8%99%9A%E6%8B%9F%E6%9C%BA

/show_bug.cgi?id=1406803

/show_bug.cgi?id=1575578

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。