关于启动和停止OpenStack实例
如果你想要启动和停止OpenStack实例时,有四种方法可以考虑。
管理员可以暂停、挂起、搁置、停止OpenStack 的计算实例。但是这些方法之间有什么不同之处?
1.暂停和取消暂停实例
首先,管理员可以暂停和取消暂停一个Nova计算实例。
实例暂停时,实例的整个状态都保存在RAM中。暂停实例将禁用对该实例的访问,但不会释放任何资源。
- 运行以下命令暂停实例:
openstack server pause INSTANCE_NAME
该命令将虚拟机状态保存到内存。暂停中的虚拟机仍然以冻结状态运行。
- 运行以下命令,取消暂停实例。
openstack server unpause INSTANCE_NAME
2.挂起和恢复实例
另外一个选择是挂起,然后恢复一个实例。
像暂停的OpenStack实例一样,挂起的实例保持其当前状态,但它被写入存储中。挂起的实例释放了实例的资源,当企业不需要更长时间的实例时,这是一个更好选择。
- 运行以下命令初始化虚拟机管理器级别的挂起操作。
openstack server suspend INSTANCE_NAME
- 运行以下命令恢复一个暂停的实例。
openstack server resume INSTANCE_NAME
3.搁置(废弃)实例和取消废弃实例
又叫:释放和取消释放实例
第三个选择是搁置OpenStack实例。
挂起的实例是保留了当前在RAM中的所有信息,但搁置实例不是这样。搁置的实例确实保留了所有相关的资源。因此,如果实例使用临时存储,那么当管理员搁置它时,它会维护该资源;当在未被搁置时继续使用该资源。
搁置的实例实际上是关闭的,挂起或暂停的实例不是这样。如果管理员决定不再需要搁置实例,它们可以将其删除,从而确保它不会维护正在使用的hypervisor
层的资源。
如果有不使用的云主机,但希望在云主机列表中仍然保留,此时需要用到释放功能。例如,一周工作结束后可以停止实例,下周开始后重新启动实例。所有数据和资源都保留;然而内存中的数据不会保留。如果不再使用已释放的实例,也可以完全删除。
- 执行如下释放命令:
释放实例:关闭实例,将实例连同数据和资源存储到Glance.
openstack server shelve SERVERNAME
注解
By default, the openstack server shelve command gives the guest
operating system a chance to perform a controlled shutdown before the
instance is powered off. The shutdown behavior is configured by the
shutdown_timeout parameter that can be set in the nova.conf file. Its
value stands for the overall period (in seconds) a guest operating
system is allowed to complete the shutdown. The default timeout is 60
seconds. See Description of Compute configuration options for details.
可以为每个镜像单独设置操作系统关机超时时间。在镜像的metadata中,os_shutdown_timeout
用于指定该镜像操作系统类型所需的关机超时时间。
- 取消释放实例-恢复实例。
openstack server unshelve SERVERNAME
- 删除已释放(shelved)的实例。
shelve:将实例作为镜像保存到Glance并从宿主机删除该实例。
从主机删除实例、数据和关联资源。
如果不再需要该实例,可以从虚拟机管理程序中删除该实例以减少资源占用。
nova shelve-offload SERVERNAME
4.停止(删除)实例
最后一个选项是停止一个Nova实例,这将取消所有相关资源的连接。
这意味着,管理员不能将停止的实例之前的状态。这一选项只用于企业不再需要的OpenStack实例上。
在其它的情况下,管理员应该搁置、挂起或暂停实例。
参考链接
停止并重启OpenStack实例的方法
OpenStack官方文档:停止和启动实例
OpenStack官方文档:管理实例和主机
陈沙克日志:CentOS 6.8镜像
OpenStack虚拟机冷迁移与热迁移