群晖NAS非官方入门手册 篇十二:今夜不谈群晖---关于NAS、硬盘和数据的学习笔记_NAS存储_什么值得买​post.smzdm.com

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

  • SSD就是缓存。
  • 增加了缓存,NAS的速度立马就会提高。
  • 只有带M.2插槽的NAS型号才支持缓存。
  • 不带万兆网卡的型号,加了缓存都是浪费。
  • 群晖的缓存是为存储空间加速的,而不是对硬盘加速。
  • 缓存是NAS独有的技术。
  • 缓存能够降低群晖NAS读写硬盘的噪音。

缓存(Cache)浅谈

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

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

应用广泛的缓存

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

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

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

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

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

硬盘的工作原理

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

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

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

对每一个存取文件的任务,操作系统都要经历:

  1. 在文件分配表中,查找该文件的目录记录;
  2. 根据目录,依次找到该文件的每一个簇;
  3. 存取该簇中每个扇区的数据;
  4. 重复第2步。直到遇到文件结束的标志。

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

NAS中的瓶颈

先看几个常见的NAS应用情景吧:

  • 团队利用群晖NAS进行协同办公,同一项目组的多位用户,在同一时间段,访问相对集中的一些文档、表格和数据库。
  • 大量的家庭照片存放在群晖NAS中,家人用各自的手机或平板电脑来分享和欣赏。
  • 你的NAS上存放了海量的影视、音乐等媒体内容,亲朋好友各自观看自己喜爱的节目,同时还有几个下载任务正在运行。

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

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

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

缓存的适用

由前述机械硬盘的工作原理可知,能让硬盘发挥最大读写速度的理想状况是:

  • 磁头不动,在盘片高速旋转下,对同一磁道上的连续簇(扇区)进行读写。
  • 日常使用中,大文件(比如电影、电视剧等内容)的存取就属于这种情况,我们称之为顺序读写。

反之,对硬盘读写速度最不利的状况是:

  • 要存取的文件很多,而且多是不太大的文件(比如工作文档、照片、mp3音乐文件等)。这种情况我们称之为随机读写。
  • 想象一下磁头跑到文件分配表去检索目录,然后再跑到相应的磁道去读写某一簇(及其中的扇区);而且对每一个小文件,都要重复上述过程。
  • 虽然盘片旋转速度不变,但磁头要辛辛苦苦地频繁在各个磁道之间切换。毕竟磁头的机械运动,速度远远比不上内存/SSD的电子运动。

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

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

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

缓存的机制

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

一、读缓存

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

且慢,这里有几个关键字:

  • 下次再访问:也就是说,缓存中的数据只有被多次读取时,才能实现一次缓存、多次使用的效益。若缓存中的数据不再被读取,则没有带来任何好处。例如缓存中有一张图片,被团队中多个成员打开查看,则从第二次访问开始,都不再从机械硬盘读取,而是直接从缓存来提供;若该图片只被打开一次,一定时间内再也没人访问了,则没有任何性能提升。
  • 经常被使用:访问频率高的数据被我们称为热数据,那么孰冷孰热呢?这就涉及到了缓存的算法。因为缓存容量有限(通常比机械硬盘容量小得多),所以根据缓存的算法,必然要将冷数据淘汰,热数据保留。这是一个动态的过程,具体算法有很多,比如先进先出,或最久未用等等。

二、写缓存

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

三、命中率

缓存的效益可以用命中率来量化。

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

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

为你的群晖添加缓存

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

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

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

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

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

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

两种接口都推荐一下吧。

男人的生产力工具 篇二百五十三:买了叠瓦盘天也不会塌,群晖NAS对纯SMR硬盘系统的改造优化_NAS存储_什么值得买​post.smzdm.com

关于在群晖中添加缓存的教程,参见上面卡片。男人的生产力工具 篇二百五十三:买了叠瓦盘天也不会塌,群晖NAS对纯SMR硬盘系统的改造优化_NAS存储_什么值得买关于在群晖中添加缓存的教程,参见上面卡片。

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

参考资料

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

扇区分簇管理

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

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

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

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

Life君的数码生活馆 篇十三:群晖NAS非官方入门手册-2020寒假特别版_NAS存储_什么值得买​post.smzdm.com

群晖NAS非官方入门手册 篇四:群晖NAS非官方入门手册(2020暑假特别版)_NAS存储_什么值得买​post.smzdm.com

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

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

群晖nas存储系统原理_今夜来谈群晖----缓存、NAS和SSD那些事相关推荐

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

    群晖NAS非官方入门手册 篇十三:今夜来谈群晖---缓存.NAS和SSD那些事 2020-11-20 19:31:49 125点赞 1176收藏 199评论 你是AMD Yes党?还是intel和NV ...

  2. 微信群怎么设置验证加入_怎么让微信群裂变拉人/拉人进群奖励方案/微信裂变营销方案策划...

    怎么让微信群裂变拉人/拉人进群奖励方案/微信裂变营销方案策划:微信社群是一个建立在某种认同感的集合之上,但认同感只能提供起初的热度,不能提供持久的消费动力.如果要成功驾驭互联网社群,让社群得以持续发展 ...

  3. 群晖 百度网盘_海康威视联合百度网盘推出NAS私有存储 贡献带宽获积分兑网盘会员...

    此前百度网盘因为限速问题遭到不少用户的吐槽,随后百度网盘推出单次付费加速由于价格过高再次被吐槽. 网盘类的服务也确实需要大量的硬盘空间和服务器带宽支撑,所以对用户来说最好的办法还是自己搭建网盘. 自己 ...

  4. as5300g2 nas软件功能_群晖NAS软件Qnote介绍及使用方法教程

    群晖NAS软件Qnote介绍及使用方法教程 前言 之前谈到DS Note的时候,我说到自己曾经使用过挺多的网盘,但最终使用到现在的是百度云盘,而笔记工具则是印象笔记.后来,随着NAS的购入,一直使用的 ...

  5. j1900适合装哪版群晖_我的NAS入坑之旅(小米-DIY-群晖-威联通-蜗牛星际)

    何为NAS Hi,各位好,我是晓飞影,关于NAS的全名是Network Attached Storage:网络附属存储.其实NAS不用想的特别复杂,定义也不用那么狭窄,说白了就是在网络环境中能存储资料 ...

  6. 安装黑群晖找不到局域网电脑_组建家庭存储群晖NAS(一)——详细安装篇

    上篇文章大概介绍了用哪些软件可以通过笔记本组建黑群晖,以及通过什么技术可以内外网穿透,但都没展开讲,算是引子吧.这一篇就先详细介绍下笔记本如何安装黑群晖.后面规划着写一篇安装篇.内网穿透篇.远程开关机 ...

  7. 可道云 docker 群晖_群晖NAS安装影视客户端新手教程,手把手教你NAS怎么下载电影...

    群晖NAS安装影视客户端新手教程,手把手教你NAS怎么下载电影 前言 故事的起点在2016年,那时候中了nas的毒,自己diy了一台黑裙,连安装加使用,把玩了一周后,感到一阵索然无味... 然后这台n ...

  8. 群晖网络不通_一次拯救群晖NAS数据的历程

    前几天,折腾路由器的时候突然想到我的群晖NAS(DS418 Play)后面有两个网口,但是两个网口都插上网线并不能获得网速提升,因为网络数据要么选择网口1要么选择网口2,最多是根据负载动态调整.我想到 ...

  9. 2020黑群晖最稳定版本_打造完美6.2.3黑群晖,正确显示 CPU,支持Nvme缓存

    大家好,我是晓飞影! 一个数码爱好者,也喜欢在众多平行领域探究摸索,让生活多一点乐趣. 之前分享了一台正版蜗牛星际 A 款机箱组装 NAS 的文章,搭配 i3-8100和华擎 H310CM-ITX/a ...

最新文章

  1. Windows下SVN权限配置过程详解
  2. 《赢道:成功创业者的28条戒律》成都签售会魅力登场(背景)
  3. 在redhat9上安装firefox
  4. 终止代码driver_irql_not_less_or_equal
  5. 解决了一个小问题 好像把逻辑有点复杂
  6. javascript 自动填写表单
  7. 高效学习,战胜拖延症
  8. c语言程序滞留,c语言有个可以使程序延时的语句是什么?
  9. input checkbox 选择内容输出多少个
  10. Java 发送 Http请求工具类
  11. win10下驱动级套节字通信(ksocket)
  12. visual studio2010中几个快捷键的使用
  13. OpenCV-图像处理(18、Laplance算子)
  14. 121、华为交换机配置手册
  15. MATLAB GBK编码
  16. Java的常用集合框架
  17. 土壤质地标准转换程序Java MVC模式
  18. linux系统Nginx下limit_req模块burst参数超详细解析
  19. 天马行空(不定时更新)
  20. 龙芯计算机价格,龙芯电脑目标售价有望逼近1000元

热门文章

  1. 论中职计算机基础课程授课方法,浅论中职《计算机基础》的教法与学法
  2. Gantt(甘特图)与PERT(项目计划评审技术)图
  3. 如何把一个文件夹的文件分配到多个文件夹
  4. Image To PDF or XPS V4.2 汉化版,tek2y原创汉化!
  5. Python求圆的面积和周长
  6. python逆向爬取网易云评论进行情感分析!网易评论才是高手
  7. 小程序 实现两种导航功能
  8. ASP.NET CORE的服务注册方法
  9. 【FNN回归预测】基于matlab粒子群优化前馈神经网络婚姻和离婚数据回归预测【含Matlab源码 2069期】
  10. NetLink机制使用