libvirt-qemu-磁盘加密之一:qcow2

 

(文章来自作者维护的社区微信公众号【虚拟化云计算】)
(目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问)

    qemu提供了磁盘加密的功能。本文介绍如何给磁盘加密,以及如何使用加密后的磁盘。现在qemu2.9的版本已经不支持这种磁盘加密了。

 
1.给磁盘加密
# qemu-img convert -f qcow2 -O qcow2 -o encryption mydisk.img encrypt.qcow2
Disk image 'encrypt.qcow2' is encrypted.
password:   //这里输入密码例如123456
这里是给mydisk.img加密成encry.qcow2
 
2.在本地创建一个秘钥xml
# vi secret.xml 
<secret ephemeral='no' private='yes'>
<uuid>7d195d98-6a06-4bb9-a0e9-6a2fde302f31</uuid>
</secret>
注:uuid项可以没有,那么将随机生成一个uuid
 
3.定义一个libvirt的secret
# virsh secret-define secret.xml 
Secret 7d195d98-6a06-4bb9-a0e9-6a2fde302f31 created
 
4.给secret设置密码值(这里的密码就是给磁盘加密时使用的密码123456)
# virsh secret-set-value 7d195d98-6a06-4bb9-a0e9-6a2fde302f31 $MYSECRET
Secret value set
注:密值是base64的(MYSECRET=`printf %s "123456" | base64`)
注:产生的secret以及密码在/etc/libvirt/secrets/中存在
 
5.在虚拟机xml文件的disk段中加入secret
<encryption format='qcow'>
  <secret type='passphrase' uuid='7d195d98-6a06-4bb9-a0e9-6a2fde302f31'/>
</encryption>
 
6.启动虚拟机。虚拟启动后就是使用的加密的磁盘。
 
7.磁盘加密虚拟机的迁移
在迁移之前要在远程libvirt建立相同的secret。远程建立secret的方式有两种:使用libvrit远程rpc的方式执行secret-define和secret-set-value ,或者直接在目标主机上执行上述过程。
 
============================================================
关注微信公众号【虚拟化云计算】,阅读更多虚拟化云计算知识,纯技术干货更新不停。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值