文档章节

利用Trim/discard挂载rbd块设备

加油2018
 加油2018
发布于 2015/03/11 17:14
字数 398
阅读 2K
收藏 1

精选30+云产品,助力企业轻松上云!>>>

http://cephnotes.ksperis.com/blog/2014/12/18/use-discard-with-krbd-client-since-kernel-3-dot-18/有详细的描述,试验了一下,对于小文件的删除确实有帮助,记录如下。

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

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

In the case of intensive use of the file system, with many small file, it may be more advantageous to use fstrim, for example once a day.

加油2018
粉丝 150
博文 276
码字总数 246145
作品 0
海淀
架构师
私信 提问
加载中
请先登录后再评论。
OpenStack+Ceph存储空间回收

问题描述 在OpenStack云环境的部署中,存储通常具备Thin provision的功能,这项功能实现了存储按需分配的能力。现在有这样一种场景,用户在文件系统中创建了大文件,使用完之后进行了删除。但...

hNicholas
2019/05/15
0
0
ceph-rbd kvm 删除数据后集群空间不释放

环境描述 ceph版本:luminous 12.2.5 OSD三节点,monitor三节点,同时运行在三台物理服务器; KVM宿主机运行多台虚拟机,其中一台挂载ceph-rbd块存储; KVM调用ceph-rbd 1.ceph集群创建存储池...

冰河cloud
2018/06/29
0
0
iscsi、nfs与ceph

一、iscsi设置 服务器端 [1] Install administration tools.[root@dlp ~]# yum -y install scsi-target-utils [2] Configure iSCSI Target . For example, create a disk image under the [/......

加油2018
2014/11/04
1K
0
ceph-rbd kvm 删除数据后集群空间不释放

环境描述 ceph版本:luminous 12.2.5 OSD三节点,monitor三节点,同时运行在三台物理服务器; KVM宿主机运行多台虚拟机,其中一台挂载ceph-rbd块存储; KVM调用ceph-rbd 1.ceph集群创建存储池...

冰河sjm
2018/06/29
0
0
利用ceph-deploy在ubuntu server14.04上部署ceph并进行其它配置

环境与说明 在ubuntu14.04 server上部署ceph-0.87;设置rbdmap自动挂载/卸载rbd块设备;利用带rbd支持的tgt导出iscsi的rbd块。 2. 安装ceph 1)配置hostname与无密码登录 root@mon0:/etc/cep...

加油2018
2014/11/11
4.7K
16

没有更多内容

加载失败,请刷新页面

加载更多

要求jQuery在执行某些操作之前等待所有图像加载的官方方式

问题: In jQuery when you do this: 在jQuery中,当您执行以下操作时: $(function() { alert("DOM is loaded, but images not necessarily all loaded");}); It waits for the DOM t......

法国红酒甜
昨天
11
0
实现Map按值排序

Map按照值排序,需要自定义比较器,实现Comparator接口,实现compare方法。 public class SortByVlue {public static void main(String[] args) {Map<String, Long> map = new HashMap<......

游人未归
昨天
16
0
定天气爬虫加定时发送天气邮件

今天无聊,在家研究个爬虫玩玩 主要用到以下几个库: request 请求资源 iconv-lite转码,有的网站html格式不是utf-8 cheerio类似jq,操作html,获取相关爬虫数据 nodemailer 发送邮件,例如q...

莫西摩西
昨天
14
0
还在为大屏分辨率困扰?图扑提供响应式(自适应)可视化大屏

前言 数据可视化在当下信息时代已经成为炙手可热的话题,而 B/S 化趋势,也使得许多大屏应用上在网页端出现,今天给大家分享一套不一样风格的大屏页面,与传统深蓝色不同,这次采用了暗红色设...

xhload3d
昨天
20
0
如何妙用Spring 数据绑定机制

前言 在剖析完 Spring Boot 返回统一数据格式是怎样实现的?文章之后,一直觉得有必要说明一下 Spring's Data Binding Mechanism 「Spring 数据绑定机制」。 默认情况下,Spring 只知道如何转...

码农小胖哥
2019/12/27
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部