记一次cephfs插件(csi)使用的坑

系统版本

1. k8s集群使用1.17版本
2. ceph集群使用14.2.19版本
3. ceph-csi使用v2.0.1

使用方式

部署了csi插件后,调整configmap配置(csi-config-map-sample.yaml);创建secret(注意指定ceph集群的明文信息),然后部署storageclass,最后创建pvc测试使用

  1. 在ceph集群上压测ceph性能,read达到700M
fio -filename=/home/ceph/pod -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70  -bs=16k -size=5G -numjobs=100 -runtime=60 -group_reporting -name=mytest
  1. 在物理机上压测ceph性能,read达到300M

3.在虚机上压测ceph性能,read达到200M(损耗三分之一)

4.在pod上压测ceph性能,read仅能达到15M。发生了极大的性能损耗

使用静态pvc方式

但是使用静态pvc方式,性能和虚机上测试相近,所以我们定为到csi插件可能存在问题

如何解决此问题

参考文章:
https://github.com/rook/rook/issues/3315
https://github.com/rook/rook/issues/3619

都说 4.17 以前内核的 csi 会用 fuse 的方式使用 ceph fs ,性能不好,升级内核后解决了,并且 storageclass上也说明了挂载的方式mounter: kernel

固我们升级内核版本到4.18,再重新压测,pod性能非常接近虚机性能,解决了csi性能的瓶颈

你可能感兴趣的:(记一次cephfs插件(csi)使用的坑)