如何停止并重新启动VM而不重新安装服务

时间:2015-04-07 12:41:30

标签: openstack cloudify gigaspaces

方案

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

目标

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

我尝试做什么

我在this指南后尝试使用维护模式

  

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

所以,我执行了以下命令:

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

之后,我在Cloudify的Orchestraotor日志中看到的是tomcat服务的重新安装过程。换句话说,tomcat VM现在托管两个tomcat处理单元。

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

<application_name>_tomcat_1_1278947587 

<application_name>_tomcat_1_2029943570 

有人可以告诉我,为了达到目标,我该怎么做?

1 个答案:

答案 0 :(得分:0)

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

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

查看以下文件:

https://github.com/CloudifySource/cloudify-recipes/blob/master/services/tomcat/tomcat_init.groovy https://github.com/CloudifySource/cloudify-recipes/blob/master/services/tomcat/tomcat_install.groovy

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

请考虑Cloudify 2.x已达到使用寿命 - 您应该考虑迁移到Cloudify 3:http://getcloudify.org/guide/3.1/quickstart.html