前言
本次文章的机缘来自于这次在做的qb的Oracle备库部分的功能,需要提供RedHat7.4,Oracle数据库以及MySQL数据库的qcow2磁盘镜像。由于RedHat7.4的镜像已经有了,今天来讲一下怎么制作非OS数据盘的qcow2磁盘镜像。
整体流程介绍
一个qcow2镜像的生成是很容易的,不过如何格式化以及填充数据,就会稍显麻烦,因为需要在虚拟机而不是宿主机中进行。
当然使用guestmount的话,是可以将qcow2的镜像文件直接mount到宿主机的,但是这要求你的镜像是OS镜像,如果不是的话,就爱莫能助了。
因此我们这次的流程,简单说就是:
创建qcow2镜像
将镜像attach到vm中,假设为sde设备
在vm中格式化sde(注意OS的版本,不同版本的格式化可能是不兼容的)
将sde mount到随意一个路径,这里假设为/mnt/Ethan
通过rsync命令将想要的数据传输到该目录中
umount该目录
在宿主机中detach该镜像
具体命令的执行
1. 创建qcow2镜像
在当前目录下创建一个预期大小为20G的qcow2镜像,命名为:mysql-5.7.21.qcow2
宿主机
qemu-img create -f qcow2 ./mysql-5.7.21.qcow2 20G
2. 将镜像attach到vm中
通过以下命令,将mysql-5.7.21.qcow2镜像attach到sun_xxx这台虚拟机中,并作为sde设备。此处注意,要选择虚拟机中尚未被占用的盘符<