研究了几天SMR,总结一下。

  1. SMR是特殊的硬盘,一般不应该用于频繁多写的状态,家里用作仓库是不错的。你可以把SMR硬盘看作有几个快速小磁带机组成的硬盘设备。里面每一个strip就代表一个小磁带机,这个strip只能顺序读写。所以,SMR硬盘和传统意义上的硬盘内部存储原理不太一致,不是原始意义上的随机读写设备。
  2. SMR硬盘分区和碎片这里都不提倡,因为SMR内部会腾挪数据,可能会把你没有用过空白分区用来腾挪数据。有丢失数据的风险。SMR硬盘没必要碎片整理,因为你实际上无法知道内部的实际的保存情况,尤其DM SMR的情况下。
  3. SMR硬盘最好的方式是Host Managed SMR (HM-SMR),但需要特殊设计或者优化的文件系统,比如华为的存储设备 (为什么市场少见支持SMR硬盘的企业存储?请听我说 )。
  4. SMR 对 Linux EXT4的优化,可以参见权威论文:
    Evolving Ext4 for Shingled Disks Evolving Ext4 for Shingled Disks | USENIX
  5. DM-SMR 的EXT4 优化 lwn.net Evolving ext4 for SMR drives
  6. lazy-ext4补丁:https://github.com/tytso/ext4-patch-queue/blob/master/add-ext4-journal-lazy-mount-option
  7. 截至目前(2019-12),木有看到所谓SMR-lazy模式的EXT4补丁。
  8. 目前的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的优化相关推荐

  1. linux升级网卡fw,一种linux环境下覆盖多品牌硬盘的FW升级方法与流程

    本发明属于服务器硬盘升级技术领域,具体涉及一种linux环境下覆盖多品牌硬盘的FW升级方法. 背景技术: 随着浪潮服务器的不断发展和壮大,作为国内最大的服务器供应商,服务器市场已经囊括各个领域,客户对 ...

  2. linux彻底卸载multipath,深度分析LINUX环境下如何配置multipath

    首先介绍一下什么是多路径(multi-path)?先说说多路径功能产生的背景,在多路径功能出现之前,主机上的硬盘是直接挂接到一个总线(PCI)上,路径是一对一的关系,也就是一条路径指向一个硬盘或是存储 ...

  3. 【第83期】10 款你不知道的 Linux 环境下的替代工具!

    大家好,我是华章妹. 在 Linux 操作系统下,我们经常使用 cat 命令去连接多个文件并打印到标准输出,合成几个文件为一个目标文件,追加几个文件到目标文件中. 最近我在 GitHub 上发现了一个 ...

  4. Linux环境下mysql的日志

    MySQL日志 一.日志概述 1.日志作用 ​ MySQL日志记录了MySQL数据库日常操作和错误信息.MySQL有不同类型的日志文件(各自存储了不同类型的日志),从日志当中可以查询到MySQL数据库 ...

  5. Linux环境下段错误的产生原因及调试方法小结

    From:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基 ...

  6. linux环境下创建MyOS虚拟机

    为什么80%的码农都做不了架构师?>>>    操作系统课的老师参考于渊的作法,要求我们做一个简单操作系统的实验,老师的实验指导是在winXP环境下完成的,但由于我现在已经将ubun ...

  7. [转]Linux环境下段错误的产生原因及调试方法小结

    最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的"段错误"(Segme ...

  8. 【Linux】手把手教你在 Linux 环境下部署 Oracle 数据库!

    来源:公众号[杰哥的IT之旅] 作者:三笠 相信大家第一次接触 Oracle 数据库时,大多数是在 windows 环境下安装,方便快捷,基本上可以说是一直下一步就能顺利安装成功.然而企业级的数据库, ...

  9. 尚学python课程---11、linux环境下安装python注意

    尚学python课程---11.linux环境下安装python注意 一.总结 一句话总结: 准备安装依赖包:zlib.openssl:yum install zlib* openssl*:pytho ...

最新文章

  1. LogMiner日志分析工具的使用
  2. linux 下用户管理
  3. 论坛报名 | 视觉大模型是实现视觉智能的必由之路吗?
  4. A simple Test Client built on top of ASP.NET Web API Help Page
  5. kafka消息的分发与消费(一)
  6. 洛谷P2463 Sandy的卡片【后缀数组】【二分】
  7. 还有人不知道什么是AndroidX的吗?文末领取面试资料
  8. wordpress 自定义字段
  9. Object to XML
  10. java8 di_java8 多个list对象用lambda求差集操作
  11. hive随机抽取100条数据_用Excel进行随机抽取数据
  12. mac pycharm安装设置_入门python,这样操作,简单易学(安装教程)
  13. 计算机桌面底部不显示了,为什么电脑底部不会显示出来怎么办
  14. Codeforces Round #460 (Div. 2)
  15. 2.http dns
  16. 金针工具箱5.0安装版(多功能软件快捷工具)hh852作品
  17. 70部MAYA灯光材质渲染教程合集
  18. Git 使用 — Git下载与安装
  19. Python 读取5张Excel的Sheet自动生成3张Sheet分析结果(减轻同事的工作量,让原本大约2个小时的工作量缩减到1分钟内)
  20. win7打印机显示服务器脱机怎么办,手把手教你设置win7系统网络打印机脱机的修复教程...

热门文章

  1. php中json_decode返回数组或对象
  2. 点云的粗配准和精配准
  3. 算法面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?
  4. 深度学习 — — PyTorch入门(三)
  5. java中的CountDownLatch(共享锁)与ReentrantLock(排他锁)
  6. emf矢量图格式转eps格式,解决Illustrator无法打开emf等格式
  7. java获取美元实时行情_获取股票实时交易数据的方法
  8. IT领域什么创业项目有前途
  9. python args函数_Python函数参数*args 和**kwargs的用法
  10. 基于单链表的班级通讯录