📁 文件列表

8065906 升级到 8069482

8.0.65906 升级到 8.0.69482

版本支持

升级服务端

注意事项

  1. 服务端升级后会检测存储服务器 /infokist 目录的文件系统类型,若文件系统类型是 ZFS,则允许创建合成池,不允许创建重删池;若文件系统非 ZFS 则允许创建重删池不允许创建合成池,其他类型的存储池不受影响。
  2. 升级前非 ZFS 文件系统,安装了dbackup3-storaged-lanfree 后可创建合成池,升级后将不支持创建。
  3. 若升级后仍需要创建不受支持的存储池,可通过如下步骤启用:admin 登录迪备,打开 global-config 页面,在【存储管理】中设置“ZFS 文件系统下不支持的存储池” 和 “ZFS 文件系统下才支持的存储池” 选项。
  4. 新版本 Nginx 的 Backupd 和 Storaged 的 SSL 端口配置文件,在 location /d2 配置块中,增加了 include proxy_timeout_params; ,若升级前手工配置过其他的端口代理 SSL ,需要手工添加 include proxy_timeout_params; 配置,或用最新的配置文件为模板重新配置 DBackup3_Nginx_配置默认端口
  5. 若升级前添加有 NDMP 主机,升级后,需进入资源界面,修改 NDMP 主机,选择一个客户端。
  6. 若打开了 “配置文件防篡改”功能,一定要先关闭再进行升级。

升级 dbackup3

升级 dbackup-server

配置 Catalog 和队列数据

注意:SQLite 迁移 MariaDB 前,一定要先检查界面、Backupd 服务和日志等是否正常,若不正常应先排查问题,再迁移。
  1. 停止 dbackup3 服务
    ubuntu@ubuntu:~# find /etc/init.d/ -name 'dbackup3-*' -type f -exec sh -c '{} stop' \;
    
  2. 停止 dbackup-server服务 属于旧版虚拟机及 Windows 模块,未使用可以略过
    ubuntu@ubuntu:~# find /etc/init.d/ -name '*_server' -type f -exec sh -c '{} stop' \;
    
  3. 备份 ds_db 库 属于旧版虚拟机及 Windows 模块,未使用可以略过
    ubuntu@ubuntu:~# service mysql stop
    ubuntu@ubuntu:~# cp -r /var/lib/mysql /var/lib/mysql.bak 
    ubuntu@ubuntu:~# cp -r /etc/mysql/ /etc/mysql.bak
    ubuntu@ubuntu:~# service mysql start
    ubuntu@ubuntu:~# mysqldump -h127.0.0.1 -uroot -pDingjia123 -B -F --single-transaction --default-character-set=utf8mb4 --set-gtid-purged=OFF ds_db > ds_db.sql
    
  4. 卸载 mysql
    ubuntu@ubuntu:~# service mysql stop
    ubuntu@ubuntu:~# apt-get -y purge `dpkg -l | grep mysql | awk '{print $2}'`
    ubuntu@ubuntu:~# rm -r /var/lib/mysql
    
  5. 安装 MariaDB 数据库
    具体请查看本升级文档中的“ #安装 MariaDB 数据库 ”中的步骤。
  6. 登录 MariaDB 查看是否有 dbackup3 库
    show databases;
    
  7. 使用 config 命令查看 host 、port、passowrd、user、connector 属性及值
  8. 设置 Catalog 和队列为 MySQL 数据库
    root@ubuntu:~# /etc/init.d/dbackup3-backupd config mysql
    Please input MySQL host[127.0.0.1]: 
    Please input MySQL port[3306]: 
    Please input MySQL user[root]: 
    Please input MySQL password: 
    Loaded /opt/scutech/dbackup3/lib/libmysqlclient.so with flags 0x00000101(RTLD_LAZY | RTLD_GLOBAL)
    Test MySQL connectivity OK!
    Do you want to restart backupd? [Y]: N
    

    配置时提示重启 Backupd 服务,请输入N,设置完成后, Catalog 和队列的存储位置均设置为 MySQL 数据库
  9. 迁移数据库,migrate 命令执行时会分别提示确认迁移 Queue 队列和 Catalog 数据库。 (为保证数据一致性,迁移数据库之前先确认 dbackup3 相关服务已经停止)
    /etc/init.d/dbackup3-backupd stop
    /opt/scutech/dbackup3/bin/migrate sqlite mysql
    /etc/init.d/dbackup3-backupd restart
    
  10. 导入 ds_db 属于旧版虚拟机及 Windows 模块,未使用可以略过
    ubuntu@ubuntu:~# mariadb -uscutech -p'密码' < ds_db.sql
    # 如果导入过程中报 Unknown collation: 'utf8mb4_0900_ai_ci' ,是因为目标数据库不支持该字符集,可以使用 SHOW CHARACTER SET; 查看当前版本支持的字符集,MariaDB 11.4 支持 utf8mb4_uca1400_ai_ci,替换步骤如下:
    ubuntu@ubuntu:~# cp ds_db.sql ds_db.sql.bak
    ubuntu@ubuntu:~# sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_uca1400_ai_ci/g' ds_db.sql
    
  11. 启动 dbackup3 服务
    ubuntu@ubuntu:~# find /etc/init.d/ -name 'dbackup3-*' -type f -exec sh -c '{} start' \;
    
  12. 启动 dbackup-server 服务 属于旧版虚拟机及 Windows 模块,未使用可以略过
    ubuntu@ubuntu:~# find /etc/init.d/ -name '*_server' -type f -exec sh -c '{} start' \;
    

升级用户手册

用 root 权限执行手册 run 脚本(manual/manual-dbackup.xxxx.run, manual/manual-old/manual-scutech-xxxx.run),按照提示输入即可。

chmod +x manual-dbackup-xxxx.run
chmod +x manual-scutech-xxxx.run
./manual-dbackup-xxxx.run && ./manual-scutech-xxxx.run

升级代理端

dbackup3 代理端

  1. 需要检查备份服务器是否已安装 rpm 和 gnupg 工具,若无可使用 tools/rpm-gnupg-offline.tar.gz 离线包安装。
    dpkg -l | grep -E "rpm|gnupg" 
    
  2. HP-UX、Solaris代理端不支持升级,需手动升级;
  3. 其他 dbackup3 代理端,使用界面上传 dbackup3 包进行升级;
  4. KingBase V7 及 V8 版本在 Linux 平台统一使用 agent-postgres 安装包
  5. KingBase V8R3 及以上版本升级后继续使用 agent-postgres 包,KingBase V7在服务端升级后需先卸载 agent-kingbase 包,重新安装 agent-postgres 包。
  6. Windows DB2 升级代理端,若存在 DB2 自动归档日志备份作业,需要先执行 db2stop 命令停止数据库服务,使得迪备插件库得以释放,然后再进行升级操作。
    (以前的处理方式:升级前删除自动归档日志备份作业,然后再进行升级操作。此操作方法不一定能保证 Windows DB2 代理端升级成功,因为在删除作业的过程中,某些 DDL 进程不一定能够释放成功。)
注意:
  1. RPM 包推送升级,需检查服务端是否安装 rpm 和 gnupg 包,安装完成后需重启 dbackup3-backupd 服务

datasender 代理端

filesender 代理端

        dpkg -P dbackup-filesender
        dpkg -i dbackup-datasender-version.deb

Kubernetes 代理端

Kubernetes 代理端升级需要修改 agent.yaml 中的 image 参数,然后重新执行 kubectl apply -f agent.yaml

image: registry.docker.scutech.com/k8s-backup/centos/stable/dbackup3-agent-k8s:version.dbg

Hadoop 代理端

之前存量客户使用迪备备份 MRS Hadoop 集群环境,代理端升级后需要重新配置代理端。(以 MRS 客户端安装路径为例:/opt/hadoopclient/ ,配置步骤如下所示。)
  $ /etc/init.d/{{vendor}}-agent config hadoop
Configure Huawei MRS? [y/N] y
Please input Huawei MRS home []: /opt/hadoopclient/
Huawei MRS JRE_HOME: /opt/hadoopclient/JDK/jdk1.8.0_402
Huawei MRS HADOOP_HOME: /opt/hadoopclient/HDFS/hadoop
Huawei MRS HIVE_HOME: /opt/hadoopclient/Hive/Beeline
Restarting {{vendor}}-agent (via systemctl):             Warning : dbackup3-agent.service changed no disk.Run 'systemctl daemon-reload '  to update units'
                                                                    [  OK  ]
$ systemctl daemon-reload

FAQ

Catalog 和队列回退 SQLite 配置

注意:适用于现场升级可能因为某种原因(如数据迁移时数据量过大,错过用户升级时间窗口)导致迁移失败需要回滚配置的场景。

  1. 同时回退 Catalog 和队列配置
    /etc/init.d/dbackup3-backupd config sqlite
    
  2. 回退配置后可使用如下命令确认是否设置成功
    root@ubuntu:# /opt/scutech/dbackup3/bin/config db list -n common
    Database: common
        backend-config-path: "" 
        backup: true
        backup-pages_number: 1000
        backup-sleep-msec: 100
        charset: "" 
        connect-timeout: 5
        connector: "sqlite" 
        host: "" 
        init-command: "" 
        journal-mode: "" 
        max-conn-number: 8
        max-conn-pool-size: 6
        metadata: "common" 
        password: "" 
        path: "/var/opt/scutech/dbackup3/backupd/common.db" 
        port: 0
        ssl-ca: "" 
        ssl-ca_path: "" 
        ssl-certificate: "" 
        ssl-cipher: "" 
        ssl-key: "" 
    
    root@ubuntu:~# /opt/scutech/dbackup3/bin/config queue list -n alert
    Queue: alert
        connector: "sqlite" 
        path: "/var/opt/scutech/dbackup3/backupd/queue/alert" 
    
    
  3. 重启 dbackup3-backupd 服务,配置生效。

升级 MySQL 代理端依赖问题

libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

解决特定版本无法广播升级问题

升级后 Backupd 队列存储方式配置

新版本支持使用 MySQL 数据库存储队列。

注:

Catalog 保持使用 MySQL 并保持队列使用 SQLite

升级前版本 Catalog 存储为 MySQL 数据库

升级后,仍默认使用 SQLite 存储队列,需单独配置队列存储为 MySQL 数据库。

  1. 执行以下命令配置队列存储为 MySQL。
    /opt/scutech/dbackup3/bin/config connector mysql --mode=queue --base
    Please input MySQL host[127.0.0.1]:
    Please input MySQL port[3306]:
    Please input MySQL user[root]:
    Please input MySQL password:
    Test MySQL connectivity OK!
    
  2. 配置队列优先的连接方式为 MySQL。
    /opt/scutech/dbackup3/bin/config connector --model=queue --default=mysql
    
  3. 查看队列存储位置
    /opt/scutech/dbackup3/bin/config queue list -n alert
    
  4. 迁移队列。将 SQLite 中的队列数据迁移至 MySQL 中。
    /etc/init.d/dbackup3-backupd stop
    /opt/scutech/dbackup3/bin/migrate sqlite mysql --models queue
    /etc/init.d/dbackup3-backupd start
    
注:

升级前版本 Catalog 存储为 SQLite 数据库

升级后可使用全局配置命令配置 Catalog 和队列存储均使用 MariaDB 数据库。

具体请查看本升级文档中的“ #配置 Catalog 和队列数据 ”中的步骤。

安装 MariaDB 数据库

推荐使用离线包安装 MariaDB 11.4,安装之前请先看查看解压后目录下的 readme 注意事项。

# 前置步骤
执行脚本前,请备份 /etc/apt,/etc/apt/sources.list.d 目录下所有在线源配置文件。
# 选择1安装数据库
ubuntu@ubuntu:~# tar -zxvf  jammy-x86_64-offlinepackages.tar.gz 
ubuntu@ubuntu:~# cd jammy-x86_64-offlinepackages
ubuntu@ubuntu:~# bash install_offline_package.sh
Please select an option:
1. Install database
2. Install OpenSSL
3. Install dbackup-server offline package
4. Exit installation
1
Installing database...
[2025-01-14 15:10:53] Executing: apt-get install mariadb-server mariadb-client-compat libmysqlclient-dev
Reading package lists...
Building dependency tree...
Reading state information...
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 dbackup-server : Depends: libmysqlclient20 but it is not installable or
                           libmysqlclient21 but it is not going to be installed
 libmysqlclient-dev : Depends: libmysqlclient21 (= 8.0.40-0ubuntu0.20.04.1) but it is not going to be installed
 mariadb-client-compat : Depends: mariadb-client (>= 1:11.4.4+maria~ubu2004) but it is not going to be installed
 mariadb-server : PreDepends: mariadb-common (>= 1:11.4.4+maria~ubu2004) but it is not going to be installed
                  Depends: galera-4 (>= 26.4) but it is not going to be installed
                  Depends: gawk but it is not going to be installed
                  Depends: libdbi-perl but it is not going to be installed
                  Depends: lsof but it is not going to be installed
                  Depends: mariadb-client (>= 1:11.4.4+maria~ubu2004) but it is not going to be installed
                  Depends: mariadb-server-core (>= 1:11.4.4+maria~ubu2004) but it is not going to be installed
                  Depends: socat but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
解决办法:
根据提示执行 apt --fix-broken install, 再次执行离线包安装脚本即可。
# 数据库安装后,设置用户名和密码
ubuntu@ubuntu:~# mariadb
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password USING PASSWORD('密码');
MariaDB [(none)]> create user '用户名'@'%' identified by '密码';
MariaDB [(none)]> grant all privileges on  *.* TO '用户名'@'%' with grant option;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit

升级前 dbackup3 和 dbackup-server 的 Catalog 皆为 MySQL

  1. 停止 dbackup3 、dbackup-server 服务
    ubuntu@ubuntu:~# find /etc/init.d/ -name 'dbackup3-*' -type f -exec sh -c '{} stop' \;
    ubuntu@ubuntu:~# find /etc/init.d/ -name '*_server' -type f -exec sh -c '{} stop' \;
    
  2. 备份 dbackup3、ds_db 库
    ubuntu@ubuntu:~# service mysql stop
    ubuntu@ubuntu:~# cp -r /var/lib/mysql /var/lib/mysql.bak 
    ubuntu@ubuntu:~# cp -r /etc/mysql/ /etc/mysql.bak
    ubuntu@ubuntu:~# service mysql start
    ubuntu@ubuntu:~# mysqldump -h127.0.0.1 -uroot -pDingjia123 -B -F --single-transaction --default-character-set=utf8mb4 --set-gtid-purged=OFF dbackup3 > dbackup3.sql
    ubuntu@ubuntu:~# mysqldump -h127.0.0.1 -uroot -pDingjia123 -B -F --single-transaction --default-character-set=utf8mb4 --set-gtid-purged=OFF ds_db > ds_db.sql
    
  3. 卸载 MySQL
    ubuntu@ubuntu:~# service mysql stop
    ubuntu@ubuntu:~# apt-get -y purge `dpkg -l | grep mysql | awk '{print $2}'`
    ubuntu@ubuntu:~# rm -r /var/lib/mysql
    
  4. 安装 MariaDB 数据库
    具体请查看本升级文档中的“ #安装 MariaDB 数据库 ”中的步骤。
  5. 导入 dbackup3、ds_db
    ubuntu@ubuntu:~# mariadb -uscutech -p'密码' < dbackup3.sql
    ubuntu@ubuntu:~# mariadb -uscutech -p'密码' < ds_db.sql
    # 如果导入过程中报 Unknown collation: 'utf8mb4_0900_ai_ci' ,是因为目标数据库不支持该字符集,可以使用 SHOW CHARACTER SET; 查看当前版本支持的字符集,MariaDB 11.4 支持 utf8mb4_uca1400_ai_ci,替换步骤如下:
    ubuntu@ubuntu:~# cp ds_db.sql ds_db.sql.bak
    ubuntu@ubuntu:~# sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_uca1400_ai_ci/g' ds_db.sql
    
  6. 启动 dbackup3、dbackup-server 服务
    ubuntu@ubuntu:~# find /etc/init.d/ -name 'dbackup3-*' -type f -exec sh -c '{} start' \;
    ubuntu@ubuntu:~# find /etc/init.d/ -name '*_server' -type f -exec sh -c '{} start' \;
    

迪备索引备份失败报 mysqldump: not found

ubuntu@ubuntu:~# apt install mariadb-client-compat

MySQL 5.7.x 迁移报错

Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'dbackup3'': Column count of mysql.proc is wrong. Expected 21, found 20. Created with MariaDB 50736, now running 110404. 可以运行升级命令
ubuntu@ubuntu:~# mariadb-upgrade

由 nginx autoindex 提供支持