千家信息网

怎么利用Trim/discard挂载rbd块设备

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,今天就跟大家聊聊有关怎么利用Trim/discard挂载rbd块设备,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 如果不利用discar
千家信息网最后更新 2025年01月31日怎么利用Trim/discard挂载rbd块设备

今天就跟大家聊聊有关怎么利用Trim/discard挂载rbd块设备,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1. 如果不利用discard选项挂载rbd块设备,会有如下问题

$ rbd create rbd/myrbd --size=20480$ mkfs.xfs /dev/rbd0$ rbd diff rbd/myrbd | awk '{ SUM += $2 } END { print SUM/1024/1024 " MB" }'14.4062 MB$ mount /dev/rbd0 /mnt/myrbd$ dd if=/dev/zero of=/mnt/myrbd/testfile bs=1M count=1024$ rbd diff rbd/myrbd | awk '{ SUM += $2 } END { print SUM/1024/1024 " MB" }'1038.41 MB$ rm /mnt/myrbd/testfile$ rbd diff rbd/myrbd | awk '{ SUM += $2 } END { print SUM/1024/1024 " MB" }'1038.41 MB

你会发现,rbd pool并没有变小。之前好像做过类似的测试,需要重启一下ceph或系统才能反映出改变,记不清了。

2. 利用discard选项挂载rbd块设备

mount -o discard /dev/rbd0 /mnt/myrbd重复上述操作,再执行以下操作:$ fstrim /mnt/myrbd$ rbd diff rbd/myrbd | awk '{ SUM += $2 } END { print SUM/1024/1024 " MB" }'10.6406 MB

这样就恢复正常了。

两种不同挂载方式的性能测试如下:

1. 未使用discard选项

$ mount /dev/rbd0 /mnt/rbd0$ mkdir testdir; cd testdir$ dd if=/dev/zero of=mainfile bs=1M count=200$ split -b 4048 -a 7 mainfile; sync               # 4k file / ~51k files$ cd ..$ time rm -rf testdir; time sync[root@mon0 nfs]# time rm -rf testdir/; time syncreal    0m21.866suser    0m0.155ssys     0m5.466sreal    0m0.897suser    0m0.001ssys     0m0.011s

2. 使用discard选项

只给出时间[root@mon0 nfs]# time rm -rf testdir; time syncreal    0m8.791suser    0m0.100ssys     0m2.858sreal    0m2.367suser    0m0.001ssys     0m0.001s

性能有明显提升,作者的原话是:

在大量使用文件系统的情况下,对于许多小文件,使用fstrim可能更有利,例如每天一次。

看完上述内容,你们对怎么利用Trim/discard挂载rbd块设备有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0