OpenStack平台镜像优化
OpenStack平台镜像优化
案例准备
1. 规划节点
根据云平台分配的主机。节点规划见表1。
表1 节点规划
IP | 主机名 | 节点 |
---|---|---|
192.168.200.11 | controller | 控制节点 |
2. 基础准备
使用云平台分配的All in one作为实验节点,本案例只讲述如何优化通过打快照方式制作的镜像。
案例实施
1. OpenStack平台制作镜像
在OpenStack平台的使用过程中,镜像是一个不可或缺的组件与服务,一般来说,使用最多的是基础镜像,比如CentOS7.5、CentOS7.6、CentOS7.9等,获取这些基础镜像的方式也很简单,可以通过官网直接下载。
当用户想使用自定义镜像的时候,可以使用OpenStack平台中打快照的方式,去制作镜像,比如想制作一个带有数据库服务的镜像,可以按照如下步骤操作:(具体操作不再演示)
(1)启动一个基础的CentOS镜像;
(2)连接虚拟机,配置Yum源;
(3)安装数据库服务;
(4)初始化数据库;
(5)设置开机自启;
(6)在OpenStack平台中将该虚拟机实例打成快照;
(7)在控制节点的镜像和快照存放目录/var/lib/glance/images目录下找到这个镜像文件,改名成mysql.qcow2;
通过上述的方法打快照制作镜像,可以获得一个mysql.qcow2的镜像文件,使用该文件上传至其他云平台中,今后使用该镜像启动的虚拟机,就带有数据库服务了。
2. OpenStack平台镜像优化
在使用打快照方式制作镜像后,镜像的大小会变得非常大,比如一个基础的CentOS镜像大小为400M左右,但是使用打快照方式制作的镜像大小会有1个G左右,具体的大小还要根据安装的东西来实际情况实际分析。
qemu-img命令中提供一个可用于镜像转换与压缩的选项,即qemu-img convert。接下来使用该命令,对已经打快照完成的镜像进行压缩操作。
使用提供的镜像CentOS7.5-compress.qcow2,下载至controller节点的/root目录下,查看镜像的大小,命令如下:
[root@controller ~]# curl -O #下载链接
[root@controller ~]# du -sh CentOS7.5-compress.qcow2
892M CentOS7.5-compress.qcow2
可以看到当前的镜像大小为892M,接下来使用命令,对镜像进行压缩,命令如下:
[root@controller ~]# qemu-img convert -c -O qcow2 CentOS7.5-compress.qcow2 CentOS7.5-compress2.qcow2
该命令参数的解释如下:
● -c:压缩。
● -O qcow2:输出格式为 qcow2。
● CentOS7.5-compress.qcow2:被压缩的文件。
● CentOS7.5-compress2.qcow2:压缩完成后文件。
等待一小段时间后,压缩完成,查看当前目录下CentOS7.5-compress2.qcow2镜像文件的大小,命令如下:
[root@controller ~]# du -sh CentOS7.5-compress2.qcow2
405M CentOS7.5-compress2.qcow2
可以看到镜像大概被压缩到了一半的大小。使用qemu-img convert命令可以压缩QCW2镜像,在日常的工作中,经常会用到此命令进行镜像压缩。