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 --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 --update-kernel=ALL --args="elevator=deadline"
grubby --info=ALL