需求:把繁忙服务器的上的某些应用迁到空闲机器上

1、内存告警通知

应用迁移

ps:这是在阿里云做的钉钉机器人,从通知内容可以看出这台机器的内存使用率已经 > 90%了

所以,必须要做应用迁移,那现在我们要做的是,从其它机器上找出一台空闲的,然后将此机器上的某些应用迁移到空闲机器上

2、空闲机器

这时候,你就需要去找空闲机器,命令free -g,比如,09这台机器,total总共15G的内存,已使用12G,可用只有3,已经处于饱和状态

应用迁移

 

再看01这台,总共7G内存,可用5G,比较适合

应用迁移

3、拷贝相关文件

相关命令:jps  (查看java应用)

应用迁移

看看你需要迁移哪个应用,应用都是java,所以只拷贝jar,如果是其它语言,相宜处理。

这里有两种方式拷贝,

  1. 直接scp命令,但要知道机器密码
  2. 利用中间机器,做了互信免密登录

这里,我们采用第二种方式处理

比如,要把09机器上的jar,拷贝到01机器上

在互相机上做如下操作:

先scp 09:/xxx/xxx/xx.jar ./

再scp ./xx.jar 01:/xxx/xxx/

ps:注意要保持所涉及的应用的部署路径一致

4、启动

拷贝成功后,在01这台机器上启动jar即可

jar命令可在jenkins控制台输出中找到

应用迁移

通过jps查看应用是否启动,最好通过应用的启动日志去判断

相关命令:tail -f xx.log

5、相关平台IP修改

查询机器ip命令: ip a

我先说下我这里迁应用所涉及的修改

1、jenkins上应用配置修改 (jenkins发布时指定了应用要部署哪台机器上,所以要修改)

把老的IP替换新的即可

应用迁移

 

2、发布平台

修改应用对应的服务器

应用迁移

3、nginx代理

找到nginx所在机器,进入/ect/nginx/conf.d

命令  grep -A 10 zxb ./*  找到文件中包含应用zxb,替换新机器的ip地址即可

4、阿里云云监控

应用迁移

重新修改应用健康检查绑定的机器名

相关文章: