PostgreSQL centrol PITR backup with kvm and zfs and nfs or zvol

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介:
在实际的生产环境中, 当数据库越来越多, 越来越大.
备份可能会成为比较大的问题, 传统的逻辑备份对于大的数据库不适用(因为备份和还原可能是比较耗时的, 而且也不能回到任意时间点,还会造成数据库膨胀(长时间repeatable read iso), 好处是可以跨平台恢复, 可选恢复表等).
但是基于XLOG的增量备份, 又需要结构一致, 如果要做集中的备份, 可能导致不同数据库集群占用同一个文件夹带来冲突(当然解决办法是重定向一个文件夹就好了)
那么如果环境中已有虚拟机的话, 可以使用虚拟机来解决文件夹冲突的问题. (不过个人还是推荐使用重定向, 可以省掉一层虚拟机的管理成本)
zfs在这里主要用到它的压缩, 去重和snapshot功能. 减少存储空间, 加快恢复速度等. 可以放在crontab定时执行, 例如2小时1次.

以下是使用虚拟机和zfs来管理存储的一种集中式XLOG增量备份的场景举例 ; 
环境 : 
DELL R720xd
32G mem
8 核 Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz
CentOS 6.5 x64
虚拟化, KVM
存储管理, ZFS, 开启压缩, dedup. (也可以考虑开源的分布式文件系统)
虚拟机数据分区, nfs或zvol.

方案图 : 
这里的虚拟机数据分区用法, 分为两种, 一种是NFS, (VM中挂载NFS来实现PGDATA的存储)
zvol则是直接使用zfs卷来管理的, 效率比nfs更高一点.
PostgreSQL centrol PITR backup with kvm and zfs and nfs or zvol - 德哥@Digoal - PostgreSQL
使用nfs的好处, 虚拟机和ZFS设备不需要在同一台主机.
使用zvol的话, 虚拟机和ZVOL必须是同一主机的.
整体的架构.
PostgreSQL centrol PITR backup with kvm and zfs and nfs or zvol - 德哥@Digoal - PostgreSQL
归档wal存储可以考虑zfs或分布式存储. 归档方法很多, 可以使用rsync, cp, nfs等.
使用ZFS snapshot加速PITR.

使用本地用户的话, 架构图如下 : 
每个用户配置独立的zfs存储对应的$PGDATA, 每个用户建议编译独立的$PGHOME.
PostgreSQL centrol PITR backup with kvm and zfs and nfs or zvol - 德哥@Digoal - PostgreSQL
使用ZFS snapshot加速PITR.

[参考]
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
弹性计算 关系型数据库 测试技术
PostgreSQL 11 1万亿 tpcb 性能测试 on 阿里云ECS + ESSD + zfs/lvm2条带 + block_size=32K
标签 PostgreSQL , pgbench , tpcb , tpcc , tpch , lvm2 , zfs , 条带 背景 最近的几个PostgreSQL OLTP与OLAP的测试: 《PostgreSQL 11 tpcc 测试(103万tpmC on ECS) - use sysbe...
3630 0
|
关系型数据库 Shell PostgreSQL
PostgreSQL 最佳实践 - 块级增量备份(ZFS篇)备份集自动校验
背景 前面我写过一篇关于使用ZFS的快照特性和PostgreSQL流复制来完成数据库块级别的增量PITR备份的文章。 达到可控的备份与恢复SLA。 https://yq.aliyun.com/articles/59363 本文将基于这个备份机制, 写一个自动的恢复测试
3075 0
|
监控 网络协议 关系型数据库
PostgreSQL 最佳实践 - 块级增量备份(ZFS篇)方案与实战
背景 在实际的生产环境中, 当数据库越来越多, 越来越大. 备份可能会成为比较大的问题, 传统的逻辑备份对于大的数据库不适用(因为备份和还原可能是比较耗时的, 而且也不能回到任意时间点, 还会造成数据库膨胀(长时间repeatable read iso), 好处是可以跨平台恢复, 可选恢复表
7086 0
|
关系型数据库 OLTP iOS开发