SSD固态硬盘文件系统选择与性能优化

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

想要和作者刘爱贵博士还有全世界的大牛讨论SSD及存储相关技术?加nanoarch为微信好友,拉你进ssdfans微信群

 

 

作者简介:

刘爱贵

中科院博士,大道云行创始人,当前专注于Server SAN领域。GlusterFS技术专家,长期从事存储领域研发工作,分式存储资深理论研究与实践者。 Email: Aigui.Liu@gmail.com QQ:9187434 微博: http://weibo.com/liuag 微信:aigui_liu

 


 

这篇博客是2010年写的,有问题请留言或者在ssdfans微信群讨论。

 

最近由于工作需要,对ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs, nilfs2, logfs多种文件系统在SSD固态硬盘上的性能进行了全面的测试评估与分析,为实际应用选择SSD文件系统提供参考,并给出性能优化建议。测试中使用的Benchmark包括postmark, randomio, bonnie++, iozone, filebench,以及dd, 编译内核, 创建/删除海量文件目录等等。

 

1SSD文件系统选择

 

EXT4Reiserfs在性能方面表现较优,其中EXT4数据吞吐量突出,ReiserfsIOPS(元数据操作)方面较优。

 

BtrfsNilfs2在性能方面表现稍差,但两者均是日志结构(log-structure)Btrfs更是具有COW/WAFL特性,并对针对SSD进行了优化。因此,有利于SSD的损耗均衡,延长使用寿命。

 

对于频繁小文件应用,建议选择Reiserfs, ext4,  btrfs;对于大文件应用,建议选择ext4,btrfs;如果SSD寿命优化性能,则建议选择Btrfs,  nilfs2。至于生产系统选择哪个文件系统,请结合线上实际测试参考。

 
 

2、关于logfs文件系统

 

logfs也是一种日志结构文件系统,而且可以直接工作与SSD,这与JFFS/YAFFS不同。但是,测试结果表明,logfs目前非常不成熟,仍不稳定,未达到实际应用标准,诸如内核编译、大量文件目录创建/删除、postmarkbenchmark均未能通过测试。由于SSD故障,randomio,  bonnie++, iozone, filebench未完成。因此,不建议当前阶段实际应用。

 
 

3SSD性能特点

 

SSD数据寻址时间很小,甚至可以忽略不计,顺序与随机IO性能相差不大。SASSATA磁盘随机IO性能要小于顺序IO很多。

SSD读性能要优于写性能,这是由于写前擦除、擦除块边界对齐、损耗均衡等原因所致。

SSD目录创建/删除操作性能与SAS/SATA相差不大,这与VFS和具体文件系统元数据组织与操作规则相关。

 
 

4SSD文件系统优化

 

1Cache

如果SSD带有DRAM缓存,请打开cache

2readahead

打开块驱动程序预读功能,预读扇区数建议256。(参考EXT3文件系统优化)

3I/O scheduler

SSD数据寻址时间非常小,甚至可以忽略不计,不需要对IO请求进行插入和排序。因此,noop是最理想的调度算法。

4journal

如果文件系统支持关闭journal,则关闭;否则,如果支持data=writeback,则在mount时指定。

5)文件系统参数

请参考Ext3文件系统优化,通常保持defaults,特殊情况请参考mkfs参数。

6mount参数

ext3         defaults,async,noatime,nodiratime

ext4         defaults,async,noatime,nodiratime,data=writeback,barrier=0

xfs           defaults,async,noatime,nodiratime,barrier=0

reiser4      defaults,async,noatime,nodiratime

reiserfs     defaults,async,noatime,nodiratime,notail,data=writeback

jfs            defaults,async,noatime,nodiratime

btrfs         defaults,async,noatime,nodiratime,ssd

nilfs2        defaults,async,noatime,nodiratime

logfs         defaults,async,noatime,nodiratime,data=writeback,barrier=0

 

转载自刘爱贵博士的博客:

http://blog.csdn.net/liuaigui/article/details/5630912

分类目录 SSD, 技术文章.
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。