1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql qcow2_如何创建qcow2格式的磁盘镜像并填充数据?

mysql qcow2_如何创建qcow2格式的磁盘镜像并填充数据?

时间:2020-05-02 14:50:12

相关推荐

mysql qcow2_如何创建qcow2格式的磁盘镜像并填充数据?

前言

本次文章的机缘来自于这次在做的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设备。此处注意,要选择虚拟机中尚未被占用的盘符

宿主机

virsh attach-disk sun_xxx /qbackup/repo/Ethan/oracle-10.2.0.1.0.qcow2 sda --subdriver qcow2 --serial sda

3. 在vm中格式化sda

虚拟机

mkfs.xfs -f /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_sda

4. 将sda设备mount到vm的/mnt/Ethan路径

虚拟机

mount /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_sda /mnt/Ethan/

5. 通过rsync命令将想要的数据传输到该目录中

rsync可以完全替代掉scp,-a可以保证把对应的用户权限也一起复制过来

在我这里的话,60.5下的/mnt/Ethan目录,里面的数据是从zfs的volume里面mount过来的,不过和主题无关,就不讲太多了。

虚拟机

rsync -avP root@10.10.60.5:/mnt/Ethan/ /mnt/Ethan

6. umount该目录

umount /mnt/Ethan/

7. 在宿主机中detach该镜像

virsh detach-disk sun_xxx sda

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