正文
传统的openstack启动镜像时,会加载 cloud-init,用户还能做数据注入,比如镜像启动时,执行写修改密码的脚本,修改主机名,启动其他程序等等。但是 cloud-init 很耗时,请看下图(系统启动时间分析):
优化之前的启动速度
思路如下:
- 加载 cloud-init.service:内容包含自编写的 cloud-init程序
2.启动编写的cloud-init程序:内容包含常规数据注入的内容
3.获取本机 ip :该项是cloud-init程序内部的内容,目的是和虚拟机外部的数据一一对应起来。(一般 ip 能唯一定位一台虚拟机的)
4.通过ip 去获取其他数据:该项也是 cloud-init程序内部的内容。
5.执行启动脚本(user-data.sh): cloud-init 程序中,执行常规的 linux 脚本文件。
优化之后的启动速度
总结一下就是:系统初始化工作,用自己编写的程序去完成,不要用其他人的程序。