升级到v5.6.2之后的操作

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

#1. 升级到v5.6.2之后的操作

  • 在控制器上远程将KVM/Workload类型的采集器从v5.6.1升级到v5.6.2

    • v5.6.2后为了减少采集器访问控制器需要开放的端口号,默认不再提供HTTP的升级方式,需要手动修改配置才能完成将v5.6.1的trident升级到v5.6.2;升级方法如下:
    • 设置新版本trident可执行文件路径,执行ln -sf /usr/sbin/trident /usr/local/deepflow/yum/trident ,注意必须是软链接
    • 执行trident -v获取版本号
      trident -v
      # 352-d3b8c80b756f1261410d0fc847db6d7955324ce2 2019-05-22
      
      1
      2
      其中, revision为352-d3b8c80b756f1261410d0fc847db6d7955324ce2
    • 修改主控制器上/usr/local/deepflow/saltstack/pillar/trisolaris.sls中的如下配置:
      # x.x.x.x为主控制器IP
      self_update_url: http://x.x.x.x:23333/yum/trident
      trident_revision: 352-d3b8c80b756f1261410d0fc847db6d7955324ce2
      
      1
      2
      3
      • 确认采集器和self_update_url配置的IP地址网络通的
      • 执行salt -N controller saltutil.refresh_pillar
      • 执行salt -N controller state.sls deepflow_config.trisolaris
      • 执行salt -N proxy_controller state.sls deepflow_config.trisolaris
    • Windows环境Trident升级还需执行如下步骤(纯linux环境可以忽略该步骤):
      • 注意:原版本和升级目标版本所对应的DeepFlow版本都不能低于5.5.8
      • 将安装包trident-setup.exe在任意一台windows上解压
      • 打开命令行窗口进入trident.exe所在目录,执行.\trident.exe -v查看版本号,确保revison和linux的保持一致
      • trident.exe上传到控制器的/usr/sbin/目录下
      • chmod 777 /usr/sbin/trident.exe增加权限
      • 执行cp /usr/sbin/trident.exe /usr/local/deepflow/yum/
    • 执行mt vtap.upgrade name=XXX升级对应的vtap
  • 采集器原先写到trisolaris.yaml文件内的配置转移到页面,需要在采集器配置页面重新进行配置,否则采集器可能无法正常工作

  • v5.6.1到v5.6.2的tsdb数据迁移

    • 登录所有数据节点执行以下操作
      # 停止当前数据库,备份数据,并启动备份数据库,然后再启动当前数据库
      tsdb_issu_562.sh
      
      # 请等待备份数据库启动成功, 若如下命令成功返回,则表示备份数据库启动成功
      tsdb-dump -p 30044
      
      # 将数据从备份数据库,迁移到当前数据库
      influx-migrate-562
      # 迁移日志: /var/log/influxdb/influx_migrate.log
      # 注意: 默认限制每秒迁移20000条记录, 可通过`/etc/influxdb/influxdb_migrate.yaml`的`limit-write-rate`调整.
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
    • 登录所有单独的控制节点(不同时是数据节点)执行以下操作
      # 停止当前数据库,备份数据,并启动备份数据库,然后再启动当前数据库
      tsdb_issu_562.sh
      # 无须进行数据迁移,直接停止备份数据库
      tsdb_issu_562.sh stop
      
      1
      2
      3
      4
    • 迁移结束, 验证业务正常后, 清理原数据
      # 停止备份数据库
      tsdb_issu_562.sh stop
      # 删除备份数据
      tsdb_issu_562.sh clean
      
      1
      2
      3
      4
  • 流日志索引变更处理

    • v5.6.2版本需要执行如下操作初始化流日志索引, 否则流日志无法写入:
      mt elasticsearch.initialize
      
      1
    • 对于v5.6.1写入的流日志的清除方法:
      • 登录http://<deepflow>/cerebro/, 选择DeepFlow Cluster
      • 搜索dfi_flow__的所有索引文件,删除即可。