企业运维之云上网络原理与实践-备份与恢复(中)

本文涉及的产品
云数据库 PolarDB MySQL 版,列存表分析加速 8核16GB
PolarSearch,搜索节点 4核8GB
PolarDB Agent Flow,2核4GB
简介: 企业运维之云上网络原理与实践-备份与恢复


本地存储目录

 

1. postgres=# show data_directory;  

2.     data_directory  

3. ------------------------  

4. /home/postgres/primary  

5. (1 row)  

 

可以通过上述命令在数据库中获取本地存储目录的位置,可以看到它是类似于PostgreSQL的数据目录。

 

1. .  

2. ├── base  

3. │   ├── 1  

4. │   ├── 13938  

5. │   ├── 13939  

6. │   └── 13940  

7. ├── global  

8. ├── pg_commit_ts  

9. ├── pg_csnlog  

10. ├── pg_dynshmem  

11. ├── pg_log  

12. ├── pg_logical  

13. │   ├── mappings  

14. │   └── snapshots  

15. ├── pg_logindex  

16. ├── pg_multixact  

17. │   ├── members  

18. │   └── offsets  

19. ├── pg_notify  

20. ├── pg_replslot  

21. ├── pg_serial  

22. ├── pg_snapshots  

23. ├── pg_stat  

24. ├── pg_stat_tmp  

25. ├── pg_subtrans  

26. ├── pg_tblspc  

27. ├── pg_xact  

28. ├── polar_cache_trash  

29. ├── polar_fullpage  

30. └── polar_rel_size_cache  

 

本地存储目录中,大多都是通过initdb命令生成的文件或目录。随着数据库服务运行,这里会生成更多的本地文件,如临时文件、缓存文件、配置文件、日志文件。

 

由于本地存储目录中的文件不涉及核心数据,因此在做备份时本地存储目录是可选的。您可以仅备份共享存储上的数据目录,然后用initdb重新生成一份新的本地存储目录。但是需要记住之前的本地配置信息,如postgresql.conf,pg_hba.conf等。

 

提示

 

如果您不能记住历史配置,或者您需要保留历史日志,建议您将本地存储目录也进行备份。可以将这个目录完全复制后修改配置文件来搭建RO或者Standby。

 

共享存储目录

 

1. postgres=# show polar_datadir;  

2.     polar_datadir  

3. -----------------------  

4. /nvme0n1/shared_data/  

5. (1 row)  

 

 

1.

2. .  

3. ├── base  

4. │   ├── 1  

5. │   ├── 16555  

6. │   ├── 16556  

7. │   ├── 16557  

8. │   └── 16558  

9. ├── global  

10. ├── pg_commit_ts  

11. ├── pg_csnlog  

12. ├── pg_logindex  

13. ├── pg_multixact  

14. │   ├── members  

15. │   └── offsets  

16. ├── pg_replslot  

17. ├── pg_tblspc  

18. ├── pg_twophase  

19. ├── pg_wal  

20. │   └── archive_status  

21. ├── pg_xact  

22. ├── polar_dma  

23. │   ├── consensus_cc_log  

24. │   └── consensus_log  

25. ├── polar_flog  

26. ├── polar_flog_index  

27. ├── polar_fraindex  

28. │   ├── fbpoint  

29. │   └── pg_xact  

30. └── polar_fullpage  

 

共享存储目录中存放PolarDB的核心数据文件,如表文件、索引文件、WAL日志、DMA、LogIndex、Flashback等。这些文件被一个RW节点和多个RO节点共享,因此是必须备份的。您可以使用copy命令、存储快照、网络传输等方式进行备份。如果您没有更好的选择,推荐使用polar_basebackup命令。

 

polar_basebackup备份工具

 

下面介绍一下PolarDB的备份工具polar_basebackup,它由pg_basebackup

改造而来,且完全兼容pg_baseabckup,也就是说它同样可以用于对PostgreSQL做备份恢复。polar_basebackup在PolarDB二进制安装目录下的bin/目录中,您可以配置export环境变量来直接使用它。

1.

2. polar_basebackup takes a base backup of a running PostgreSQL server.  

3.  

4. Usage:  

5.  polar_basebackup [OPTION]...  

6.  

7. Options controlling the output:  

8.  -D, --pgdata=DIRECTORY receive base backup into directory  

9.  -F, --format=p|t       output format (plain (default), tar)  

10.  -r, --max-rate=RATE    maximum transfer rate to transfer data directory  

11.                         (in kB/s, or use suffix "k" or "M")  

12.  -R, --write-recovery-conf  

13.                         write recovery.conf for replication  

14.  -T, --tablespace-mapping=OLDDIR=NEWDIR  

15.                         relocate tablespace in OLDDIR to NEWDIR  

16.      --waldir=WALDIR    location for the write-ahead log directory  

17.  -X, --wal-method=none|fetch|stream  

18.                         include required WAL files with specified method  

19.  -z, --gzip             compress tar output  

20.  -Z, --compress=0-9     compress tar output with given compression level  

21.  

22. General options:  

23.  -c, --checkpoint=fast|spread  

24.                         set fast or spread checkpointing  

25.  -C, --create-slot      create replication slot  

26.  -l, --label=LABEL      set backup label  

27.  -n, --no-clean         do not clean up after errors  

28.  -N, --no-sync          do not wait for changes to be written safely to disk  

29.  -P, --progress         show progress information  

30.  -S, --slot=SLOTNAME    replication slot to use  

31.  -v, --verbose          output verbose messages  

32.  -V, --version          output version information, then exit  

33.      --no-slot          prevent creation of temporary replication slot  

34.      --no-verify-checksums  

35.                         do not verify checksums  

36.  -?, --help             show this help, then exit  

37.  

38. Connection options:  

39.  -d, --dbname=CONNSTR   connection string  

40.  -h, --host=HOSTNAME    database server host or socket directory  

41.  -p, --port=PORT        database server port number  

42.  -s, --status-interval=INTERVAL  

43.                         time between status packets sent to server (in seconds)  

44.  -U, --username=NAME    connect as specified database user  

45.  -w, --no-password      never prompt for password  

46.  -W, --password         force password prompt (should happen automatically)  

47.      --polardata=datadir  receive polar data backup into directory  

48.      --polar_disk_home=disk_home  polar_disk_home for polar data backup  

49.      --polar_host_id=host_id  polar_host_id for polar data backup  

50.      --polar_storage_cluster_name=cluster_name  polar_storage_cluster_name for polar data backup  

 

可以看到polar_basebackup的大部分参数及用法都和pg_basebackup

一致,只是多了以下几个参数,下面重点来介绍一下:

 

polardata:如果您备份的实例是PolarDB共享存储架构,这个参数用于指定PolarDB共享存储目录的位置。如果您不指定,将会使用默认目录polar_shared_data,并且放在本地存储目录(即-D/--pgdata所指定的参数)下面。如果您对PostgreSQL备份则无需关心他。

 

polar_disk_home:如果您备份的实例是PolarDB共享存储架构,且您希望将共享存储目录通过PFS写入共享存储设备,则需要指定这个参数,它是PFS的使用参数。

 

polar_host_id:如果您备份的实例是PolarDB共享存储架构,且您希望将共享存储目录通过PFS写入共享存储设备,则需要指定这个参数,它是PFS的使用参数。

 

polar_storage_cluster_name:如果您备份的实例是PolarDB共享存储架构,且您希望将共享存储目录通过PFS写入共享存储设备,则需要指定这个参数,它是PFS的使用参数。

接下篇:https://developer.aliyun.com/article/1223083?groupCode=polardbforpg

相关文章
|
8月前
|
存储 人工智能 运维
日志服务&云监控全新发布,共筑企业智能运维新范式
阿里云推出Operation Intelligence新范式,通过日志服务SLS与云监控2.0,实现从感知、认知到行动闭环,推动运维迈向自决策时代。
633 1
日志服务&云监控全新发布,共筑企业智能运维新范式
|
8月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
9月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
8月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
8月前
|
运维 Prometheus 监控
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
339 8
|
9月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
781 11
|
9月前
|
存储 人工智能 运维
从“看得见”到“能决策”:Operation Intelligence 重构企业智能运维新范式
从 Observability 到 Operation Intelligence,日志服务 SLS 与云监控 2.0 协力之下,为企业打造高效、稳定、智能运营的数字化中枢,让复杂系统变得可视、可管、可优。
|
9月前
|
运维 Linux 网络安全
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
285 4
|
9月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
1604 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解

热门文章

最新文章