ceph squid 19.2 rocky9 安装前优化
## 安装前优化

在安装Ceph集群之前,对系统进行优化可以显著提高集群的性能和稳定性。以下是一些关键的优化措施:
### 内核参数优化
“`bash
# 创建并编辑内核参数配置文件
cat > /etc/sysctl.d/90-ceph.conf << EOF
# 文件系统和I/O优化
fs.aio-max-nr = 1048576
fs.file-max = 6553600
# 进程和内存优化
kernel.pid_max = 4194304
vm.max_map_count = 262144
vm.swappiness = 10
vm.dirty_ratio = 40
vm.dirty_background_ratio = 10
# 网络优化
net.core.rmem_max = 268435456
net.core.wmem_max = 268435456
net.core.rmem_default = 67108864
net.core.wmem_default = 67108864
net.core.optmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
net.ipv4.tcp_max_syn_backlog = 4096
net.core.somaxconn = 4096
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_time = 300
EOF
# 应用内核参数
sysctl -p /etc/sysctl.d/90-ceph.conf
“`
### 文件系统选择与优化
对于OSD节点,推荐使用XFS文件系统,并进行适当优化:
“`bash
# 安装XFS工具
dnf install -y xfsprogs
# 格式化磁盘为XFS(示例,请替换为实际设备)
mkfs.xfs -f -i size=2048 -n size=8192 /dev/sdX
# 挂载选项示例(添加到/etc/fstab)
echo ‘/dev/sdX /var/lib/ceph/osd/ceph-X xfs noatime,nodiratime,logbufs=8,logbsize=256k,delaylog 0 0’ >> /etc/fstab
“`
### 磁盘I/O调度器优化
为SSD和HDD配置不同的I/O调度器:
“`bash
# 为SSD设置none调度器
for DISK in sda sdb; do
if [ -d /sys/block/$DISK/queue/scheduler ]; then
echo “none” > /sys/block/$DISK/queue/scheduler
fi
done
# 为HDD设置deadline调度器
for DISK in sdc sdd; do
if [ -d /sys/block/$DISK/queue/scheduler ]; then
echo “deadline” > /sys/block/$DISK/queue/scheduler
fi
done
# 持久化配置(创建udev规则)
cat > /etc/udev/rules.d/60-ceph-schedulers.rules << EOF
# SSD调度器设置
ACTION==”add|change”, KERNEL==”sd[a-b]”, ATTR{queue/rotational}==”0″, ATTR{queue/scheduler}=”none”
# HDD调度器设置
ACTION==”add|change”, KERNEL==”sd[c-z]”, ATTR{queue/rotational}==”1″, ATTR{queue/scheduler}=”deadline”
EOF
“`
### 资源限制调整
增加系统资源限制,以支持Ceph的高并发操作:
“`bash
# 创建并编辑资源限制配置文件
cat > /etc/security/limits.d/90-ceph.conf << EOF
* soft nofile 1048576
* hard nofile 1048576
* soft nproc 1048576
* hard nproc 1048576
* soft memlock unlimited
* hard memlock unlimited
EOF
“`
### 网络优化
对于生产环境,建议配置网络绑定以提高吞吐量和冗余:
“`bash
# 安装网络工具
dnf install -y network-scripts
# 创建网络绑定配置(示例)
cat > /etc/sysconfig/network-scripts/ifcfg-bond0 << EOF
DEVICE=bond0
TYPE=Bond
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.101
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
BONDING_OPTS=”mode=4 miimon=100 lacp_rate=1″
EOF
cat > /etc/sysconfig/network-scripts/ifcfg-eno1 << EOF
DEVICE=eno1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
EOF
cat > /etc/sysconfig/network-scripts/ifcfg-eno2 << EOF
DEVICE=eno2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
EOF
# 重启网络服务
systemctl restart network
“`
### 禁用透明大页
透明大页可能导致Ceph性能不稳定,建议禁用:
“`bash
# 临时禁用
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
# 永久禁用(添加到/etc/rc.local)
cat >> /etc/rc.local << EOF
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
EOF
chmod +x /etc/rc.local
“`
### NUMA优化(适用于多处理器系统)
对于具有NUMA架构的系统,可以进行以下优化:
“`bash
# 安装numactl工具
dnf install -y numactl
# 检查NUMA配置
numactl –hardware
# 禁用NUMA平衡
echo 0 > /proc/sys/kernel/numa_balancing
# 永久禁用NUMA平衡
echo ‘kernel.numa_balancing = 0’ >> /etc/sysctl.d/90-ceph.conf
sysctl -p /etc/sysctl.d/90-ceph.conf