Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1899109
  • 博文数量: 211
  • 博客积分: 464
  • 博客等级: 下士
  • 技术积分: 3794
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-24 18:25
个人简介

阿弥陀佛

文章分类

全部博文(211)

文章存档

2020年(2)

2019年(3)

2018年(5)

2017年(6)

2016年(10)

2015年(9)

2014年(73)

2013年(90)

2012年(13)

分类: 服务器与存储

2014-11-06 15:29:34

在RAID上创建XFS的时候,mkfs.xfs会自动计算出RAID的stripe unit size 与 stripe width。并对XFS的磁盘格式做优化。XFS在分配块的时候,会以更加细的粒度进行分配。

我同时在一块盘上以及RAID0上做了XFS,发现RAID0上的XFS的性能要好于单块盘的性能,而且用iostat可以发现,每个磁盘的io带宽也都增加了很多。

在md0中,可以设置chunk size,chunksize的大小的选择非常重要,当文件较大时,应该设置较小的chunksize,这样的话,可以将数据均匀的分布到各个磁盘上。当访问md0的I/O为较小的请求时,使用较大的chunksize可以使较多细碎的I/O都集中在某一个磁盘上,避免了性能的浪费。


mdadm设置的RAID5 的chunk size=64KB,在创建xfs 的时候,会根据条带大小和条带宽度来填充XFS里面的参数。如图所示,sunit=chunksize/blocksize=64KB/4KB=16。swidth=2*16=32,因为是两块数据盘。
XFS根据以上信息,每次申请数据,或者inode的元数据,或者申请log的时候,都是以条带大小对齐的来从磁盘上申请空间。这样可以避免不对齐导致的读写操作。
在RAID上,XFS的性能提高了很多,每个盘上的io带宽也提高很多。
阅读(4595) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~