准备升级至v5.6.1之前的操作

创建时间:2024-04-02 最近修改时间:2024-04-02

#1. 准备升级至v5.6.1之前的操作

  • 5.6.1授权新增字段控制器数量,若证书没有此字段会导致控制器进入运维状态,需要在升级前申请新的证书(需要配置控制器数量)导入数据库

    导入操作如下所示(密码以xxx为例)

    /usr/bin/mysql -uroot -pxxx -e "insert into deepflow.license(status,name,value) values(0,'filename',x'`hexdump -v -e '1/1 "%02x"' xxxxxxxxxxxxxxxxxxxxx.LIC`')"
    
    1
  • 确认patch——5.6.0/02-20200529-12483中以下命令已执行

    需执行语句
    mysql -uroot -p -D deepflow -e "ALTER TABLE alarm_policy ADD COLUMN target_line_full TEXT;"
    确认方法:以下语句执行结果中包含target_line_full字段
    mysql -uroot -p -D deepflow -e "show create table alarm_policy"
    
    1
    2
    3
    4
  • 由于数据库版本升级,deepflow rpm依赖于mysql,因此必须先在主备控制器分别执行以下命令卸载mysql后重新安装软件,并恢复nodegroup,然后才能执行升级命令

    # 挂载镜像/同步源
    rsync -acqrz --delete [控制器主机名]:/media/{yum,pip,docker-image} /usr/local/deepflow/
    yum clean all
    # 修改pip源
    sed -i '/prefix/d' /etc/pip.conf
    
    # 备份nodegroup
    mv /usr/local/deepflow/saltstack/nodegroup /usr/local/deepflow/saltstack/nodegroup.bak
    # 备份pillar
    mv /usr/local/deepflow/saltstack/pillar /usr/local/deepflow/saltstack/pillar.bak
    # 卸载mysql
    yum erase -y mysql-community-client mysql-community-common mysql-community-devel mysql-community-libs mysql-community-libs-compat mysql-community-server mysql57-community-release
    # 重新安装
    yum --disablerepo=* --enablerepo=deepflow install -y acl-controller alarm analysis cleaner cloud-agent deepflow-database deepflow-saltstack df-web-service diagnose exchange fauths fpermit fuser genesis manager metering mntnct postman talker trisolaris
    # 恢复nodegroup
    mv /usr/local/deepflow/saltstack/nodegroup.bak /usr/local/deepflow/saltstack/nodegroup
    # 恢复pillar
    rm -rf /usr/local/deepflow/saltstack/pillar
    mv /usr/local/deepflow/saltstack/pillar.bak /usr/local/deepflow/saltstack/pillar
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19