• 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

  • 相关阅读:
    一分钟了解Docker
    RobotFramework
    RobotFramework不同版本优劣势
    从零学习基于Python的RobotFramework自动化
    Python 接口自动化常用方法封装
    (转载)解决MySql 数据库 提示:1045 access denied for user 'root'@'localhost' using password yes
    (转载)html中div使用自动高度
    javascriptDOM对象之scrollTo()方法,滚动到页面指定位置
    CSS3之响应式布局
    Html5NodeJs安装less之千辛万苦CMD系列
  • 原文地址:https://www.cnblogs.com/panhongyin/p/10718896.html
Copyright © 2020-2023  润新知