PostgreSQL部署前的系统准备

发布于:2025-07-23 ⋅ 阅读:(30) ⋅ 点赞:(0)

PostgreSQL部署前的系统准备

系统设置

安全设置

(1)关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

(2)关闭SELINUX
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
getenforce

设置系统内核参数

cat > /etc/sysctl.conf << EOF
vm.swappiness = 0
vm.overcommit_memory=2
vm.overcommit_ratio=90 
vm.dirty_background_ratio = 10   
vm.dirty_ratio = 20            
EOF

# 使配置生效
sysctl -p

修改系统资源限制

cat > /etc/security/limits.conf << EOF
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
* soft memlock -1
* hard memlock -1
EOF

禁用透明大页

# 查看当前配置
cat /sys/kernel/mm/transparent_hugepage/enabled 
# 临时设置
echo never > /sys/kernel/mm/transparent_hugepage/enabled
 
# grubby 方式永久生效,需要重启生效
grubby --update-kernel=ALL --args="transparent_hugepage=never" 
#重启后使用一下命令检查
grubby --info=ALL

磁盘设置

格式化挂载数据盘

mkfs.xfs /dev/sdc

cat >> /etc/fstab << EOF
/dev/sdc /data xfs discard,noatime 0 0
EOF

设置磁盘预读

/sbin/blockdev --setra 16384 /dev/sdc
/sbin/blockdev --getra /dev/sdc

echo "/sbin/blockdev --setra 16384 /dev/sdc" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

设置IO调度策略

more  /sys/block/sdc/queue/scheduler
echo deadline > /sys/block/sdc/queue/scheduler

# grubby 方式永久生效,需要重启生效
grubby --update-kernel=ALL --args="elevator=deadline"
#重启后使用一下命令检查
grubby --info=ALL

网站公告

今日签到

点亮在社区的每一天
去签到