十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
环境zabbix 4.0 + pgpool + postgres 11.0 cluster + Centos 7.5 +Python2.7.5【3.6】
引起故障的原因,PG Master 磁盘空间150G,由于zabbix监控设备众多(约1000个点,模板监控项也较多),导致数据库的归档文件增长速度非常快,通常五分钟左右吃掉一个G的空间。磁盘空间消耗完毕之后,pg&pgpool的服务会停止,进而影响zabbix系统的使用.为了解决这个问题,创建了bash shell 脚本和crontab 任务定时清理归档文件.
创新互联公司主营华坪网站建设的网络公司,主营网站建设方案,重庆APP开发,华坪h5小程序制作搭建,华坪网站营销推广欢迎华坪等地区企业咨询
1. 登录 postgres : docker run -ti postgres /bin/bash【不是docker环境直接跳过此步骤】
2. 切换到 postgres 用户
3. 执行修复命令:/usr/pgsql-11/bin/pg_resetwal -f /var/lib/pgsql/11/data
【根据环境和安装方式的不同,可能文件路径不同,具体可以使用locate或find 命令搜索 pg_resetwal】
【pg_resetxlog -f DATADIR postgres 低于10.0 以下的版本可以使用该命令;-f 强制执行更新】
4. 如果看到“Write-ahead log reset”,表示修复成功。
# systemctl start postgresql-11.service
# systemctl status postgresql-11.service
# systemctl start pgpool-II-11.service
# systemctl status pgpool-II-11.service
# netstat -pltn
此时PG的服务起来了,但是未必数据库可以正常使用,继续使用命令检查
-bash-4.2$ psql
psql: FATAL: xlog flush request 399/FCA1D7D8 is not satisfied --- flushed only to 399/E720DE18
CONTEXT: writing block 2225 of relation base/16385/17835
--此时报的这个错误,可以耐心等待一段时间(约十几分吧),经验而谈pg和pgpool从故障恢复过来都要等一段时间才可正常使用;
-bash-4.2$ psql
psql (11.4)
Type "help" for help.
postgres=#
备注:只需要点击红色箭头所指“返回/断开连接” & "重新加载“”,集群业务即可恢复使用,比命令行管理方便已维护;