Curve 测试环境配置信息

Curve 当前测试的性能,如果没有特别说明,都是在基于以下配置的机器上测试的。该配置仅仅表示curve当前性能数据的测试环境,由于部分硬件版本比较旧,该环境的硬件不作为推荐硬件型号,但是对硬件的配置部分可做参考。

集群topo

curvebs 块存储测试集群规模

mds和chunkserver服务混合部署。

mds : 3台机器

chunkserver : 9台机器 * 20块盘/每台机器

机器选型

计算/存储节点机型
Dell Inc. PowerEdge R730xd
Inspur NF5280M4

mds 节点

模块版本配置
机型Dell PowerEdge R730xd
osdebain9
内核4.9.65
cpu设置performance,开启cpu性能最大化
网卡Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer2+3 (2) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 200 Down Delay (ms): 200万M网卡双网口组bond
系统盘1.2T2 SAS (RAID1模式) 初始化之后进行拷盘测试,提前发现并剔除坏盘、慢盘等异常
数据盘1.8T2 SSD (不需要RAID) 初始化之后进行拷盘测试,提前发现并剔除坏盘、慢盘等异常

chunkserver 节点

模块版本配置
机型inspur NF5280M4
osdebian9
内核4.9.65
cpu设置performance,开启cpu性能最大化
megaraid_sas06.811.02.00-rc4
数据盘raid卡配置1.RAID FW 版本:24.21.0-0061 2.RAID卡驱动版本:06.811.02.00-rc41. 配置为JBOD模式 2. RAID 卡关闭 consistent check 3.RAID卡缓存策略:WriteThrough
数据盘磁盘数据盘类型:1.8TB 20 Intel S45001.数据盘关闭磁盘缓存 2.磁盘调度策略,SSD盘noop,HDD盘deadline // 初始化之后进行拷盘测试,提前发现并剔除坏盘、慢盘等异常 3、 sudo tune2fs -m 0 /dev/sda8 释放文件系统预留的5%空间 4、如果至少两个raid卡,每个raid卡上数据盘尽量均衡
网卡bond配置( Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer2+3 (2) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 200 Down Delay (ms): 200 )万M网卡双网口组bond
系统盘1.2T2 SASRAID1模式
fd数量1.系统允许的最大fd数量至少为10000000 2.单个进程允许的最大fd数量不低于250000
mmap地址数量每一个bthread都需要使用mmap分配stack,mmap数量操作系统是有限制的,建议修改/proc/sys/vm/max_map_count 至少为5642720。

一些相关的命令

raid卡查询命令

  1. RAID FW 版本 查询命令:sudo /usr/sbin/megacli -AdpAllInfo -aALL | grep "FW Package Build"
  2. RAID 卡关闭 consistent check 查询命令:sudo /usr/sbin/megacli -AdpCcSched -info -a0
  3. RAID卡缓存策略查询命令:sudo megacli -LDGetProp -Cache -LALL -a0
  4. RAID卡驱动版本查询命令:sudo modinfo megaraid_sas

磁盘相关命令

  1. 关闭磁盘缓存命令:sudo /sbin/hdparm -W 0 /dev/sdh
  2. 磁盘缓存是否关闭,查询命令:sudo /sbin/hdparm -W /dev/sdh
  3. 磁盘调度策略,查询命令:cat /sys/block/sdxxx/queue/schedule
  4. 释放文件系统预留空空间命令:sudo tune2fs -m 0 /dev/sda8

修改单个进程的允许的最大fs数量

  1. 查询系统允许的最大fd数量:cat /proc/sys/fs/file-max
  2. 查询单个进程允许的最大fd数量:ulimit -n
  3. 修改单个进程允许的最大fd数量:
  1. 修改/etc/sysctl.conf配置,然后执行sysctl -p 生效。
  2. echo "fs.nr_open = 2500000" >> /etc/sysctl.conf
  3. echo "fs.file-max = 40000000" >> /etc/sysctl.conf