服务器存储该如何选择:HDD、SSD 还是 NVMe?

每当您为项目选择服务器时,存储很可能是最主要的考量之一。在谈论 RAID 之前,我们总要先考虑选择哪种存储。因为选择存储时总会有一些需要权衡的地方,而且您的项目或网站是否真的能从存储所提供的全部速度中受益,也是一个问题。

事实上,选择存储就像选择交通工具。您不能说卡车没有用。开卡车去超市也许大材小用,但如果您要搬运成吨的货物,没有什么比卡车更合适。存储也是如此,每一种都是为特定需求而设计的。

在本文中,我们将解释这几类存储的优缺点,以及如何进行选择。

存储类型

HDD:机械硬盘

即使在今天,机械硬盘(HDD)仍然是计算机存储数据的主要方式。尽管已经有了作为 HDD 替代品的 SSD,HDD 仍在大多数台式机和笔记本电脑中占据主导地位。操作系统就存储在 HDD 上,无论是 Windows、Linux 还是 Mac OS。除了系统之外,所有程序也都保存在 HDD 上。而且,您很可能把所有照片、音乐、视频和文档都保存在电脑的 HDD 上。

机械硬盘使用磁性盘片来存储数据。这些盘片被划分为多个扇区和磁道,用于保存构成文件的海量字节。机械臂在整个磁盘区域上移动,读取用户或操作系统请求的文件。由此可见,HDD 是任何计算机中的基础部件。由于它是一种非常古老的组件,HDD 的发展已经进入某种平台期。因此,如今不同品牌的 HDD 在质量上并没有太大差别。不过,多年来,一些厂商脱颖而出,数十年来一直在生产高质量的 HDD。

即便是现在,各公司仍在开发速度相当接近 SSD 的新型 HDD。这可不是玩笑,最新发布的 Seagate Exos 2X18 确实能够达到 SATA SSD 的速度。

SSD:固态硬盘

SSD(固态硬盘)是一种硬件组件,正在取代传统 HDD 成为 PC 中的数据存储设备。这一替代虽然缓慢,但确实正在发生。SSD 速度快得多,它没有物理盘片或磁头,能够在几分之一秒内访问数据,让您的电脑更快地打开程序和执行任务。由于没有活动部件,SSD 解决了 HDD 的速度瓶颈,因为 HDD 需要使用读写磁头在磁盘上执行操作。近年来,每 GB 价格的大幅下降,使 SSD 成为提升任何计算机性能的一项重要(甚至可能是最重要的)升级。

闪存保存所有文件,与机械硬盘的磁性盘片不同,它的运行不需要任何活动部件或电机。所有操作都以电子方式完成,这使读写操作更快,同时也让硬盘更安静,更耐振动和跌落。主控负责管理计算机与闪存之间的数据交换。它由一个在硬盘上执行各种任务的处理器组成,是决定 SSD 性能的主要因素之一。该芯片可以管理文件读写缓存、加密信息、标记 SSD 的故障区域以防止数据损坏,并确保闪存拥有更长的使用寿命。

NVMe:非易失性内存主机控制器接口规范

在实现更快的数据读取和传输速度方面,SSD 是比 HDD 更具吸引力的选择。然而,SATA 类型的连接存在技术限制,业界不得不寻找替代方案。

最终找到的解决方案是使用更便宜、更实用的 PCI Express 接口。业界以此为基础,构想出一种新协议,它相对于 2004 年创建的 AHCI 是一次演进。这一问题的解决方案由一个名为 NVM Express Organization 的企业联盟提出。该组织由约 80 家公司组成,其中包括 Intel、Microsoft、Samsung、SanDisk 和 Seagate 等巨头。它们专门针对 SSD,共同开发了非易失性内存主机控制器接口规范(NVMe)。

这一接口的主要优势包括低延迟和对 CPU 核心更好的利用。举例来说,AHCI 标准的延迟峰值可达 6.0 微秒,而 NVMe 平均可以达到 2.8 微秒。在 CPU 方面,旧标准在 IOPS(每秒输入/输出操作数)上限方面会造成核心瓶颈。

因此,这项技术对企业和家庭用户都有好处。对企业而言,优势体现在处理较重负载时,而这类负载此前一直受制于 SATA 和 AHCI 标准的限制。对家庭用户而言,最明显的是功耗降低,此外在搭配多核处理器时性能也有所提升。

为什么 NVMe 如此之快?

NVMe 从一开始就是专门为 SSD 设计的,旨在提高吞吐量和 IOPS,同时降低延迟,提升 NVMe SSD 的整体速度。

如今基于 NVMe 的硬盘理论上可以实现高达 32 GBps 的传输速率,但实际最高传输速率接近 7 GBps。与此同时,延迟持续下降。许多硬盘的延迟低于 20 微秒(µs),有些甚至低于 10 微秒。

较旧的协议在 SSD 上的表现并不理想。如今基于 SATA 的硬盘可以实现高达 6 Gbps 的传输速率,IOPS 最高可达 100,000。延迟通常超过 100 µs,不过一些较新的 SSD 可以实现低得多的延迟。

SAS 硬盘的性能稍好一些,传输速率最高可达 12 Gbps,IOPS 平均在 200,000 到 400,000 之间。不过,较低的 IOPS 也并不少见。在某些情况下,SAS 的延迟已降至 100 µs 以下,但降幅不大。

其中一个原因是,NVMe 使用更精简的命令集来处理 I/O 请求,所需的 CPU 指令数不到 SATA 或 SAS 的一半。NVMe 还拥有更丰富、更高效的命令队列系统。SATA 和 SAS 一次只支持一个 I/O 队列。SATA 队列最多可容纳 32 条待处理命令,SAS 队列最多可容纳 256 条。而 NVMe 最多可支持 65,535 个队列,每个队列最多可容纳 64,000 条命令。

尽管 NVMe 具有诸多优势,但该协议仅限于单个主机使用。虽然这在某些场景下很有用,但许多企业希望在数据中心部署分布式系统。为此,NVM Express 制定了第二个规范:NVMe-oF。

这一新标准于 2016 年 6 月发布,旨在将 NVMe 的优势扩展到以太网、InfiniBand 和光纤通道等网络系统中。该组织估计,NVMe-oF 规范中有 90% 与 NVMe 规范相同。两者的主要区别在于协议处理主机与 NVM 子系统之间命令和响应的方式。

NVMe 协议将命令和响应映射到主机的共享内存。NVMe-oF 协议则支持 NVMe 主机与通过网络连接的 NVMe 存储设备之间的通信。新协议扩展了在数据中心内访问 NVMe 设备的距离,同时使扩展到大量设备成为可能。

NVMe-oF 规范最初提供了两种通信方式。第一种使用 RDMA 来支持网状连接,例如 InfiniBand、基于融合以太网的 RDMA 以及互联网广域 RDMA 协议。第二种方式专用于光纤通道传输,包括光纤通道和以太网光纤通道网络。

2019 年,NVM Express 发布了 NVMe-oF 1.1 规范,增加了对 TCP 的支持。NVMe over TCP 让您无需更改硬件或配置,就能在标准以太网上使用 NVMe-oF。这一新标准有助于弥合 DAS 与 SAN 之间的差距,同时推动 NVMe-oF 进一步成为企业存储的事实标准。

终极选择指南

读完上面这些历史背景,我们来谈谈更具体的问题:您的项目应该选择哪种存储。

HDD:最便宜且耐用

除非您确实对 IOPS 或读写速度有要求,或者您的博客访问量不大,否则选择 HDD 即可。与 SSD 或 NVMe 相比,HDD 可能较慢,但您的访客不会察觉到。除非您真的需要这种速度,否则 HDD 已绰绰有余。

SSD:出色且快速

在 NVMe 出现之前,我们可以说 SSD 是终极存储方案,但如今已不再如此。每当您需要一个能满足各方面需求的全能方案时,请选择 SSD。此外,与 HDD 相比,SSD 已经变得相对便宜,所以如果您在服务器上还有一些富余预算,不妨选择 SSD。

NVMe:终极存储方案

当您预算充足,并且数据库或各种 SaaS 应用对 IOPS 有特定要求时,NVMe 就是您的不二之选。性能越强越好,因此 NVMe 非常适合各类项目,尤其是当您需要处理大型单个文件时。

结论

正如前文所述,一切都取决于您计划在服务器上运行什么样的项目。如果只是一个小型网站,那么最好先选择 HDD,在遇到问题时再逐步升级到下一种存储类型。希望本文对您有所帮助,并让您对存储类型有了更多了解。欢迎联系 BlueVPS,购买您所需的 VPS。



blog