Cloudinit如何判断虚拟机为初始化状态
Cloudinit简介 cloudinit是专为云环境中虚拟机的初始化而开发的工具,它从各种数据源读取相关数据并据此对虚拟机进行配置。常见的数据源包括:云平台的metadata服务、ConfigDrive等,常见的配置包括:设定虚拟机的hostname、hosts文件、设定用户名密码、更新apt-get的本地缓存、调整文件系统的大小等。 Cloudinit数据源 Cloud-init github仓库地址:https://github.com/cloud-init/cloud-init Cloud-init目前代码库中,已支持阿里云自定义的数据源:[‘http://100.100.100.200‘] Cloudinit 如何判断虚拟机是初始化时的第一次启动? Cloudinit主要通过读取/etc/cloud/cloud.cfg配置文件,来执行相应模块。模块一般位于python第三方包cloudinit目录下:/usr/lib/python2.6/site-packages/cloudinit/config 模块有多种运行模式(frequency),包括PER_INSTANCE, PER_BOOT, PER_ONCE ,PER_ALWAYS,在上述python文件中配置。 模式为per-once的模块,一旦运行完毕会在一个名为sem的目录中创建一个信号文件