重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天就跟大家聊聊有关怎么利用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 sync real 0m21.866s user 0m0.155s sys 0m5.466s real 0m0.897s user 0m0.001s sys 0m0.011s
2. 使用discard选项
只给出时间 [root@mon0 nfs]# time rm -rf testdir; time sync real 0m8.791s user 0m0.100s sys 0m2.858s real 0m2.367s user 0m0.001s sys 0m0.001s
性能有明显提升,作者的原话是:
在大量使用文件系统的情况下,对于许多小文件,使用fstrim可能更有利,例如每天一次。
看完上述内容,你们对怎么利用Trim/discard挂载rbd块设备有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。