一、变更内容
变更背景: 逻辑复制异常导致数据丢失,需重建表后全量同步数据
变更环境:PRD
影响范围:智能点餐屏
变更类型:低风险
涉及系统等级:A级
变更负责人:xxx
变更复核人:xxx
变更内容:PG服务器关闭透明大页,开启PG系统大页
变更验收标准:
二、变更文档
前置工作
主库172.25.235.49
#
# 检查透明大页
cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled
# 检查系统大页
grep HugePages /proc/meminfo
透明大页
PG的大页
备库172.25.235.50
[root@KSSYYVI01352 temp]# ssh 172.25.235.50
Last login: Tue Jun 17 15:17:21 2025 from 172.25.162.57
Welcome to YumChina Linux System. Version: CentOS7 Jul/2021
[root@KSSYYV153648 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
[root@KSSYYV153648 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@KSSYYV153648 ~]#
[postgres@KSSYYV153648:/data/postgres/pgdata]$psql -h 127.0.0.7 -p 1921
psql (11.16)
Type "help" for help.
postgres=# show huge_pages;
huge_pages
------------
try
(1 row)
postgres=#
[postgres@KSSYYV153648:/data/postgres/pgdata]$grep HugePages /proc/meminfo
AnonHugePages: 2048 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
监控地址
详细操作WBS
-
clup中关闭PG的HA
略
-
备库172.25.235.50上关闭透明大页
#
vi /etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
#
chmod +x /etc/rc.d/rc.local
#
3. ## 备库上PG大页参数调整
# 开启hugepage参数
vi postgresql.conf
huge_pages = on
4. ## 备库上系统大页开启
# 配置标准大页,比shard_buffers 大一点点即可
grubby --update-kernel=ALL --args="default_hugepagesz=1G hugepagesz=1G hugepages=9"
5. ## 重启备库服务器
略
-
启动PG服务
略
-
观察PG集群状态
略
-
主从切换
略
-
旧主库上关闭透明大页
略
-
旧主库上PG大页参数调整
略
-
旧主库上系统大页开启
略
-
重启旧主库服务器
略
-
拉起PG服务
略
-
观察PG集群
略
预案手册
灰度方案
回退方案
三、变更记录
变更执行记录
双岗复核记录
验证记录
问题点
切换主备失败
原因:
50(备库)上的postgres用户的环境变量问题,$PGHOST参数问题导致。