选择存储类型
虽然在界定哪种存储属于哪一类时,技术细节可能会变得棘手,但其背后的概念其实已被相当透彻地理解。在日常的服务器计算中,我们使用四种关键的存储类型:本地磁盘、DAS、NAS 和 SAN。在大多数情况下,选择我们想用哪一种,都可以归结为一个相对简单的公式。
关于存储的快速经验法则应该是:本地优先于 DAS,DAS 优先于 NAS,NAS 优先于 SAN。或者用我喜欢的写法:
本地磁盘 -> DAS -> NAS -> SAN
要使用这条规则,你只需手握自己的存储需求,从最左端开始。如果本地磁盘能满足你的需求,那么它们几乎可以肯定就是你的最佳选择。如果它们不能满足你的需求,就向右移动,看看 DAS 是否能满足你的需求。如果可以,很好;如果不行,就继续这个过程。
这就是那条经验法则,所以如果你需要的仅此而已,那就到此为止。但我们将在下文深入探讨这条规则背后的“为什么”。简要概览是:在左端,我们以最低的成本获得速度和可靠性。随着我们向右移动,复杂度会上升,价格通常也会上升。最后两种虽然差异很大,但由于它们都具有网络化的特性,在许多方面其实是最为相似的。
本地磁盘:服务器机箱内部的本地驱动器是大多数任务的最佳选择。位于机箱内部意味着花在额外容器(用于容纳并为驱动器供电)上的钱最少、物理风险最低、连接技术最稳固、距离最短、潜在瓶颈最少。作为裸盘,本地磁盘是块设备。
直连存储(Direct Attached Storage):DAS 或多或少就是安置在服务器机箱外部的本地驱动器。服务器本身会把它们看得和任何其他本地驱动器一模一样,因而非常易于使用。DAS 很简单,但仍然有额外的外部容器和额外的线缆。这会增加成本和一些复杂度。DAS 让把多台服务器连接到同一组驱动器变得更容易,而这一点对本地磁盘来说几乎是不可能的,并且总是很麻烦的。因此,DAS 实际上是我们第一种在物理上可共享的存储。由于与本地磁盘完全相同,DAS 是块设备的一种形式。
网络附加存储(Network Attached Storage):NAS 的独特之处在于,它是我们可供选择的存储中唯一的非块设备。NAS,或者说传统的文件服务器——它们其实是同一回事——是我们这些技术中第一种被设计为通过网络运行的。这带来了大量的复杂性。NAS 在文件系统层级上共享存储。NAS 是一种智能设备,它让网络上的用户能够轻松而安全地共享存储,因为 NAS 自身就内置了同时处理多个用户所需的逻辑。NAS 对任何人来说都非常易于使用,甚至在家庭用户中也很常见。
存储区域网络(Storage Area Network):SAN 是对 DAS 的一种改造,增加了网络基础设施,使 SAN 能够表现得像一块远程硬盘(块设备),操作系统会把它看得和挂载在其上的任何其他硬盘并无二致。SAN 需要高级的网络知识,被大量的传说和谣言所包围,普通 IT 专业人士对它理解甚少,使用和理解起来通常都很复杂;而且由于它缺乏 NAS 所具备的逻辑,它实际上是把一块硬盘直接暴露在网络上,从而使得损坏和摧毁数据变得轻而易举。事实上,由于配置错误而在 SAN 上丢失数据是如此容易,以至于人们对 SAN 最常见的预期用途,恰恰是一种 SAN 无法用于其中的用例。
当然,其中存在大量灰色地带。通常被视为 DAS 的东西可以被改造成 SAN。SAN 可以直连。NAS 可以直连。本地存储可以根据配置充当 NAS 或 SAN,比如借助 VSA(虚拟存储设备,Virtual Storage Appliance)。许多设备同时既是 NAS 又是 SAN,其归类取决于配置,而不取决于物理设备本身。但在一般公认的用法中,这些术语大多还是直截了当的。
要点在于,当我们在清单中从左向右移动时,我们就从简单易用走向了困难复杂。SAN 本身是一项极其稳固的技术;正是人的介入,以及人们倾向于轻而易举地用 SAN 做出危险之事的这种倾向,才使它对普通用户而言成为一种危险的存储手段。正如 IT 中的一切,让我们的技术和流程保持简单,会带来稳定性和安全性,而且往往还能节省成本。
在许多时候,向“右”移动是必要的。本地磁盘的可扩展性不佳,对于某些类型的较大规模部署,维护成本可能高得难以承受。同样地,DAS 在许多情况下也不易扩展。NAS 扩展性良好,但作为一种非块协议,它有些特殊,并不总是适合我们的用途,一个很好的例子就是 HyperV,它要求存储是块设备。SAN 是存储的最终兜底之选。如果其他都行不通,SAN 总是在那里供你退而求其之——或者,用我喜欢的说法,SAN 是最后求助的存储。
这是对选择存储方案之基础的一次非常高层次的审视。这是一项必须经常完成的常见 IT 任务。我无意以任何方式用这篇文章去阐释关于存储的任何深奥知识,而只是想提供一份方便的指南,帮助理解从何处开始审视存储选项。例外和特殊情况比比皆是,但有一种情况极其常见:人们干脆跳过了最佳选项,直接去考虑某种庞大、昂贵而复杂的东西,并迅速忘记了某种简单得多的东西也许能以远为出色的方式完成同样的工作。其背后的理念是:满足需求的最简单方案,通常就是最佳方案。
