在本书的前几章,您已经学习了各种复制以及如何配额制各种类型的场景。现在是时候通过增加监控来让您的设置更加可靠了。

在本章中,您将学习监控什么以及如恶化实施合理的监控车辆。您将学习:

• 检查您的 XLOG 归档

• 检查 pg_stat_replication 系统视图

• 检查操作系统级别复制相关的进程

在本章的最后您应该能够正确地监控任何类型的复制设置。

6.1 检查您的归档

如果您计划使用即时恢复(PITR, Point-In-Time-Recovery)或如果您想使用XLOG归档来帮助您的流设置,各种事情都可能出错,例如:

• 传送XLOG 可能失败

• 清理存档可能失败

6.1.1 检查archive_command

一个失败的 archive_command 可能是您的设置中的最大的搅局者之一。

archive_command 的思想是传送 XLOG到一些归档并在那里存储数据。但是,如果由于某些原因这些XLOG不能被传送会发生什么?

答案很简单:master必须保持这些XLOG文件,以确保没有XLOG文件丢失。必须始终有一个不间断的XLOG文件的序列-如果序列文件中有一个文件丢失,您的slave将不能被恢复。例如,如果您的网络发生故障,master将积累这些文件并保留它们。从逻辑上讲,不能永远这样做,因此,在有些时候,您将面临您的master服务器磁盘空间不足的问题。

这是很危险的,因为您正在用尽您的磁盘空间,没有办法保持写入到数据库。尽管读取仍然是可能的,大多数的写肯定会亏失败,并会严重干扰您的系统。PostgreSQL不会失败,在一个磁盘被填满之后您的实例将完好无损,但是,正如之前所说的,您的服务将被中断。

为了防止这种事情 发生,建议监控您的pg_xlog目录并检查:

• 异常地高数量的XLOG文件

• 托管pg_xlog分区的可用磁盘空间

这里的核心问题是:检查出来的什么数字才是一个合理的数字?在PostgreSQL的标准配额制中不应该使用超过checkpoint_segments * 2 + wal_keep_segments这么多的XLOG文件。如果XLOG文件数开始大规模地增长,您会遇到一些奇怪的问题。

确保archive_command正常工作。

如果您正确地执行这些检查,在这方面不会发生不好的事情-如果您无法检查这些参数,您离危险就不远了。

6.1.2 监控事物日志归档

磁盘空间耗尽不只会发生在master上。同样的事情也会发生在您的归档上。所以,建议您也监控磁盘空间。

除了无论如何都要监控的磁盘空间,有一件事情您应该注意您的雷达。您必须拿出一个像样的策略来处理基础备份。请记住,只允许您删除比您想保存的最早的基础备份的XLOG还要早的XLOG。这个小东西会破坏您的磁盘空间监控。为什么呢?因为您必须保持一定量的数据,知道您正在耗尽磁盘空间是一件好事,但是就不能为之做点什么吗?强烈建议您确保您的归档有足够的备用容量。万一您的数据库系统需要写大量的事务日志,这是很重要的。

PostgreSQL Replication之第六章 监控您的设置(1)的更多相关文章

  1. PostgreSQL Replication之第六章 监控您的设置(4)

    6.4 处理监控工具 还有几个监控工具可以使您的日常生活更轻松. 其中最流行的监控工具是Nagios.它被广泛地使用,也支持各种软件组件. 要使用 Nagios 来监控您的 PostgreSQL 集群 ...

  2. PostgreSQL Replication之第六章 监控您的设置(2)

    6.2 检查pg_stat_replication 检查归档以及 archive_command主要用于即时恢复( PITR,Point-In-Time- Recovery).如果您想监控一个基于流的 ...

  3. PostgreSQL Replication之第六章 监控您的设置(3)

    6.3 检查操作系统进程 一旦我们检查了归档以及我们的系统视图,我们就准备检查系统 进程.检查系统进程可能看起来有点粗糙,但它被证明非常有效. 在master上,我们可以简单地检查一个名为wal_se ...

  4. PostgreSQL Replication之第四章 设置异步复制(1)

    执行完您的第一个即时恢复(PITR,Point-In-Time-Recovery),我们准备在一个真正的复制设置上工作.在本章,您将学会如何设置异步复制和流.我们的目标是确保您可以实现更高的高可用和更 ...

  5. PostgreSQL Replication之第十三章 使用PL/Proxy扩展(3)

    13.3 聪明地扩展与处理集群 建立集群不是您面临的唯一任务.如果所有的事情都做完了并且系统已经运行了,您可能需要到处调整配置. 13.3.1 添加和移动分区 一旦一个集群启动并运行,您可能会发现您的 ...

  6. PostgreSQL Replication之第五章 设置同步复制(3)

    5.3 冗余和停止复制 谈到同步复制,有一个现象一定不能被遗漏.想象一下,我们有一个同步复制的双节点集群.如果slave故障会发生什么?答案是master不能容易地区分慢slave和故障slave,因 ...

  7. PostgreSQL Replication之第四章 设置异步复制(4)

    4.4 基于流和基于文件的恢复 生活并不总只是黑色或白色:有时也会有一些灰色色调.对于某些情况下,流复制可能恰到好处.在另一些情况下,基于文件复制和PITR是您所需要的.但是也有许多情况下,您既需要流 ...

  8. PostgreSQL Replication之第四章 设置异步复制(2)

    4.2 配置级联复制 正如您在本章已经看到的,设置流复制真的很容易.只需要设置几个参数,做一个基础备份,并享受您的复制设置. 在许多情况下,这种情况更有一点点微妙.在这个例子中我们假设:我们要使用一个 ...

  9. PostgreSQL Replication之第三章 理解即时恢复(4)

    3.4 重放事务日志 一旦我们创建了一个我们自己的初始基础备份,我们可以收集数据库创建的XLOG.当时间到时,我们可以使用所有这些XLOG 文件并执行我们所期望的恢复进程.这就像本节描述的一样工作. ...

随机推荐

  1. CoreData的介绍和使用

    一.CoreData是什么? CoreData是iOS SDK里的一个很强大的框架,允许程序员以面向对象的方式存储和管理数据.使用CoreData框架,程序员可以轻松有效地通过面向对象的接口管理数据 ...

  2. ThinkPHP5.0框架开发--第10章 TP5.0验证器

    ThinkPHP5.0框架开发--第10章 TP5.0验证器 第10章 TP5.0验证器 ======================================= 今日学习 1.验证器 1) 控 ...

  3. PFILE和SPFILE介绍

    一.PFILE Pfile(Parameter File,参数文件)是基于文本格式的参数文件,含有数据库的配置参数. 1.PFILE - initSID.ora(默认PFILE名称),位置在$ORAC ...

  4. java中return在Try-Catch中的执行顺序

    我们知道return会结束此方法并返回指定值.以及在Try-catch-finally中无论try代码块中有没有异常finally中的代码时都会被执行的.但是如果return包含在try-catch- ...

  5. word2tex之类的问题

    首先就是这个word2tex一般是在word和tex文本互相转换的时候用的. 以前win7下用的chikrii忘了使用方法.. 之后再win10下用的excel2tex,但是转换时候总感觉不如word ...

  6. MyBatis数据持久化(七)多表连接查询

    本节继续以多表连接查询的案例介绍使用resultMap的好处,对于两张以上的表进行关联查询,当我们有选择的从不同表查询所需字段时,使用resultMap是相当方便的.例如我们有两张表,分别为用户表Us ...

  7. Devexpress控件使用一:GridControl

    1.控件及列表展示 1).控件 2).构建表格,用于列表展示 3).gridControl绑定数据 4).调用绑定:BindDataSource(InitDt()); 5).展示列表 2.表格的列配置 ...

  8. Java事件处理机制1

    实现一个小程序,怎样通过点击不同的按钮,让面板的背景色发生相应的变化,如图: public class Demo2 extends JFrame implements ActionListener{ ...

  9. MySQL用户添加和分配权限

    mysql数据库insertdelete服务器file mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口 ...

  10. tinymce原装插件源码分析(二)-link

    link 功能描述如下: 单纯放置光标: 1.如果光标放到了<a>上,读取a标签的内容,并弹框显示,确定的时候,更新当前a标签. 2.否则,就创建弹框,确定的时候,按照参数添加a标签. s ...