11.7 备份非Proxmox VE系统数据到Proxmox Backup Server
Proxmox 提供了“proxmox-backup-client”针对Centos 7和Centos 8的rpm封装包,其下载地址为https://github.com/sg4r/proxmox-backup-client/releases/download/v1.0.11/proxmox-backup-1.0.11-2.x86_64.el7.rpm 。在Centos 7.8版本安装这个PBS客户端,就能把系统中需要备份的目录或者文件,备份到设定好的远程PBS对应的目录。
11.7.1 安装客户端软件Proxmox-backup-client
Ssh客户端登录到源系统Centos,在命令行下用以下步骤安装Proxmox-backup-client。
第一步:安装软件“sg3_utils”。Centos客户端软件Proxmox-backup-client依赖动态链接库文件“/usr/lib64/libsgutils2.so.2.0.0”,因此系统必须要安装包“sg3_utils”,具体的指令如下:
假如不安装这个软件包,在执行proxmox-backup-client指令的时候,会因为报错而不能进行备份操作,如图11-61所示。
图11- 61
第二步:下载软件Proxmox-backup-client到本地目录,指令如下:
如果下载失败,可能需要电脑科学上网,先下载再上传到Centos系统。
第三步:安装软件proxmox-backup-server,指令如下:
yum localinstall proxmox-backup-1.0.11-2.x86_64.el7.rpm |
安装过程会有两个依赖一起安装,如图11-62所示。
图11- 62
第四步:验证安装的正确性。命令行任意路径执行“proxmox-backp-client version ”,输出版本号并且没有任何报错信息,即为合格。
11.7.2 远端Proxmox Backup Server 设置备份路径并授权
浏览器登录Proxmox Backup Server Web管理后台,添加单独的账号、存储目录及授权,如图11-63所示。
图11- 63
创建了用户“centreon135”,目录“/mnt/datastore/pbs_data/centreon135”,远程客户端将以账号“centreon135@pbs”连接到PBS,并把数据备份到子目录”centreon135”,不与其它备份目录相混淆。
11.7.2 从Centos 备份数据到PBS
数据备份是一个长期行为,为了验证备份的可靠性,先手动对源数据进行备份,正确无误以后,用crond工具“crontab”编辑自动备份任务。
手动备份数据目录/var/lib/mysql到PBS
分两步进行,先做PBS登录,将PBS指纹、登录密码等保存到Centos 本地,再进行数据同步。
第一步:PBS客户端登录。用户名、密码等信息来自PBS Web管理后台的设定,登录的具体指令如下:
proxmox-backup-client login --repository centreon135@pbs@172.16.228.250:8007:centreon135 |
第一次登录需要输入登录账号“centreon135”的密码,并进行两次PBS指纹确认,如图11-64所示。登录操作为可选项,如果直接执行备份,命令会以交互方式,进行密码输入及指纹信息确定。
图11- 64
第二步:备份数据库数据目录“/var/lib/mysql”到PBS的设定的子目录centreon135,指令如下:
proxmox-backup-client backup mysql.pxar:/var/lib/mysql --repository centreon135@pbs@172.16.228.250:8007:centreon135 |
此操作不需要输入密码,执行过程会有屏幕输出,如图11-65所示。
图11- 65
执行这个14G大小的数据库数据目录,仅仅用了大概5分钟,速度比Rsync或Scp快很多,赞一个!
第三步:验证备份。浏览器登录Proxmox Backup Server Web管理后台,通过查看存储子目录的“内容”,确定备份是否成功,如图11-66所示。
图11- 66
另外,从Centos 命令行,也可以列举数据在PBS的存储情况,具体的指令如下:
proxmox-backup-client snapshot list --repository centreon135@pbs@172.16.228.250:8007:centreon135 |
执行后,将以表格的形式进行屏幕输出,如图11-67所示。
图11- 67
自动备份数据目录“/var/lib/mysql”到PBS
因为需要输入密码,一次难于在一条crontab语句中实现自动备份作业,因此,需要先编写一个Shell脚本,然后再将此编辑在Crontab之中,就可以达到目的。
第一步:编写脚本文件“/usr/bin/mysql_pbs.sh”,其完整内容如下:
#!/bin/bash source /etc/profile export PBS_PASSWORD=“dweu72U%de” proxmox-backup-client backup mysql.pxar:/var/lib/mysql --repository centreon135@pbs@172.16.228.250:8007:centreon135 |
用指令“chmod +x /usr/bin/mysql_pbs.sh”授予此Shell脚本可执行权限,然后执行此脚本,验证其正确性。
第二步:用指令“crontab -e”编制计划任务,插入行“05 02 * * * /usr/bin/mysql_pbs.sh”,保存生效,等待凌晨2:05到来,观察日志“/var/log/cron”确认计划任务是否执行,如图11-68所示。
图11- 68
从上述日志输出可知,自动备份作业调用正常。切换到PBS Web管理后台,查看“数据存储”相关子目录的“内容”,根据备份文件的时间戳,确认备份确实如我们所期待的那样。
11.7.3 Centos从Proxmox Backup Server备份中恢复数据
登录Centos系统,命令行下执行指令“proxmox-backup-client snapshot list --repository centreon135@pbs@172.16.228.250:8007:centreon135”从备份中列举与之相关的备份信息(如图11-67所示),根据输出进行恢复。
Proxmox-backup-client 恢复数据的指令参数及选项格式为:
proxmox-backup-client restore --repository <strings> <snapshot> <archive-name> <target> [OPTIONS]
参数“snapshot”与“archive-name”的值,由前边的列举备份信息中获取。
参数target为备份数据恢复到Centos本地所指定的目录。
我刚把Centos上的数据库数据目录“/var/lib/mysql” 成功备份到PBS的子目录centreon135,为了验证备份数据的正确性,我再将此备份恢复到本地Centos 的/tmp目录,恢复后对比源目录,大致可以判断数据的有效性。
命令行执行如下指令进行恢复操作,来完成上述目标。
proxmox-backup-client restore --repository centreon135@pbs@172.16.228.250:8007:centreon135 host/mon135/2021-09-22T16:39:32Z mysql.pxar /tmp/mysql |
指令执行过程,没有报错即为正常恢复。如果想知道恢复进度,可登录Proxmox Backup Server Web管理后台,点击页面按钮“任务”即可掌握恢复情况,如图11-69所示。
图11- 69
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/6459.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
打赏微信支付宝扫一扫,打赏作者吧~
休息一下~~