4.6.?单机热备份

使用UXDB的备份功能可以进行单机热备份,但是该备份不能被用于时间点恢复。但是备份和恢复过程要比ux_dump转储快(由于文件尺寸一般也比ux_dump转储更大,所以在某些情况下速度优势可能会被否定)。

在基础备份的帮助下,单机热备份最简单的方式是使用ux_basebackup工具。如果在调用ux_basebackup时使用了-X参数,使用该备份所需的所有预写式日志将会被自动包含在该备份中,并且恢复该备份也不需要特殊的操作。

如果在复制备份文件时需要更多灵活性,也可以使用一个较底层的程序来创建单机热备份。底层单机热备份的准备工作:将wal_level设置为replica或更高,archive_mode设置为on,并且设置archive_command,该命令只在开关文件(/home/uxdb/uxdbinstall/dbsql/bin/backup_in_progress)存在时执行归档,否则会返回0值退出状态,命令如下:

archive_command = 'test ! -f /home/uxdb/uxdbinstall/dbsql/bin/backup_in_progress || (test ! -f /home/uxdb/uxdbinstall/dbsql/bin/archive/%f && cp %p /home/uxdb/uxdbinstall/dbsql/bin/archive/%f)'

通过上面的准备,可以使用如下所示的脚本来建立备份:

touch /home/uxdb/uxdbinstall/dbsql/bin/backup_in_progress
uxsql -c "select ux_start_backup('hot_backup');"
tar -cf /home/uxdb/uxdbinstall/dbsql/bin/backup.tar clusterdir(备份集群所在路径)
uxsql -c "select ux_stop_backup();"
rm /home/uxdb/uxdbinstall/dbsql/bin/backup_in_progress
tar -rf /home/uxdb/uxdbinstall/dbsql/bin/backup.tar -P /home/uxdb/uxdbinstall/dbsql/bin/archive/

开关文件/home/uxdb/uxdbinstall/dbsql/bin/backup_in_progress首先被创建,允许对已完成的WAL文件进行归档,备份完成之后开关文件被删除。归档的WAL文件则被加入到备份中,这样基础备份和所有需要的WAL文件都在同一个tar文件中。

XML 地图 | Sitemap 地图