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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 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://developer.aliyun.com/article/1223083?groupCode=polardbforpg

相关实践学习
函数计算X RDS PostgreSQL,基于LLM大语言模型构建AI知识库
基于ChatGLM6B 大语言模型构建AI知识库问答应用。答疑群17125058181
相关文章
|
3天前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
20 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
3天前
|
存储 弹性计算 运维
云端问道 7 期实践教学-使用操作系统智能助手 OS Copilot 轻松运维与编程
使用操作系统智能助手 OS Copilot 轻松运维与编程
27 14
|
11天前
|
存储 JSON 缓存
【网络原理】——HTTP请求头中的属性
HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。
|
11天前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
5天前
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
24 0
|
3月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
70 4
|
3天前
|
人工智能 运维 监控
AI辅助的运维流程自动化:实现智能化管理的新篇章
AI辅助的运维流程自动化:实现智能化管理的新篇章
40 22
|
2月前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
97 1
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####

热门文章

最新文章