本文主要是介绍SMR硬盘 Linux 环境下ext4的优化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
研究了几天SMR,总结一下。
- SMR是特殊的硬盘,一般不应该用于频繁多写的状态,家里用作仓库是不错的。你可以把SMR硬盘看作有几个快速小磁带机组成的硬盘设备。里面每一个strip就代表一个小磁带机,这个strip只能顺序读写。所以,SMR硬盘和传统意义上的硬盘内部存储原理不太一致,不是原始意义上的随机读写设备。
- SMR硬盘分区和碎片这里都不提倡,因为SMR内部会腾挪数据,可能会把你没有用过空白分区用来腾挪数据。有丢失数据的风险。SMR硬盘没必要碎片整理,因为你实际上无法知道内部的实际的保存情况,尤其DM SMR的情况下。
- SMR硬盘最好的方式是Host Managed SMR (HM-SMR),但需要特殊设计或者优化的文件系统,比如华为的存储设备 (为什么市场少见支持SMR硬盘的企业存储?请听我说 )。
- SMR 对 Linux EXT4的优化,可以参见权威论文:
Evolving Ext4 for Shingled Disks Evolving Ext4 for Shingled Disks | USENIX - DM-SMR 的EXT4 优化 lwn.net Evolving ext4 for SMR drives
- lazy-ext4补丁:https://github.com/tytso/ext4-patch-queue/blob/master/add-ext4-journal-lazy-mount-option
- 截至目前(2019-12),木有看到所谓SMR-lazy模式的EXT4补丁。
- 目前的SMR -ext4 优化,要开启TRIM,然后设置strip striped-width 。具体查找优化链接。先这么顶一阵。具体还是等适合HM-SMR的文件系统出来再说。
2020-09-28补充,
SMR硬盘还是需要特别的文件系统,Linux下比较好的是 F2FS。如果保存NAS,可以用SMR + F2FS 保存。
SMR F2FS介绍 时至今日(2019下半年),SMR硬盘的体验有所改善了吗? - 知乎 备注2 和 评论1
F2FS介绍 F2FS技术拆解_内核工匠的博客-CSDN博客_f2fs
2022-07-20 补充:
其实对于DM-SMR硬盘,可以模拟视为一台RAID,我们针对RAID优化,而不是针对RAID的硬盘优化。所以DM-SMR的文件系统优化等同于 RAID优化。对于ext4就是如下链接:
ext4 with SSD, stripes and strides.
stride = Page size / Filesystem block
stripe-width = Erase Block / Filesystem block
Calculating filesystem stride_size and stripe_width for best performance under RAID
stripe/stripe-width
也就是说,stride-width,等于缓冲区大小。
这篇关于SMR硬盘 Linux 环境下ext4的优化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!