PostgreSQL Replication之第六章 监控您的设置(1)
在本书的前几章,您已经学习了各种复制以及如何配额制各种类型的场景。现在是时候通过增加监控来让您的设置更加可靠了。
在本章中,您将学习监控什么以及如恶化实施合理的监控车辆。您将学习:
• 检查您的 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)的更多相关文章
- PostgreSQL Replication之第六章 监控您的设置(4)
6.4 处理监控工具 还有几个监控工具可以使您的日常生活更轻松. 其中最流行的监控工具是Nagios.它被广泛地使用,也支持各种软件组件. 要使用 Nagios 来监控您的 PostgreSQL 集群 ...
- PostgreSQL Replication之第六章 监控您的设置(2)
6.2 检查pg_stat_replication 检查归档以及 archive_command主要用于即时恢复( PITR,Point-In-Time- Recovery).如果您想监控一个基于流的 ...
- PostgreSQL Replication之第六章 监控您的设置(3)
6.3 检查操作系统进程 一旦我们检查了归档以及我们的系统视图,我们就准备检查系统 进程.检查系统进程可能看起来有点粗糙,但它被证明非常有效. 在master上,我们可以简单地检查一个名为wal_se ...
- PostgreSQL Replication之第四章 设置异步复制(1)
执行完您的第一个即时恢复(PITR,Point-In-Time-Recovery),我们准备在一个真正的复制设置上工作.在本章,您将学会如何设置异步复制和流.我们的目标是确保您可以实现更高的高可用和更 ...
- PostgreSQL Replication之第十三章 使用PL/Proxy扩展(3)
13.3 聪明地扩展与处理集群 建立集群不是您面临的唯一任务.如果所有的事情都做完了并且系统已经运行了,您可能需要到处调整配置. 13.3.1 添加和移动分区 一旦一个集群启动并运行,您可能会发现您的 ...
- PostgreSQL Replication之第五章 设置同步复制(3)
5.3 冗余和停止复制 谈到同步复制,有一个现象一定不能被遗漏.想象一下,我们有一个同步复制的双节点集群.如果slave故障会发生什么?答案是master不能容易地区分慢slave和故障slave,因 ...
- PostgreSQL Replication之第四章 设置异步复制(4)
4.4 基于流和基于文件的恢复 生活并不总只是黑色或白色:有时也会有一些灰色色调.对于某些情况下,流复制可能恰到好处.在另一些情况下,基于文件复制和PITR是您所需要的.但是也有许多情况下,您既需要流 ...
- PostgreSQL Replication之第四章 设置异步复制(2)
4.2 配置级联复制 正如您在本章已经看到的,设置流复制真的很容易.只需要设置几个参数,做一个基础备份,并享受您的复制设置. 在许多情况下,这种情况更有一点点微妙.在这个例子中我们假设:我们要使用一个 ...
- PostgreSQL Replication之第三章 理解即时恢复(4)
3.4 重放事务日志 一旦我们创建了一个我们自己的初始基础备份,我们可以收集数据库创建的XLOG.当时间到时,我们可以使用所有这些XLOG 文件并执行我们所期望的恢复进程.这就像本节描述的一样工作. ...
随机推荐
- CoreData的介绍和使用
一.CoreData是什么? CoreData是iOS SDK里的一个很强大的框架,允许程序员以面向对象的方式存储和管理数据.使用CoreData框架,程序员可以轻松有效地通过面向对象的接口管理数据 ...
- ThinkPHP5.0框架开发--第10章 TP5.0验证器
ThinkPHP5.0框架开发--第10章 TP5.0验证器 第10章 TP5.0验证器 ======================================= 今日学习 1.验证器 1) 控 ...
- PFILE和SPFILE介绍
一.PFILE Pfile(Parameter File,参数文件)是基于文本格式的参数文件,含有数据库的配置参数. 1.PFILE - initSID.ora(默认PFILE名称),位置在$ORAC ...
- java中return在Try-Catch中的执行顺序
我们知道return会结束此方法并返回指定值.以及在Try-catch-finally中无论try代码块中有没有异常finally中的代码时都会被执行的.但是如果return包含在try-catch- ...
- word2tex之类的问题
首先就是这个word2tex一般是在word和tex文本互相转换的时候用的. 以前win7下用的chikrii忘了使用方法.. 之后再win10下用的excel2tex,但是转换时候总感觉不如word ...
- MyBatis数据持久化(七)多表连接查询
本节继续以多表连接查询的案例介绍使用resultMap的好处,对于两张以上的表进行关联查询,当我们有选择的从不同表查询所需字段时,使用resultMap是相当方便的.例如我们有两张表,分别为用户表Us ...
- Devexpress控件使用一:GridControl
1.控件及列表展示 1).控件 2).构建表格,用于列表展示 3).gridControl绑定数据 4).调用绑定:BindDataSource(InitDt()); 5).展示列表 2.表格的列配置 ...
- Java事件处理机制1
实现一个小程序,怎样通过点击不同的按钮,让面板的背景色发生相应的变化,如图: public class Demo2 extends JFrame implements ActionListener{ ...
- MySQL用户添加和分配权限
mysql数据库insertdelete服务器file mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口 ...
- tinymce原装插件源码分析(二)-link
link 功能描述如下: 单纯放置光标: 1.如果光标放到了<a>上,读取a标签的内容,并弹框显示,确定的时候,更新当前a标签. 2.否则,就创建弹框,确定的时候,按照参数添加a标签. s ...