备份非Proxmox VE系统数据到Proxmox Backup Server

Posted sery

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了备份非Proxmox VE系统数据到Proxmox Backup Server相关的知识,希望对你有一定的参考价值。

Proxmox 提供了“proxmox-backup-client”针对Centos7和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”,具体的指令如下:


yum install sg3_utils


假如不安装这个软件包,在执行proxmox-backup-client指令的时候,会因为报错而不能进行备份操作,如图11-61所示。

11- 61

 

第二步:下载软件Proxmox-backup-client到本地目录,指令如下:


wget ​​https://github.com/sg4r/proxmox-backup-client/releases/download/v1.0.11/proxmox-backup-1.0.11-2.x86_64.el7.rpm​


如果下载失败,可能需要电脑科¥%%%学%上%网,先下载再上传到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 --repositorycentreon135@pbs@172.16.228.250:8007:centreon135”从备份中列举与之相关的备份信息(如图11-67所示),根据输出进行恢复。

 

Proxmox-backup-client 恢复数据的指令参数及选项格式为:

proxmox-backup-clientrestore --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所示。


以上是关于备份非Proxmox VE系统数据到Proxmox Backup Server的主要内容,如果未能解决你的问题,请参考以下文章

Proxmox VE 6 更新到 7

Proxmox VE 7.2 更改登录横幅

Proxmox VE 7.2 网卡直通

Proxmox VE 7.2 备份恢复虚拟机

pve(proxmox ve)直接从备份文件查看虚拟机配置2020-12-18

proxmox ve ZFS备份及恢复/根分区2019-04-16