PureFlashv1.9.1版本特性主要有3个:
1. 支持RDMA网络
使用RDMA协议可以大大减少对CPU的消耗,性能提升30%以上。
PureFlash的网络配置分为存储节点间网络(存储后端网)和客户端网络(前端网)。都支持使用RDMA或者TCP。
后端网络设置方法是修改pfs.conf文件,设置里面replicator部分的conn_type为rdma,如下图:
前端网络设置通过修改客户端的pf.conf, 如下图所示:
2. 支持SPDK
PureFlash支持使用SPDK的两个能力:io引擎和无锁队列。
使用SPDK需要在pfs.conf里进行两处修改 IO engine的name修改为spdk。并修改磁盘的名字为SPDK所需要的PCIe 地址:
[engine]
name=spdk
[tray.0]
dev=0000:4c:00.0
在运行pfs程序前需要先使用spdk提供的setup.sh脚本将NVMe盘从内核态接管到用户态。
3. 元数据异步刷盘
从1.9.1版本开始,元数据刷盘改为异步模式。异步模式刷盘不会阻塞前台IO,能避免刷盘导致的用户IO卡顿。这对于混闪的场景效果更明显。通常混闪的场景单盘容量大,同时盘的性能低,这两个因素都会导致刷盘时间变长,此时仍然用同步刷盘就会出现明显卡顿。异步模式很好的解决了这个问题。
4. 支持数据位置节点亲和
节点亲和可以在创建volume时要求把主副本放置到指定的节点上。在超融合环境里,可以指定为VM所在的主机节点。这样可以减少从VM到primary几点的网络开销。特别是对于读IO,能极大提高性能,避免网络带宽限制。
使用方法是在创建volume时指定host_id参数:
# pfcli create_volume -v test_v1 -s 128G --rep 2 --host_id 3
v1.9.1运行镜像
pureflash v1.9.1的容器镜像在: docker.io/pureflash/pureflash:1.9.1-x64.
测试运行方法请参考:PureFlash存储系统介绍与上手指南-CSDN博客