在指定服务器时,例如(我假设)许多不是存储专家的工程师,我通常会通过标准化至少 10k SAS 驱动器(因此是“企业级,具有 24x7 占空比等)用于“系统”数据(通常是操作系统,有时是应用程序),并保留使用 7.2k 中/近线驱动器来存储性能不重要的非系统数据因素。这都是假设 2.5" (SFF) 磁盘,因为 3.5" (LFF) 磁盘仅与高容量、低 IOP 要求真正相关。
在没有大量非系统数据的情况下,我通常会将其放在与系统数据相同的磁盘/阵列上,这意味着服务器只有 10k SAS 驱动器(通常是“One Big RAID10”类型这些天的设置)。只有当非系统数据的大小很大时,我通常才会考虑将其放在一个单独的 7.2k 中/近线磁盘阵列上,以降低每 GB 的成本。
这让我想知道:在某些情况下,RAID10 阵列中的那些 10k 磁盘是否可以替换为 7.2k 磁盘而不会产生任何重大负面影响?换句话说,我是否有时会通过坚持至少 10k“企业”级磁盘来过度规范(并让硬件供应商满意),或者是否有充分的理由始终坚持至少?
例如,对于一家典型的小公司(比如 50 个用户),将一台服务器用作具有几个 VM 的虚拟机管理程序。该公司具有平均 I/O 模式,没有特殊要求。典型的周一至周五朝九晚五的办公室,每晚运行几个小时的备份。VM 可能是 DC 和文件/打印/应用服务器。服务器有一个带有 6 个磁盘的 RAID10 阵列来存储所有数据(系统和非系统数据)。在我的非专家眼中,看起来中/近线磁盘可能会很好。以惠普磁盘为例:
- 工作负载:中线磁盘的额定工作负载为 <40%。由于办公室每天只开放 9 小时,并且在此期间的平均 I/O 不太可能接近最大值,因此工作负载似乎不太可能超过 40%。即使晚上有几个小时的密集 I/O 备份,我猜它仍然会低于 40%
- 速度:虽然磁盘只有 7.2k,但通过将其分布在六个磁盘上来提高性能
所以,我的问题是:坚持至少 10k SAS 驱动器是否明智,或者在许多情况下 7.2k 中线/近线磁盘实际上已经绰绰有余?如果是这样,我如何衡量这条线在哪里,并通过谨慎行事来避免成为无知的奴隶?
我的经验主要是使用惠普服务器,所以上面的内容可能有点惠普的倾向,但我认为这些原则是相当独立于供应商的。
这里有一个服务器设计、磁盘技术和经济学的有趣交叉点:
另请参阅:为什么大型 (LFF) 磁盘仍然相当流行?
以上就是为什么您通常会发现制造商专注于具有 8-24 个 2.5" 磁盘驱动器托架的 1U/2U 服务器。
3.5" 磁盘适用于低 IOP 的高容量用例 (2TB+)。它们最适合外部存储机箱或带有某种形式的缓存的 SAN 存储。在企业 15k RPM 速度下,它们最多只能提供 600GB。
2.5 英寸 10k RPM 旋转磁盘用于更高的 IOPS 需求,通常可提供高达 1.8TB 的容量。
2.5" 7.2k RPM 旋转磁盘是一个糟糕的选择,因为它们既不提供容量、性能、寿命和价格优势。例如,900GB SAS 10k 驱动器的成本非常接近 1TB 7.2k RPM SAS。鉴于价格低廉不同的是,900GB 硬盘是更好的选择。以1.8TB 10k SAS与2.0TB 7.2k SAS 为例,价格也非常接近。保修期分别为 3 年和 1 年。
因此,对于服务器和 2.5" 内部存储,请使用 SSD 或 10k。如果您需要容量需求并且在内部或外部有 3.5" 驱动器托架,请使用 7.2k RPM。
对于您描述的用例,您没有过度配置服务器。如果他们有 2.5" 驱动器托架,您真的应该只使用 10k SAS 或 SSD。中线磁盘在性能、容量上有所损失,保修期明显缩短,并且不会节省太多成本。
至少有几件事可能会导致某些驱动器类型出现问题:
不适用于处理具有许多驱动器的机箱的振动负载的驱动器(任何指定为支持 RAID/NAS 的驱动器都不太可能出现问题)
不允许 TLER 的固件,或需要耗时手动重新配置驱动器才能启用它(同上)
从未使用所使用的 RAID 控制器测试过的驱动器,并且可能在此类设置中出现无法识别的错误
内部驱动器写入缓存的行为方式(物理写入无序或非常延迟)在硬关机的情况下会导致很多混乱(RAID 控制器应配置为强制这些关闭。如果固件应该忽略,则可能会出现问题那个。查看未经测试的驱动器:)
驱动器可能偶尔会执行内部维护例程,这可能会使驱动器运行缓慢或响应延迟足够长,以使 RAID 控制器认为它发生故障(与 TLER 相关)
一般来说,SATA 与 SAS 相比,与 SAS 相比,对于将所有东西都挂在控制器上的完全射击或悬挂电子设备的驱动器,SATA 的保护措施较少(理论上没有风险,某些磁盘+控制器品牌组合喜欢这种故障模式)。
巨大的问题:
(可能有点离题 - 但我并不重要!)
当您处理 SSD 时 - (通常是这种情况,或者可能是这种情况或诱惑) -许多SSD 都有一个令人讨厌的问题,即它们无法始终从自发断电中恢复!
这是硬盘驱动器的一个小问题。HDD 通常具有足够的电容来为其逻辑供电,并具有足够的角动量来承载盘片完成写入 512 字节块的过程——以防在写入过程中断电。在极少数情况下,这将不起作用,从而导致称为“撕裂写入”的情况 - 单个块可能被部分写入。部分写入(尽管很少见)将导致块上的校验和失败 - 即单个块将是坏的。这通常可以被磁盘电路本身检测为坏的,并由上游 RAID 控制器纠正。
SSD 是另一种动物。通常实现称为“磨损均衡”的东西 - 他们不只是像 HDD 那样将“块 X”写入“块 X”的物理位置。相反,他们尝试写入闪存介质上的不同位置——并且他们尝试聚合或组合写入(使用一点缓冲)。写入不同的地方涉及保存写入内容的“地图”,该地图也被缓冲并以旨在减少磨损均衡的方式写出。磨损均衡的一部分甚至可能涉及移动设备上已经存在但最近还没有写入的数据。
这个问题是,当 SSD 断电时 - 它在内存中有大量数据(未刷新),它有一些数据已写入不同/更改的位置 - 它在它自己的内存中有这些映射,需要冲洗出来以了解设备上所有数据的结构。
许多SSD 没有逻辑或电路,无法在自发断电时保持其控制器正常运行并保持足够长的寿命,从而在所有这些数据死亡之前安全地将所有这些数据刷新到闪存中。这不仅意味着您编写的一个块现在可能处于危险之中 - 但其他块 - 甚至设备上的所有块都可能有问题。许多设备也存在问题,它们不仅会丢失设备上的所有数据,而且设备本身也会变砖,无法使用。
这都是真实的理论——但是(在存储行业工作)——我/我们已经在太多的设备上看到这种情况发生太多次了——包括在我们自己的一些个人笔记本电脑中!
许多供应商已经讨论过制造“企业级 SSD”,其中专门添加设备(“超级电容”)和其他电路以允许干净的“刷新” - 但很难找到任何明确声明为它的一部分的设备数据表,它有足够的、明确的、经过测试的保护以防止此类事件,并将防止此类事件。
显然,如果您从使用闪存技术的顶级供应商处购买“高端存储阵列”,那么他们的驱动器或整个系统的设计都考虑了所有这些因素。确保它有!
关于您的问题的问题是:如果您有一个 RAID 阵列 - 并且其中几个磁盘是没有这种保护的“坏” SSD - 如果您遇到“自发断电” - 您可能会丢失MULTIPLE磁盘上的所有数据使 RAID 重建成为不可能。
通常还需要注意的是,“自发断电”可能包括诸如 BSOD 和内核锁定/崩溃/恐慌之类的情况 - 在这些情况下,您无法选择通过拔掉系统插头来恢复。