linux上centos镜像磁盘,谈谈Openstack的CentOS镜像

以前一直都没怎么关注过镜像的制作,使用Ubuntu官方提供的image来测试,发现还是挺方便。不过最近要到自己做CentOS镜像的时候,发现里面学问还是很多,这里就整理一下。

对于云和虚拟化来说,镜像的重要性应该是不言而喻。镜像制作,会影响到你后期的使用的很多功能。什么是Openstack镜像,和我们日常的KVM的镜像有什么区别呢?

Cloud-init

Cloud-init,他是在虚拟机启动的时候,对虚拟机进行操作,他的功能应该是很强,目前我知道和测试的功能是

秘钥注入

hostname设置

cloud init 支持3种的运行:

仅仅运行1次

总是运行,也就是启动的时候总是运行

根据instance id来运行,这主要是针对快照

目前在CentOS下,EPEL的源上的cloud-init的版本是0.6.3,功能很有限,我装了cloud-init后,hostname设置了,不过重启后,hostname就没了。你必须升级到0.7.1的版本

这样你的虚拟机的hostname才正常。邮件列表里有人提到,0.7.2的以上的版本,功能更加强大。这个就需要等待Redhat和CentOS升级。 http://repos.fedorapeople.org/repos/openstack/cloud-init/epel-6/

cloud-utils

以前虚拟机的磁盘大小,是由镜像来决定的,如果你希望不同的磁盘大小,那么你就需要做多个镜像,这是一个很恐怖的事情。一个os,多种分区的方案,你就需要多个镜像。

国外的IaaS厂商其实很早就实现了一个功能,可以根据Flavor来调整硬盘大小,不过底层如何实现,一直都不是太明白。有了Openstack以后,大家就明白了很多。通过这个Cloud-utils工具,可以实现硬盘的扩大。

不过这个工具只是能扩大硬盘,是不允许缩小,外面也没有任何的厂商提供硬盘缩小的功能。硬盘的缩小,估计需要考虑的问题更多。

目前这个工具,已经在EPEL上有,并且是最新的版本。有了这个工具,你才有可能调整硬盘。

linux-rootfs-resize

在虚拟机镜像里的分区,其实和物理机器是有很多的区别和不同。例如你做镜像的时候,不需要swap分区,也不建议你使用lvm分区。

所谓扩大分区,他其实就是扩大根分区。

有朋友专门写了一个工具,调用cloud-utils,在虚拟机启动的时候,如果检测到磁盘扩大后,会自动扩大根分区。我在CentOS6.4的镜像进行测试,对于普通分区是没问题的。目前对于LVM分区还是无法生效。

镜像精简

目前Ubuntu官方提供的image,是200多兆。目前我使用kitstart安装完,是1.3G,采用的是Qcow2的格式。CentOS官方提供的Openstack的镜像,也是800多兆。http://dev.centos.org/centos/hvm/ (目前官方的image的cloud init已经是0.7.1,不过还不支持磁盘扩大)

对于CentOS来说,有一个比较有意思的现象,你手工安装,采用最小化安装,那么需要安装的包的数量大概是:243个包。如果你采用自动化安装,用kitstart脚本进行安装,那么需要安装417个包。

经过深入学习,这个问题已经算解决,是ks配置的原因,装完以后的镜像是800多M,是因为没有进行qcow2的压缩,目前CentOS的镜像,已经可以做到300M左右。

Ubuntu的镜像可以做到200多M,是因为他们把一些不需要的包也去掉,所谓蓝牙设备支持,无线设备支持,都去掉,看来Redhat和CentOS要多做点东西才行。把镜像做小点,可以节省很多带宽资源和让虚拟机创建更快。

自动化创建镜像

其实镜像制作的过程,比较繁琐,最好能实现自动化,这样对镜像的修改也容易很多,节省很多时间。对于CentOS,我看到的最好的方案,应该就是利用Oz,基本是可以满足需求。剩下的就是你如何写脚本来完成工作。

我已经通过Oz完成了cloud-init的安装,分区的扩大,都是没问题。剩下的就是优化细节。

CentOS镜像的资源

http://catn.com/labs/project/centos-images/  这个image使用的用户很多,这是一个基本的kvm镜像,不集成cloud-init,磁盘扩大应该也是不支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值