系统版本
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测试使用
- 在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
- 在物理机上压测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性能的瓶颈
网友评论