这是我发在O3湖北伙伴社区的帖子,公众号也发下,地址:
https://cn.o3community.huawei.com/community/o3communityPortal.htm?source=circlePostDetail&sxz-lang=zh_CN&schoolId=1663500457860972546&activeIndex=7&subIndex=1&thirdIndex=1&circleId=SC202311280001&blogId=cd8eae9f-401d-4e12-8e7d-8d8a8c513b00&isLogin=1
一、序言
随着全球存储介质市场SSD价格逐渐逼近HDD,全闪存储开始全面普及。全闪存储无论是低端、中端还是高端系列,都能从轻便快捷、性价比、重要业务高稳定及性能要求三个不同的角度,比传统SAS存储、SAS+SSD混合存储占到更大的优势。不管是用户使用的舒适性,还是业务性能的质变,它给我们所带来的感觉,和我们将自己的办公或游戏电脑从机械盘换成固态盘所带来的爽感是一模一样的。这点谁用谁知道。我作为一个全闪存储的使用和管理者,在投产后收集分析业务性能数据时,确确实实地看到了业务效率的提升,在后续维护的过程中,真真切切地感受到了不用操心。为了丰满O3湖北伙伴社区,我会围绕全闪存储讲一些接地气的技术。今天我想聊一下写悬崖现象。二、全闪存储的天然特性
全闪存储并非无懈可击,我们在用它快的同时,也要知道它的天然问题。今天聊的事涉及SSD盘子本身的三个特性:特性1:写前要先擦除。不能覆盖写(电子充电原因,以后聊)特性2:写数据会“新写”。即写数据直接在新的位置写,原位置标记为“无效“,后面再回收处理,这样速度快很多特性3:写以page为单位写,擦除以block为单位擦,1个block等于64个page。因此擦除的单位比写入大三、写悬崖是在说现实中的什么现象
假设客户刚使用全闪存储时,某以写入数据为主的作业要半个小时,而随着时间的推移,该作业渐渐需要1个小时,刨除其他影响,这便是写悬崖现象。通俗来讲就是“变慢了”,写性能在曲线图上有一个明显的滑坡。写悬崖不是哪个厂商特有的现象,是以电子为原理的储存介质所带来的天然问题。四、SSD盘越用越慢4.1 假设一台全闪存储就4个block,假设1个block只有4个page
4.2 创建一个文件ceshi.txt(橙色),假设占用6个page
4.3 修改这个ceshi.txt,假设所有6个page都改了。按照特性2新写原理,在新的6个page上写(黄色),原来的6个page标记为“无效”(灰色)
4.4 再创建一个新文件yewu.txt,假设也是6个page大小。现在只剩4个page了,不够用,这时候是不是就可以把之前标记为“无效“的page清理出来给用户用。按照特性3,按block擦除,把左上角block擦掉
4.5 擦掉后再写yewu.txt(绿色)
4.6 其实这时候大家想一想,创建yewu.txt时是不是已经比刚开始创建ceshi.txt时,要多一步:写前擦除的步骤了?是的,没错。随着固态盘不断地被写,数据一直在新位置累加,容量开始不够用。这时候我们再去写,就要开始多一个处理步骤,就是清理。清理原来被标记为“无效“的块,我们把这个过程叫做回收。随着你的使用,SSD盘需要回收的任务越来越重,因此,变慢。
五、不仅要回收,还要搬迁
搬迁后:
5.2 完成搬迁后创建omg.txt(蓝色)
六、在写数据前,又要回收,又要搬迁,不变慢才怪
全闪存储因为SSD盘的天然特性而变慢,把上面这种形象化的“小人书”放到企业中,就能理解这种写性能在使用一段时间后会出现滑坡的现象了。七、总结
因此,这给到我们在选型及维护时的三个思考:第一,选型时一定要了解全闪存储厂商在针对该天然特性上的优化手段。拿华为来说,“全局垃圾回收“、”全局磨损均衡“等优化技术能够让该厂商的存储在使用过较长时间后,仍能保持住性能,不出现甚至几乎没有写悬崖,不倒不拉跨。不是说我在这里鼓吹华为,我本人是一个非常open、包容的技术工作者,我看存储时从不只看华为。关于这些技术,大家打开OceanStor Dorado V6的产品文档,找到“配置”→“基础存储业务配置指南(块业务)”→“基础存储业务描述”→“基础存储原理”→“全局垃圾回收”,都有详细的说明:
第二,选型时一定要进行周全认真的POC,持久跑,不断写,拿到科学合理的数据,“走过场”要不得。第三,维护时时刻关注全闪存储的容量使用率。这是我一直和我的团队强调的,容量使用率对于业务使用者可能只是空间,但对于我们存储维护者来说,更是预示着性能,我们要看得更深,想得更前,更全。
本文转载自:阿什伯顿 公众号