BKMigration
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的更多相关文章
随机推荐
- linux应用之vim的常用命令
vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V 从光标当前行开始,光标 ...
- Python3 数据可视化之matplotlib、Pygal、requests
matplotlib的学习和使用 matplotlib的安装 pip3 install matplotlib 简单的折线图 import matplotlib.pyplot as plt #绘制简单的 ...
- STL stl_construct.h
stl_construct.h // Filename: stl_construct.h // Comment By: 凝霜 // E-mail: mdl2009@vip.qq.com // Blog ...
- OpenAL播放pcm或wav数据流-windows/ios/android(一)
OpenAL播放pcm或wav数据流-windows/iOS/Android(一) 最近在研究渲染问题,本文采用openal做pcm和wav数据流播放,并非本地文件,demo是windows的,i ...
- poj2420 A Star not a Tree? 模拟退火
题目大意: 给定n个点,求一个点,使其到这n个点的距离最小.(\(n \leq 100\)) 题解 模拟退火上 #include <cmath> #include <cstdio&g ...
- 洛谷 P1767 家族_NOI导刊2010普及(10)
题目描述 在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝,但同一个家族的人不一定有相同姓氏.现在给你岛上的 ...
- 在Debug中使用断点调试程序
我最近在学习汇编的程序,所以很多都需要动手写点代码去测试,如果是测试三五行代码的还比较简单,可以在debug中直接按T进行单步调试,但是到后来调试的代码越来越复杂,越来越长,如果再使用单步调试不知道要 ...
- ECMAScript基本函数、概念区分总结
1.使用Number()和parseInt() parseFloat()转换区别. 详见<JavaScript高级程序设计>P30 Number()可以针对任何类型. parseInt() ...
- Poj1050_To the Max(二维数组最大字段和)
一.Description Given a two-dimensional array of positive and negative integers, a sub-rectangle is an ...
- [转]升级Flash Builder 4.6中的Flash Player版本
Adobe自发布Flash Builder 4.6后,就暂停了Flash Builder新版本的发布.但AIR和FlashPlayer版本仍然保持不断的更新.在下载新的AIRSDK并覆盖到Flash ...