KVM虚拟机磁盘加密
最近在找虚拟机磁盘加密的资料,发现网上资料还是比较少,在这里汇总一下。
之前qcow2格式的磁盘默认加密方式似乎已经不再支持,官方推荐luks或dm-crypt加密。
$ man qemu-img
...
Use of qcow / qcow2 encryption is thus strongly discouraged.
Users are recommended to use an alternative encryption
technology 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安装方案,欢迎留言!!!
参考文章
https://cloud.tencent.com/developer/article/1162145
https://libvirt.org/formatstorageencryption.html#StorageEncryption
http://blog.leanote.com/post/7wlnk13/%E5%88%9B%E5%BB%BAKVM%E8%99%9A%E6%8B%9F%E6%9C%BA
https://bugzilla.redhat.com/show_bug.cgi?id=1406803
https://bugzilla.redhat.com/show_bug.cgi?id=1575578
KVM虚拟机磁盘加密相关推荐
- kvm qcow2和ceph rbd虚拟机磁盘加密
微信公众号:运维开发故事,作者:wanger kvm qcow2磁盘加密 关于luks加密 LUKS 实现了一种独立于平台的标准磁盘格式,用于各种工具.LUKS 用于加密块设备.加密设备的内容是任意的 ...
- KVM虚拟机磁盘精简导出
KVM虚拟机的模版导出,通常都是直接用qemu-img命令可以将默认的raw格式或者qcow2格式的磁盘文件压缩后导出,指令如下: //将默认raw格式的磁盘,简单压缩转换成qcow2格式 #qemu ...
- openstack kvm 虚拟机磁盘差异衍生
1, openstack虚拟实例备份之--多镜像格式多镜像文件合并为一个镜像文件 衍生-差异镜像文件 /var/lib/nova/instances/b0abc22f-1a73-4079-b1b ...
- kvm虚拟化学习笔记(十一)之kvm虚拟机扩展磁盘空间
kvm虚拟机磁盘空间扩展与xen虚拟机磁盘空间扩展思路一致.原因在于xen/kvm默认的虚拟机磁盘格式为raw,所以方式可以通用. raw磁盘格式扩展思路如下 (1) 新添加一块raw格式的磁盘加入到 ...
- kvm虚拟机扩展磁盘空间
一.静态扩展磁盘 kvm虚拟机磁盘空间扩展与xen虚拟机磁盘空间扩展思路一致.原因在于xen/kvm默认的虚拟机磁盘格式为raw,所以方式可以通用. raw磁盘格式扩展思路如下 (1) 新添加一块ra ...
- KVM虚拟机快速入门
##kvm虚拟化 1.1 kvm 虚拟化介绍 什么是虚拟化 在计算机技术中,虚拟化技术或虚拟技术(virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU,内存,磁盘空间 ...
- Kvm虚拟机克隆以及添加磁盘
2019独角兽企业重金招聘Python工程师标准>>> 克隆虚拟机 已有虚拟机ly1,现在需要一台新的虚拟机,直接从ly1复制. 首先关闭正在运行的ly1 virsh # destr ...
- kvm虚拟化技术下虚拟机磁盘的数据保护
摘要:kvm虚拟化技术下虚拟机的磁盘空间中数据的保护与恢复,考虑kvm的服务器级别的可用性. 1.kvm技术简单介绍 kvm虚拟化技术由几部分构成,kvm内核模块(cpu和内存的虚拟化及管理), ...
- 虚拟机linux扩展磁盘容量,kvm虚拟机扩展磁盘容量
virt-resize扩展 #关闭kvm虚拟机 virsh shutdown testkvm2 #安装工具 yum install -y libguestfs-tools #查看磁盘文件位置 virs ...
最新文章
- python的工作方向-python职业发展方向有哪些,各有什么优劣?
- 特征训练、预测一致性管理工具:开源项目Feast
- php一些错误的显示问题
- Spring MVC使用指示符重定向
- NB-IoT模块 移远BC26接入OneNET
- java stream Interface BiFunction<T,U,R>
- scrapy工作流程
- php期末考试题机考_phP基础知识期末考试题.doc
- 存储系统的实现-探析存储的机制和原理
- 5 年 Java 面试大厂遭淘汰,面试官:连这个源码都不懂
- 通过实例学习编写需求文档 【转】
- 网页内嵌多媒体 IE,Mozilla、Firefox、NetScape、Opera
- 开源中国众包平台 —— 为什么我们需要托管赏金
- html轮播图片在线制作,如何制作图片轮播?轮播图在线制作技巧
- 【MySQL】5、Update修改语句
- 科学家与艺术家心中都装着什么
- MVCC和快照读丶当前读
- 复制excel或word中图片不失真
- 全球所有国家中英文名称
- Python selenium使用中遇到的问题总结
热门文章
- Ubuntu 使用pipy 镜像
- Day02 每日英语
- 中国化工发展的新态势
- 锁与并发工具包与线程池与LockSupport与Fork/Join框架与并行流串行流与阻塞队列与JPS,jstack命令查看死锁查看线程状态与AQS个人笔记九
- SpringBootAdmin 显示offline
- 【Linux】基础常用操作
- 计算机毕业设计开题报告基于ssm maven健身房俱乐部管理系统
- 【Kivy自学笔记】Python开发App必备!Kivy基础控件详解(含视频源码)
- 前端开发培训应掌握的知识点
- android 代码分享图片不显示,android原生分享图片失败的问题