PAAS

1.   停止服务

./bkcec stop paas

2.   修改install.config

3.   删除中控机 /data/install/.bk_install.step 和原paas主机/data/bkce/.installed_module两个文件中包含paas的行。

4.   删除原paas主机上的多余文件

rm -rf /data/bkce/open_paas/ \

rm -rf /data/bkce/public/open_paas/ \

rm -f /data/bkce/etc/consul.d/paas*.json \

rm -f /data/bkce/etc/uwsgi-open_paas-* \

rm -f /data/bkce/supervisor-open_paas.conf

5.   同步文件

for module in common consul paas; do ./bkcec sync $module; done

6.   安装和重启consul(略)

7.   安装paas

./bkcec install paas

8.   给新机器授予mysql权限(非新机器时无需执行)

./bkcec initdata mysql

9.   重新配置相关模块

for mod_name in nginx job; do ./bkcec stop $mod_name; done

for mod_name in nginx job; do ./bkcec render $mod_name; done

10.  启动服务(注意顺序)

for mod_name in nginx paas job; do ./bkcec start $mod_name; done

11. 在CMDB界面进入业务拓扑中把机器转移到空闲机

12. 安装gse-agent

bkdata

1.   停止服务

./bkcec stop bkdata

2.   修改install.config,删除中控机 /data/install/.bk_install.step 和原bkdata主机/data/bkce/.installed_module两个文件中包含bkdata的行。

3.   同步文件

for module in common consul bkdata; do ./bkcec sync $module; done

4.   安装consul,并重启服务

5.   安装bkdata

./bkcec install bkdata

6.   删除原bkdata主机上的多余文件

rm -f /data/bkce/.init_bkdata_snapshot \

rm -f /data/bkce/.dataapi_snaphost \

rm -f /data/bkce/etc/consul.d/cmdb.json \

rm -f /data/bkce/etc/consul.d/dataapi.json \

rm -f /data/bkce/etc/consul.d/databus.json \

rm -f /data/bkce/etc/consul.d/job.json \

rm -f /data/bkce/etc/consul.d/monitor.json \

rm -f /data/bkce/etc/consul.d/paas.json \

rm -rf /data/bkce/bkdata/ \

rm -rf /data/bkce/public/bkdata/

7.   给新机器授予mysql权限(非新机器时无需执行)

./bkcec initdata mysql

8.   给新的bkdata主机补上初始化标记文件

touch /data/bkce/.dataapi_snaphost

9.   启动新的bkdata

./bkcec start bkdata

10.  在CMDB界面进入业务拓扑中把机器转移到空闲机

11.  安装gse-agent

fta

1: 停止consul和fta后台

./bkcec stop consul

./bkcec stop fta

2: 修改install.config

3: 重装consul

4: 安装fta后台

./bkcec install fta 1

5: 给新机器授予mysql权限

./bkcec initdata mysql

6: 启动fta

./bkcec stop fta ; ./bkcec start fta

beanstalk

1: 停止beanstalk

./bkcec stop beanstalk

2: 修改install.config

3: 重装consul,并重启服务

4: 安装beanstalk并启动

./bkcec install beanstalk 1

./bkcec start beanstalk

5: 重新启动fta

./bkcec stop fta ; ./bkcec start fta

6: 在CMDB界面进入业务拓扑中把机器转移到空闲机,然后重新安装gse-agent

./bkcec install gse_agent

appo

参照

https://docs.bk.tencent.com/bkce_install_guide/maintain.html#add_appt

https://docs.bk.tencent.com/bkee_ops/single_host_setup.html#%E5%A2%9E%E5%8A%A0appt%E6%9C%BA%E5%99%A8

1.迁移的新机器环境准备的操作全部都要做(包括配置免密)

2. ./bkcec stop appo

3. 修改install.config 删除老的配置,增加新的配置的

4. ./bkcec sync common

5. ./bkcec sync consul

6. ./bkcec sync appo

7. ./bkcec install consul

8. ./bkcec stop consul

9. ./bkcec start consul

10. ./bkcec install appo

11. ./bkcec initdata appo

此处可能遇到“api response: {"msg": "prod环境已有一台服务器10.1.16.4处于激活中, 无法再激活10.1.16.10"}”

去开发者中心-》服务器信息,删除老的信息,再重新执行./bkcec initdata appo

12. ./bkcec start appo

13. ./bkcec activate appo

14. 安装saas-o测试 ./bkcec install saas-o。若报错 有下列排错手段

重装bkdata

./bkcec install nginx 1

重启nginx

删除/data/install/.app.token 的bk_appo 8db8f206-2b2c-46e6-92b8-811ce5afc1d5 这一行

然后去web页面的开发者中心,清理服务器信息

再重启和激活 ./bkcec activate appo

nginx

1.   停止服务

./bkcec stop nginx; ./bkcec stop appt

2.   配置install.config,并删除安装标记

3.   删除原nginx主机中的多余文件

rm -f /data/bkce/etc/nginx/cmdb.conf \

rm -f /data/bkce/etc/nginx/job.conf \

rm -f /data/bkce/etc/nginx/miniweb.conf \

rm -f /data/bkce/etc/nginx/paas.conf;

4.   注掉第一台主机 /etc/hosts 中的“#172.21.22.11  nginx-1”

5.   同步文件:

for module in common consul nginx; do ./bkcec sync $module; done

6.   安装consul,并重启服务:

./bkcec install consul && ./bkcec stop consul && ./bkcec start consul

7.   给新机器授予mysql权限(非新机器时无需执行)

./bkcec initdata mysql

8.   重新安装GSE,否则会导致gse_agent无法正常安装

./bkcec install gse 1

9.   安装nginx:

./bkcec install nginx

10.  启动服务:

./bkcec start appt; ./bkcec start nginx

11.  修改浏览器所在主机的域名解析即可访问。

12. 在CMDB界面进入业务拓扑中把机器转移到空闲机

13. 安装gse-agent

rabbitmq

1.  停止服务:./bkcec stop rabbitmq

2.  配置install.config,并删除安装标记

3.  同步文件:common consul rabbitmq

4.  安装consul,并重启服务

5.  安装rabbitmq

6.  初始化:

./bkcec initdata mysql

./bkcec initdata rabbitmq

7.  进入主界面开发者中心,在第三方服务中删除旧的rabbitmq服务器

8.  激活新机器:./bkcec activate rabbitmq

9.  停止相关服务: bkdata, job

10. 重新渲染相关服务配置: bkdata, job

11. 启动相关服务: bkdata, job

12.  重装saas-o

13. 在CMDB界面进入业务拓扑中把机器转移到空闲机

14. 安装gse-agent

cmdb

1.   停止服务

./bkcec stop cmdb

2.   修改install.config,删除中控机 /data/install/.bk_install.step 和原cmdb主机/data/bkce/.installed_module两个文件中包含cmdb的行。

3.   删除原cmdb主机上的多余文件

rm -rf /data/bkce/cmdb/ \

rm -rf /data/bkce/public/cmdb/ \

rm -rf /data/bkce/logs/cmdb/ \

rm -f /data/bkce/etc/consul.d/cmdb*.json \

rm -f /data/bkce/etc/supervisor-cmdb-server.conf

4.   同步文件

for module in common consul cmdb; do ./bkcec sync $module; done

5.   安装和重启consul(略)

6.   安装cmdb

./bkcec install cmdb

7.   给新机器授予mysql权限(非新机器时无需执行)

./bkcec initdata mysql

8.   重新配置相关模块

for mod_name in nginx job bkdata; do ./bkcec stop $mod_name; done

for mod_name in nginx job bkdata; do ./bkcec render $mod_name; done

9.   启动服务(注意顺序)

for mod_name in nginx cmdb job bkdata; do ./bkcec start $mod_name; done

10.  在CMDB界面进入业务拓扑中把机器转移到空闲机

11.  安装gse-agent

job

1. 停止服务: ./bkcec stop job

2. 修改install.config并删除标记安装标记

3. 同步文件: common consul job

4. 安装consul,并重启服务

5. 安装job

6. 初始化mysql

7. 初始化job

8. 重新渲染NGINX模块

9. 启动job服务

10. 在CMDB界面进入业务拓扑中把机器转移到空闲机

11. 安装gse-agent

license

1. 停止服务: ./bkcec stop license

2. 用迁移机的mac地址,申请新的证书

3. 新证书文件更新到中控机的 /data/src/cert/ 下

4. 修改 install.config 文件,新增一行 $ip license ip为待迁移的机器IP,删除原ip所在行的license

5. 同步文件: common consul license

6. 安装consul,并重启consul服务

7. 安装license

8. ./bkcec initdata mysql

9. ./bkcec start license

10. ./bkcec install gse_agent 1

11. 登录paas平台,如果登录页面没有提示证书问题,则迁移成功

gse/redis

gse与redis必须在一台物理机,迁移的mac地址需要证书

1. 停止服务: ./bkcec stop redis; ./bkcec stop gse

2. 修改install.config并删除标记安装标记,主要是添加一行: $ip gse redis,删除其它行中gse与redis

3. 同步文件: ./bkcec sync all

4. 安装consul,并重启服务

./bkcec install consul

./bkcec stop consul

./bkcec start consul

5. 安装gse

./bkcec install gse

./bkcec initdata gse

./bkcec start gse

6. 初始化mysql

./bkcec initdata mysql

7. 安装redis

./bkcec install redis

./bkcec start redis

8. 重新渲染相关模板

echo bkdata fta gse job cmdb paas redis | xargs -n 1 ./bkcec render

9. 重启相关服务

echo bkdata fta gse job cmdb paas | xargs -n 1 ./bkcec stop

echo paas cmdb job gse fta bkdata | xargs -n 1 ./bkcec start

10. 在CMDB界面进入业务拓扑中把机器转移到空闲机

11. 安装gse-agent

./bkcec install gse_agent

12. 部署完成后发现gse.service.consul无法解析

手动检查:/data/bkce/etc/consul.d 查看是否有gse.json文件

如果没有手动添加:

[root@redis-1 consul.d]# cat gse.json

{

"service": {

"id": "gse-1",

"checks": [

{

"service_id": "gse-1",

"interval": "10s",

"script": "/data/bkce/bin/health_check/check_proc_exists -m gse"

}

],

"name": "gse",

"enableTagOverride": false,

"address": "10.1.11.14"  //修改成具体的ip地址

}

}

然后重启consul与paas服务就可以了

influxdb

1.停服务

source /data/install/utils.fc; cd /data/install; echo bkdata gse | xargs -n1 ./bkcec stop

2.备份和迁移influxdb数据(influxdb host上操作)

scp -r /data/bkce/public/influxdb $ip:/data/bkce/public

mv /data/bkce/public/influxdb /data/bkce/public/influxdbbak

4.删inflxdb相关配置(influxdb host上操作)

rm -rf /data/bkce/etc/influxdb.conf

删掉 sed -i '/influxdb/d' /data/bkce/.installed_module

5. 修改install.config

删掉原有的inflxudb

增加行:$ip inflxudb

6.重新安装inflxudb

./bkcec install influxdb 1

7.consul

先停sonsul

./bkcec install consul 1

启动consul

9.render服务,启动服务

source /data/install/utils.fc; cd /data/install; echo bkdata gse | xargs -n1 ./bkcec render

echo bkdata gse | xargs -n1 ./bkcec start

10.CMDB中IP移到空闲机

11.重新安装gse_agent

mysql

1. 导出数据:mysqldump -h 172.21.22.102 -uroot -pYtX#_]O[6n --all-databases > mysqlbak.sql

2. 停止服务:./bkcec stop mysql

3. 配置install.config,并删除安装标记:

4. 同步文件:common consul mysql

5. 安装consul,重启服务

6. 安装mysql

7. 启动mysql,然后初始化mysql

8. 导入数据:mysql -h 172.21.22.104 -uroot -pYtX#_]O[6n < /root/mysqlbak.sql

9. 重新渲染关联模块数据: paas, job, bkdata, fta

10. 在CMDB界面进入业务拓扑中把机器转移到空闲机

11. 安装gse-agent

12. 重装saas-o

mongodb

# 备份mongodb数据

source /data/install/utils.fc

ssh $CMDB_IP

cat /data/bkce/cmdb/server/conf/objectcontroller.conf  //获取cmdb库的登录信息

# 登录到mongodb

ssh $MONGODB_IP

mongodump -h localhost:27017 -d cmdb -ubk_cmdb -pxxxxxxxxxxxxxx -o /root/backup  //备份当前cmdb数据

# 传输cmdb数据库到新的mongodb节点

rsync -avz /root/backup/cmdb root@172.21.4.10:/root/

# 关闭mongodb服务

./bkcec stop mongodb

# 同步install.config更改

./bkcec sync common

# 同步基础依赖

consul ./bkcec sync consul

# 同步 mongodb 模块

./bkcec sync mongodb

# 安装 consul

./bkcec install consul

# 重启 consul

./bkcec stop consul

./bkcec start consul

# 安装 mongodb

./bkcec install mongodb

# 给新机器授予mysql权限(可选)

./bkcec initdata mysql

# 启动新的mongodb

./bkcec start mongodb

# 导入数据(mongodb节点)

mongorestore -h localhost:27017 -d cmdb --drop -ubk_cmdb -pxxxxxxxxxxxxxx /root/cmdb

# 重装gse_agent节点(重装前将所有蓝鲸业务下的主机都移到空闲机)

./bkcec install gse_agent

迁移中控节点:

1.停掉所有服务

./bkcec stop all

2.备份数据

tar zcvf data.tar.gz /data

3.节点互信配置

4.拷贝数据到新节点

scp data.tar.gz $ip:/

scp /root/.bkrc

5.在新节点解压data.tar.gz到根目录下

tar zxvf data.tar.gz

然后替换IP:

cd /data

for i in `grep -rl '10.1.13.12' *`;do sed -i 's/10.1.13.12/10.1.13.10/g' $i;done

6.consul

./bkcec install consul 1

./bkcec start consul

7.render

echo consul zk kafka mysql mongodb redis redis_cluster influxdb beanstalk rabbitmq es license gse nginx appt appo bkdata paas job cmdb | xargs -n1 ./bkcec render

8.upgrade

echo nginx appt bkdata| xargs -n1 ./bkcec upgrade

9.mysql

./bkcec start mysql

./bkcec initdata mysql

10.start

zk报错启动不了:

rm -rf /data/bkce/public/zk/*

./bkcec install zk 1

./bkcec start zk

es报错启动不了:

_add_user es /data/bkce/service/es/

chown -R es:es /data/bkce/service/es/*

chown -R es:es /data/bkce/logs/es/

echo consul zk kafka mongodb redis redis_cluster influxdb beanstalk rabbitmq es license gse nginx appt appo bkdata all | xargs -n1 ./bkcec start

11.重新安装gse_agen

BKMigration的更多相关文章

随机推荐

  1. Codeforces 158E Phone Talks:dp

    题目链接:http://codeforces.com/problemset/problem/158/E 题意: 你有n个电话要接,每个电话打进来的时刻为第t[i]分钟,时长为d[i]分钟. 每一个电话 ...

  2. 动态规划 两个字符串之间的编辑距离 leetcode72

    public static int minDistance(String word1, String word2) { char[] s1 = word1.toCharArray(); char[] ...

  3. codeforces 598E E. Chocolate Bar(区间dp)

    题目链接: E. Chocolate Bar time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  4. 趣味Shell

    Richard M. Stallman大神是谁就不用说了,一时来了兴趣,想看看Linux系统下有多少程序有这位大神参与编写的. 先把所有命令导出到文件中,遍历所有命令,用man手册查一下并过滤Stal ...

  5. ffmpeg第三方库编译记录

    最近在研究ffmpeg的编译,之前使用的Ubuntu,需要安装虚拟机,非常麻烦,所以后来改研究在Windows平台编译. 一开始遇到很多挫折,参考了网上很多的帖子,但要么不全要么内容已过期,经过我的反 ...

  6. 线段树_区间加乘(洛谷P3373模板)

    题目描述 如题,已知一个数列,你需要进行下面三种操作: 1.将某区间每一个数乘上x 2.将某区间每一个数加上x 3.求出某区间每一个数的和 输入格式: 第一行包含三个整数N.M.P,分别表示该数列数字 ...

  7. 扩展欧几里得算法(exgcd)

    Bezout定理: 对于任意整数a,b,存在一对整数x,y满足:a*x+b*y=gcd(a,b) 证明如下: 在欧几里得算法的最后一步:b=0,即:gcd(a,0)=a 对于b>0,根据欧几里得 ...

  8. Ubuntu 14.04开发环境

    安装ssh服务:sudo apt-get install openssh-server 安装vim:sudo apt-get install vim-gtk 安装gparted:sudo apt-ge ...

  9. 恢复到特定点(时间点、scn、日志序列号),rman不完全恢复

    将数据库.表空间.数据文件等恢复至恢复备份集保存时间中的任何一个时间点/SCN/日志序列(一般是日志挖掘找到误操作点),但须谨慎,操作前一定需要做好备份,具备条件的情况下最好先恢复到异机,避免业务停机 ...

  10. nodejs调试:node-inspector

    基于Chrome浏览器的调试器 既然我们可以通过V8的调试插件来调试,那是否也可以借用Chrome浏览器的JavaScript调试器来调试呢?node-inspector模块提供了这样一种可能.我们需 ...