Openstack 如何在不重新安装服务的情况下停止并重新启动VM

Openstack 如何在不重新安装服务的情况下停止并重新启动VM,openstack,cloudify,gigaspaces,Openstack,Cloudify,Gigaspaces,场景 运行tomcat服务实例的Cloudify 2.7应用程序 目标 我想停止(关闭)并使用OpenStack API启动托管tomcat的VM,而不需要Cloudify重新安装tomcat配方 我想做的事 我尝试使用维护模式,如下指南: 将服务实例设置为维护模式将禁用该特定服务实例的主机故障检测。 这意味着在指定的时间段内,服务实例主机的故障或重新启动不会导致提供新的计算机和服务实例 因此,我执行了以下命令: 1. cloudify@default> connect VM_MNG_IP

场景

运行tomcat服务实例的Cloudify 2.7应用程序

目标

我想停止(关闭)并使用OpenStack API启动托管tomcat的VM,而不需要Cloudify重新安装tomcat配方

我想做的事

我尝试使用维护模式,如下指南:

将服务实例设置为维护模式将禁用该特定服务实例的主机故障检测。 这意味着在指定的时间段内,服务实例主机的故障或重新启动不会导致提供新的计算机和服务实例

因此,我执行了以下命令:

1. cloudify@default> connect VM_MNG_IP

2. cloudify@default> use-application <application_name>

3. cloudify@tommy> invoke <service_name> cloudify:start-maintenance-mode 300

4. Shut off the tomcat VM using OpenStack API

5. Start the tomcat VM using OpenStack API
1。cloudify@default>连接VM\u MNG\u IP
2.cloudify@default>使用应用程序
3.cloudify@tommy>调用cloudify:启动维护模式300
4.使用OpenStackAPI关闭tomcat虚拟机
5.使用OpenStackAPI启动tomcat虚拟机
之后,我在Cloudify的管弦乐队日志中看到的是tomcat服务的重新安装过程。换句话说,tomcat虚拟机现在承载两个tomcat处理单元

ls -al /root/gigaspaces/work/processing-units

<application_name>_tomcat_1_1278947587 

<application_name>_tomcat_1_2029943570 
ls-al/root/gigaspaces/work/processing units
_tomcat_1_1278947587
_tomcat_1_2029943570

有人能建议我应该怎么做才能达到我的目标吗?

这是Cloudify 2.7提供的默认tomcat服务的正确行为-重新启动后,tomcat文件会重新下载并在本地部署

如果需要不同的行为,可能需要调整tomcat配方,将tomcat文件保存在不同的位置(默认安装将所有文件保存在每个实例的工作目录中,重新启动后将替换该目录)。您可以更改配方以查找现有安装,如果存在,则使用它

请查看以下文件:

这些可能是您需要编辑的文件,以实现所需的功能。注意catalina_base如何设置为上下文属性,以及AntBuilder如何用于下载tomcat安装并将其保存到共享位置。这些是您需要更改的文件


请考虑一下,2度X已经达到生命的尽头-你应该考虑移动到3云:

谢谢你,Barak。如何更改配方以查找现有安装并在其存在时使用?我应该验证根/千兆位/工作/处理单元是否不是空的吗?给我的答案加上更多的注释-再一次,你应该考虑移动到云计算3。谢谢Barak。不幸的是,我不能迁移到Cloudify3。