群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…

群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事

2020-11-20 19:31:49

125点赞

1176收藏

199评论

你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最新一届#装机大师赛#开始啦!本次装机阵营赛分为3A红组、intel NVIDIA蓝绿组、混搭组还有ITX组,实体or虚拟装机都能参与,可使用值得买定制化DIY装机工具在文中展现配置单!每个小组均有精美礼品,优秀文章还可角逐装机大师终极大奖,点击参与<<<

创作立场声明:本文前后花了一周时间,如有疏漏或谬误,敬请在讨论区中指正。

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图
群晖NAS非官方入门手册 篇十二:今夜不谈群晖—关于NAS、硬盘和数据的学习笔记本文来自#千兆网络有什么用#征稿活动,不断提速的网络给你的生活带来了什么变化?快来参与活动,聊聊你玩转互联网,高速网上冲浪的经历!>点击这里查看活动详情Lifeisgood|赞117评论128收藏228查看详情

上文我曾说过准备写一篇群晖NAS缓存方面的教程。在讨论群晖NAS的缓存特性之前,先来看一些说法,大家能识别出其中的常见谬误吗?SSD就是缓存。

增加了缓存,NAS的速度立马就会提高。

只有带M.2插槽的NAS型号才支持缓存。

不带万兆网卡的型号,加了缓存都是浪费。

群晖的缓存是为存储空间加速的,而不是对硬盘加速。

缓存是NAS独有的技术。

缓存能够降低群晖NAS读写硬盘的噪音。

缓存(Cache)浅谈

缓存的英文名为Cache,所以也有音译为快取,不能不说,这个翻译更加完美,把音和意都传达出来了。缓存是一种经典(古老)而有效的技术,它的基本思想是以空间换时间。

简单地说,就是分析系统中的瓶颈,然后把最常用的数据(此处称为较热的数据)放在速度最高的存储介质中,不常用的数据则留在速度较慢的存储介质中。当下次要访问较热的数据时,则直接从高速存储介质中存取,这样就达到了牺牲部分高速存储空间,来换取提高速度的目的。

应用广泛的缓存

在计算机、NAS系统中,机械硬盘相对于内存、处理器等属于慢速存储设备,所以每当读写硬盘时,内存和CPU实际上处于等待硬盘完成任务的停工待料状态。此时硬盘就是系统的瓶颈。

改善的办法就是为硬盘增加缓存,比如用速度远比硬盘快的内存来作为缓存,把一些经常用到的数据或应用程序放在缓存中,下次需要访问或打开时,直接从缓存中调用,避免了去访问较低速的硬盘,自然就提高了系统的整体性能。

所以操作系统都是有缓存机制的,使用的就是速度极快的内存。当内存容量宽裕,且缓存机制有效的话,能直接观察到硬盘灯闪烁次数大大降低(表示对硬盘访问减少)。可惜,由于现在的某些操作系统越来越臃肿,一般用户可能因标配内存不大等原因,不一定能明显感受到缓存的作用。

从上面的例子中,可以看出,凡是存在较大速度差异的设备之间,都有可能使用缓存来解决瓶颈。所以,硬盘不一定总是充当被缓存的低速角色,它也能够作为其他设备的缓存。例如,打印机的速度是更慢的,那么就可以用硬盘为打印机做缓存,把打印任务队列存放在硬盘上,然后处理器就可以去继续其他的运算任务。不然的话,处理器就必须等待打印机返回一个打印完成的参数后,才能继续下一步任务,整个系统的效率都会被打印机拖累。

既然缓存能提升整体效率,那是不是缓存越大越好呢?不计成本的话,当然可以这样说。可惜,凡是速度高的设备,价格也会水涨船高,比如以单位容量计算,价格从高到低:内存>SSD>机械硬盘。所以,我们总是以适当容量的缓存(成本)来得到最大的效益(性能提升)。

硬盘的工作原理

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图1

简单分析一下,由于机械硬盘是盘片高速旋转,然后磁头沿径向移动,从而达到磁头能够访问到整个盘片的所有磁道、每条磁道的所有扇区中的数据。

例如,当我们要打开一个影视文件时,系统要通过文件名在硬盘的文件分配表中找到该文件的目录项,在目录项中查到该文件数据保存在硬盘的起始簇号(根据文件的大小,可能会分布在硬盘上多个不同簇中),然后将磁头移动到该簇的第一个扇区,来连续读取其中的数据;若文件大小超过了该簇的容量(即,一个文件必须有多个簇才能存得下),则会从文件分配表中找到下一个簇,然后重复以上的过程。

簇是操作系统为文件分配存储空间的最小单位,一个簇由多个扇区构成【1】。

对每一个存取文件的任务,操作系统都要经历:在文件分配表中,查找该文件的目录记录;

根据目录,依次找到该文件的每一个簇;

存取该簇中每个扇区的数据;

重复第2步。直到遇到文件结束的标志。

对照上图想象一下,在这个过程中,盘片一直在高速旋转,磁头由悬臂带动也在不同的磁道之间来回穿梭(寻道)。

NAS中的瓶颈

先看几个常见的NAS应用情景吧:团队利用群晖NAS进行协同办公,同一项目组的多位用户,在同一时间段,访问相对集中的一些文档、表格和数据库。

大量的家庭照片存放在群晖NAS中,家人用各自的手机或平板电脑来分享和欣赏。

你的NAS上存放了海量的影视、音乐等媒体内容,亲朋好友各自观看自己喜爱的节目,同时还有几个下载任务正在运行。

当同时访问NAS的用户、任务增加时,随着系统负载的上升,部分用户感觉到打开/保存文件的速度下降,甚至播放影片出现卡顿。

当NAS的用户较少、任务较轻时,硬盘能够快速地读取或者写入数据,给用户带来优良的体验。

而一旦对硬盘的读写请求任务超过了硬盘的最大传输速率,那么势必会有一部分任务必须排队等待了。对了,硬盘自己不也是有缓存吗?不过,区区64MB、256MB的缓存,面对当今以数TB计的大容量硬盘,显得有点捉襟见肘了。解决的办法就是在NAS中扩充SSD缓存了。

缓存的适用

由前述机械硬盘的工作原理可知,能让硬盘发挥最大读写速度的理想状况是:磁头不动,在盘片高速旋转下,对同一磁道上的连续簇(扇区)进行读写。

日常使用中,大文件(比如电影、电视剧等内容)的存取就属于这种情况,我们称之为顺序读写。

反之,对硬盘读写速度最不利的状况是:要存取的文件很多,而且多是不太大的文件(比如工作文档、照片、mp3音乐文件等)。这种情况我们称之为随机读写。

想象一下磁头跑到文件分配表去检索目录,然后再跑到相应的磁道去读写某一簇(及其中的扇区);而且对每一个小文件,都要重复上述过程。

虽然盘片旋转速度不变,但磁头要辛辛苦苦地频繁在各个磁道之间切换。毕竟磁头的机械运动,速度远远比不上内存/SSD的电子运动。

磁盘的碎片化也会降低硬盘的性能。一个刚格式化的新硬盘,最初写入文件时,都是连续存放的,这时的访问速度最理想。但随着使用时间的增长,会有各种拷贝、删除、修改操作,一个文件可能就会分散到不连续的簇中存放。

通常,缓存对随机读写的优化最有效,但对顺序读写则不那么明显。所以在群晖NAS中,有跳过顺序I/O的选项,遇到顺序读写时,直接访问硬盘,而不经过缓存。

对这一点,我的个人看法是:如果你安装的都是SMR叠瓦盘,由于它在大量写入时可能会降低性能,所以即使是顺序读写,我认为最好还是经过缓存吧。

缓存的机制

缓存处在机械硬盘和处理器/内存之间,在什么情况下,缓存能带来效率的明显提升呢?

一、读缓存

若将经常被使用的文件或程序放在缓存中,下次再访问时,直接从缓存调用,传输至处理器或内存,必然带来速度上的飞跃。

且慢,这里有几个关键字:下次再访问:也就是说,缓存中的数据只有被多次读取时,才能实现一次缓存、多次使用的效益。若缓存中的数据不再被读取,则没有带来任何好处。例如缓存中有一张图片,被团队中多个成员打开查看,则从第二次访问开始,都不再从机械硬盘读取,而是直接从缓存来提供;若该图片只被打开一次,一定时间内再也没人访问了,则没有任何性能提升。

经常被使用:访问频率高的数据被我们称为热数据,那么孰冷孰热呢?这就涉及到了缓存的算法。因为缓存容量有限(通常比机械硬盘容量小得多),所以根据缓存的算法,必然要将冷数据淘汰,热数据保留。这是一个动态的过程,具体算法有很多,比如先进先出,或最久未用等等。

二、写缓存

遇到写入数据的操作时,系统先将数据写入到缓存中,然后处理器就可以进行其他运算任务。剩下的事情就是在系统调度下,缓存与硬盘之间的事情了,硬盘可以从容不迫地将数据写入到簇中,而不必拖累处理器苦苦等待。当有很多磁盘操作任务排队时,缓存的效果就更加明显。

三、命中率

缓存的效益可以用命中率来量化。命中:可以直接通过缓存获取到需要的数据。

不命中:无法直接通过缓存获取到想要的数据,需要到硬盘上去访问。原因可能是由于缓存中根本不存在,或者缓存已经过期。

命中率=命中数/(命中数+不命中数)

简单地说,命中率=被加速的随机读写次数/所有随机读写数*100%。通常来讲,缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力越强。

为你的群晖添加缓存

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图2

群晖NAS型号众多,实现缓存的方法在硬件上是有一定差别的。所以事先要查看自己NAS的具体型号来选购SSD。

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图3
群晖(Synology)DS920+四核心4盘位NAS网络存储服务器(无内置硬盘)4680元京东去购买

有些如DS918+、DS920+等型号,带两个M.2插槽,支持使用NVMe SSD固态盘来作为高速缓存,且不占用宝贵的盘位;而其他一些型号则没有这两个插槽,在多盘位情况下(比如6盘位),我们也可以利用SATA接口的SSD来建立缓存,代价就是被缓存占用的盘位(参见上图);更高端一些的型号,则是有PCIe 扩充插槽,我们可以选购群晖的扩展卡。

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图4

例如这款Synology E10M20-T1,就同时提供了一个万兆网口,和两个NVMe的SSD插槽,我们可以用来扩充缓存。

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图5

而这款M2D20则只有两个NVMe的SSD插槽,我们可以用来扩充缓存。以上两个扩展卡,均不含SSD(需另购)。

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图6

Synology SNV3000 系列专为系统缓存而构建,可在要求苛刻的全天候环境中提高随机 I/O 性能并减少延迟。可提供耐用缓存,具有 205,000/40,000 次以上的 4K 随机读/写 IOPS 和 500 TBW 耐用性评级,适用于多媒体后期制作和数据库应用程序。

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图7
西部数据(WesternDigital)500GBSSD固态硬盘M.2接口(NVMe协议)WDBlueSN550五年质保四通道PCIe459元京东去购买

群晖原厂的SSD价格不菲,大家也可以根据自己的预算和偏好,选择WD等大厂固态盘来扩充缓存。

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图8
西部数据(WesternDigital)500GBSSD固态硬盘SATA3.0接口Red系列网络储存(NAS)硬盘WDRedSA500769元京东去购买

两种接口都推荐一下吧。

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图9
男人的生产力工具 篇二百五十三:买了叠瓦盘天也不会塌,群晖NAS对纯SMR硬盘系统的改造优化本文来自#千兆网络有什么用#征稿活动,不断提速的网络给你的生活带来了什么变化?快来参与活动,聊聊你玩转互联网,高速网上冲浪的经历!>点击这里查看活动详情戳我了解…44114246匿名用户比如:DIY投影仪支架、零重力办公、将吸顶灯改成智能开关、用LED改造灯板升级原有的2D灯管、用服务器机柜多出Lifeisgood|赞27评论50收藏101查看详情

关于在群晖中添加缓存的教程,参见上面卡片。

扩充缓存之后,随机读写、多用户访问、高并发任务等情况下,群晖NAS的响应和表现会更好更稳定。如今大容量SSD的价格逐渐下降,赶快为你的群晖NAS插上翅膀吧。

更进一步的,若对缓存的效果还不满意,能不能彻底抛弃机械硬盘,打造全固态的NAS呢?

参考资料

【注1】限于篇幅,文中的一些硬盘操作的概念和过程都做了简化处理,以方便读者理解。关于文件分配表、簇和扇区等概念,摘录一段更严谨的资料供参考:

扇区分簇管理

操作系统或应用程序在将数据写入一个磁盘文件时,必须在磁盘上找到可以使用的未用扇区。反过来要将数据从磁盘文件中读出时,也要在磁盘上找到已经储存了相应数据的有关扇区。要查找扇区必须知道扇区的地址,文件分配表FAT就是记录扇区地址的。

因为硬盘的扇区非常多,如果将每个扇区的地址都记录在文件分配表里,势必造成文件分配表体积庞大,查找时效率将会很低。为解决这个问题,采用了将扇区分组管理的方法。分组的过程称作扇区分簇,是由高级格式化程序在格式化磁盘时完成的。

扇区分簇以后,将每个簇的地址记录到文件分配表FAT里去。由于一个簇能包含很多扇区,所以文件分配表的体积减小了,查找的速度就提高了。

关于《群晖NAS非官方入门手册》达人专栏

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图10
Life君的数码生活馆 篇十三:群晖NAS非官方入门手册-2020寒假特别版本文来自#千兆网络有什么用#征稿活动,不断提速的网络给你的生活带来了什么变化?快来参与活动,聊聊你玩转互联网,高速网上冲浪的经历!>点击这里查看活动详情Lifeisgood|赞308评论289收藏3k查看详情
群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图11
群晖NAS非官方入门手册 篇四:群晖NAS非官方入门手册(2020暑假特别版)本文来自#千兆网络有什么用#征稿活动,不断提速的网络给你的生活带来了什么变化?快来参与活动,聊聊你玩转互联网,高速网上冲浪的经历!>点击这里查看活动详情Lifeisgood|赞106评论83收藏600查看详情

《群晖NAS非官方入门手册》是作者Lifeisgood在张大妈首发的写作计划,以知识卡片的形式,在每篇教程分享群晖的关键技能。2018年至今,已坚持三年。Life君是本站黑群晖配置最高、白群晖闲置最多的NAS小白。从今年八月起,作者Life君在张大妈创建专属达人专栏—-群晖NAS非官方入门手册。

若觉得本文对您有参考价值,请以关注、点赞、收藏、打赏、评论来支持作者,谢谢!

群晖nas存储系统原理_群晖NAS非官方入门手册 篇十三:今夜来谈群晖—缓存、NAS和SSD那些事…插图12

原文链接:https://blog.csdn.net/weixin_26899879/article/details/113011468?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167586359916800182185480%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167586359916800182185480&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-20-113011468-null-null.blog_rank_default&utm_term=%E9%BB%91%E7%BE%A4%E6%99%96%2C%E7%BE%A4%E6%99%96%2Cnas%2C%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85%2CDSM%EF%BC%8C%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%2Cipv6%2C%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AE%2Cwordpress%EF%BC%8C%E5%BB%BA%E7%AB%99%2C%E9%98%BF%E9%87%8C%E4%BA%91%2C%E8%85%BE%E8%AE%AF%E4%BA%91%2C%E5%9F%9F%E5%90%8D%2C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%2C

上一篇
下一篇