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