location /d2 配置块中,增加了 include proxy_timeout_params; ,若升级前手工配置过其他的端口代理 SSL ,需要手工添加 include proxy_timeout_params; 配置,或用最新的配置文件为模板重新配置 DBackup3_Nginx_配置默认端口rpm -ivh dbackup3-immune_*.rpm
systemctl stop dbackup3-backupd tar -zcf /home/backupd-backup.tar.gz /var/opt/scutech/dbackup3/backupd dpkg -i dbackup3-common_*.deb dbackup3-backupd_*.deb dbackup3-licensed_*.deb
Configuration file '/etc/opt/scutech/dbackup3/storaged/svc.conf.d/00-base.conf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** 00-base.conf (Y/I/N/O/D/Z) [default=N] ?
dpkg -i --force-confask dbackup3-<module>.deb
sudo cp /etc/opt/scutech/cd_server.conf /etc/opt/scutech/cd_server.conf.bak`date +'%m%d%H%M'`
mysqldump -uroot -p ds_db > /tmp/mysql_`date +'%m%d%H%M'`.sql
mount | grep bfs2-serverd | awk '{print "umount " $3}' | sh
ps aux | grep bfs
vi /etc/hosts 添加以下语句 IP image.x.x.x.x (IP 为 FusionCloud 的 CPS 的 IP 地址,x.x.x.x为 FusionCloud CPS 的安装部署域名)
vi /etc/opt/scutech/dbackup_vmserver/vmserverd.xml 文件添加"<fusion_compute_client_ip>迪备存储服务器IP</fusion_compute_client_ip>"参数
rpm -Uvh dbackup-server_version.rpm 命令升级 dbackup-server 安装包。/opt/scutech/dbackup_seserver/db_util config db_username db_password (db_password db_username 是 MySQL 非 root 用户名和密码) cat /etc/opt/scutech/cd_server.conf(若 db_password 和 db_username 已经有值,代表写入成功) dpkg -i dbackup-server_version.deb(覆盖安装一次)
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' \;
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
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
show databases;
config 命令查看 host 、port、passowrd、user、connector 属性及值
/opt/scutech/dbackup3/bin/config db list -n common
/opt/scutech/dbackup3/bin/config queue list -n alert
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
root@ubuntu:~# /etc/init.d/dbackup3-backupd config mysql Configuring global configuration and find database configuration: /var/opt/scutech/dbackup3/backupd/database-conf.d/mysql.conf. Do you want to delete it?[y/N]: y
migrate 命令执行时会分别提示确认迁移 Queue 队列和 Catalog 数据库。 (为保证数据一致性,迁移数据库之前先确认 dbackup3 相关服务已经停止)/etc/init.d/dbackup3-backupd stop /opt/scutech/dbackup3/bin/migrate sqlite mysql /etc/init.d/dbackup3-backupd restart
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
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' \;
用 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
dpkg -l | grep -E "rpm|gnupg"
dpkg -i dbackup-datasender-version.deb
dpkg -P dbackup-filesender
dpkg -i dbackup-datasender-version.deb
Kubernetes 代理端升级需要修改 agent.yaml 中的 image 参数,然后重新执行 kubectl apply -f agent.yaml
image: registry.docker.scutech.com/k8s-backup/centos/stable/dbackup3-agent-k8s:version.dbg
$ /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
注意:适用于现场升级可能因为某种原因(如数据迁移时数据量过大,错过用户升级时间窗口)导致迁移失败需要回滚配置的场景。
/etc/init.d/dbackup3-backupd config sqlite
/opt/scutech/dbackup3/bin/config connector --model=queue --default=sqlite
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"
dbackup3-backupd 服务,配置生效。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 需要
rpm -Uvh dbackup3-common-verision.rpm dbackup3-agent-version.rpm dbackup3-agent-mysql-version.rpm --nodeps
POST /d2/r/v2/agent/action?name=upgrade
{ @@
"check_sign": false
}
新版本支持使用 MySQL 数据库存储队列。
注:/opt/scutech/dbackup3/bin/config connector mysql --base 修改密码。/etc/init.d/dbackup3-backupd config mysql 修改了连接方式,队列也会同时变为使用 MySQL 数据库。/opt/scutech/dbackup3/bin/config connector --model=queue --default=sqlite 调整优先使用 SQLite 队列。升级后,仍默认使用 SQLite 存储队列,需单独配置队列存储为 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!
/opt/scutech/dbackup3/bin/config connector --model=queue --default=mysql
/opt/scutech/dbackup3/bin/config queue list -n alert
/etc/init.d/dbackup3-backupd stop /opt/scutech/dbackup3/bin/migrate sqlite mysql --models queue /etc/init.d/dbackup3-backupd start
/etc/init.d/dbackup3-backupd config mysql 会有如下提示,请按照提示删除旧的配置文件:root@ubuntu1804:~# /etc/init.d/dbackup3-backupd config mysql ... Configuring global configuration and find database configuration: /var/opt/scutech/dbackup3/backupd/database-conf.d/mysql.conf. Do you want to delete it?[y/N]: y Test MySQL connectivity OK!
升级后可使用全局配置命令配置 Catalog 和队列存储均使用 MariaDB 数据库。
具体请查看本升级文档中的“ #配置 Catalog 和队列数据 ”中的步骤。
推荐使用离线包安装 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
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' \;
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
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
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
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' \;
ubuntu@ubuntu:~# apt install mariadb-client-compat
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 提供支持