WAL-G是一款基于Go语言精心打造的备份恢复工具,以其简洁的操作流程、卓越的性能表现以及安全高效而著称。它主要为PostgreSQL、MySQL/MariaDB以及MS SQL Server等数据库系统提供全量备份与增量备份的恢复解决方案。此外,在其Beta版本中,WAL-G还进一步扩展了支持范围,增添了对MongoDB和Redis等数据库的支持,从而满足了更多用户对于数据库备份恢复的需求。
在测试环境中,WAL-G的恢复速度远高于WAL-E,其恢复时的写入性能高达838MB/s,这一性能指标达到了WAL-E的4倍之多。在更高配置的系统中,WAL-G的这一性能优势预计将会得到进一步的放大。在Oracle兼容模式下,IvorySQL同样可以完美适配 WAL-G,用户可以借助WAL-G高效的恢复速度,快速恢复出一个完整的IvorySQL数据库实例。
下面,我们将介绍 WAL-G 的源码编译、安装及对IvorySQL的备份恢复过程。
01
安装过程
1.1 安装环境
Linux CentOS 7.9
1.2 安装步骤
1)下载源码
git clone git@github.com:wal-g/wal-g.git
2)依赖安装与环境变量配置
yum install -y lzo-devel libbrotli libsodium
export USE_BROTLI=1
export USE_LIBSODIUM=1
3)源码编译与安装
cd wal-g
make deps
make pg_build
main/pg/wal-g --version
ln -s
/main/pg/wal-g /usr/bin/wal-g
4)确认安装成功
wal-g --version
02
对IvorySQL数据库进行备份恢复
2.1 备份前准备
安装并启动一个Oracle兼容模式的IvorySQL数据库,安装启动方法参阅:https://docs.ivorysql.org/cn/ivorysql-doc/v3.2/v3.2/3
在IvorySQL的data目录下,您可以编辑postgresql.conf配置文件,将archive_mode参数设置为on以启用归档模式,并将archive_command修改为archive_command = 'test ! -f /home/ivorysql/archive_dir/%f && cp %p /home/ivorysql/archive_dir/%f'
注:/home/ivorysql/archive_dir/ 可以替换成任一路径
在重启IvorySQL数据库之后,通过psql连接数据库,接着创建一张包含Oracle兼容字段的表,并向表中插入一些测试数据,以便于后续的验证和认证过程。
2.2 配置wal-g环境变量
export WALG_FILE_PREFIX=
export PGDATA=
export PGPORT=1521
export PGHOST=localhost
2.3 运行wal-g进行备份
wal-g backup-push $PGDATA
查看备份出来的文件
2.4 运行wal-g进行恢复
1) 使用最近一次备份进行恢复
wal-g back-fetch /usr/local/ivorysql/ivorysql-3/data-wal-g-backup LATEST
2 )恢复某次备份
wal-g back-fetch /usr/local/ivorysql/ivorysql-3/data-wal-g-backup base_000000010000000000000004
2.5 启动新库
修改新库data目录下的postgresql.conf
cd /usr/local/ivorysql/ivorysql-3/data-wal-g-backup
vim postgresql.conf
将restore_command的参数修改为restore_command = 'cp /home/ivorysql/archive_dir/%f %p'
修改 postgresql.conf 中的 port和ivorysql.conf中的port (避免端口冲突)
touch recovery.signal
>>>启动数据库
./bin/pg_ctl -D data-wal-g-backup -l wal-g-backup-logfile start
通过psql连接到IvorySQL的Oracle兼容模式下进行查看,经过验证,数据库已正常启动,并且数据恢复过程也顺利完成。
至此,一个新的IvorySQL数据库实例已经恢复成功。
数据库作为企业的核心信息资产,其安全性和稳定性至关重要。其中,备份恢复是数据库管理中不可或缺的一环。WAL-G完美支持IvorySQL的备份恢复,它不仅能提高数据安全性,降低业务中断风险,还能通过高效、无缝的备份恢复方案减少备份时间和存储空间。
WAL-G的跨平台特性和对多个PostgreSQL版本的兼容,增强了用户的灵活性和可扩展性。此外,其支持RESTful接口,将备份文件直接上传至对象存储服务,加强了数据的安全性和可扩展性。这些优势共同确保了IvorySQL用户业务的稳定且持续运行。
有关WAL-G更多的使用方法,请参阅 WAL-G官方文档:
https://wal-g.readthedocs.io/PostgreSQL/
有关IvorySQL更详细的说明,请参阅IvorySQL官方文档:
https://www.ivorysql.org/