我不确定这是否是适合提问的论坛,但是还是想问一下...
我的雇主决定安装 SAN。由于各种无关紧要的原因,这件事从未真正发生过。但我做了一些研究,想知道“SAN”是什么,结果……我感到很困惑。它看起来像一个非常糟糕的想法我只能得出这样的结论:我误解了它的工作原理。
据我所知,SAN 代表存储区域网络,其基本含义是使用普通 IP 网络将服务器连接到磁盘。我完全震惊于任何理智的人竟然会认为这是一个好主意。
因此,我使用 Ultra-320 SCSI 链路将服务器连接到其磁盘。这意味着该服务器上的所有磁盘共享 320 MB/s 的带宽。然后我将它们从 SCSI 链路上拆下来,并将它们插入 100 Mbit/s 以太网网络,其理论带宽只有 12.5 MB/s。这就是前你要考虑路由延迟、IP 开销以及可能的数据包冲突。(后者通常可以避免。)
320 MB/s 对比 12.5 MB/s。我想想,这大概慢了 25 倍。理论上如此。在我们添加 IP 开销之前。(SCSI 可能也有自己的命令开销,但我猜测SAN 可能只是通过 IP 传输 SCSI 命令,而不是通过 IP 实现全新的磁盘协议。)
现在,每台服务器都有专用的 SCSI 链路,这意味着每次添加另一台服务器时,我都会添加更多带宽(和更多磁盘)。但是使用共享 SAN,每次添加服务器时,我都会占用带宽从现有的服务器。现在的事情慢点当我添加更多硬件时,快点。
此外,SAN 技术显然极其昂贵。而且,有理由推测,建立整个 IP 网络要比仅仅将几个驱动器插入电缆复杂得多。
因此,使用 SAN 的缺点如下:成本大幅增加、性能大幅下降、扩展性下降、复杂性增加以及系统可能出现故障的点更多。那么,SAN 的优点是什么呢?
我一直听说,它可以更轻松地添加磁盘,或将磁盘从一台服务器移动到另一台服务器。声音逻辑上讲,这很合理 - 假设使用 SAN,你只需按几个按钮,驱动器现在就属于另一台服务器。这比物理移动驱动器要简单得多(具体取决于驱动器的连接方式)。
另一方面,在这里工作 10 年,我需要更换磁盘……让我数一数……两次。所以这是大约每 5 年发生一次的事情。所以你是说每 5 年一次,SAN 会为我节省 5 分钟的工作时间?而每天的每一秒都会让速度慢 25 倍?这是一个好的权衡吗?
我想如果我负责某个大型数据中心千服务器数量众多,跟踪这么多磁盘可能很困难,而使用 SAN 可能更有意义。哎呀,如果所有服务器都虚拟化,它们的速度都会非常慢,所以 SAN 可能根本不重要。
然而,这根本不符合我的情况。我有二服务器三每个磁盘。管理所有这些东西并不“困难”。
简而言之,无论我怎么看,这看起来都极其愚蠢。事实上,它看起来如此明显地没人会花时间研发这么愚蠢的东西,这太愚蠢了。正如我上面所说,这只能意味着我误解了某些地方——因为没人会做这么愚蠢的事情。
有人能向我解释一下我在这里没看到什么吗?
答案1
您在这里没有看到的主要情况是,虽然没有一个头脑正常的人会使用 100 Mbit 以太网来处理 SAN 流量,但还有很多其他选项,它们不仅速度更快,而且比直接连接存储(如标准 SCSI)快得多。
企业级 SAN 通常使用以下方式连接到服务器光纤通道技术,其速度范围从 1 Gbit 到 20 Gbit,最常用的适配器在 4-8 Gbit 范围内;这不仅实现了一些感人的带宽,但也可以利用多路径 I/O,允许不同适配器、FC 交换机和存储控制器之间进行带宽聚合和故障转移,以实现最大可用性。
服务器访问 SAN 存储的另一种方式是使用互联网SCSI,这是 SCSI 协议通过 IP 传输的实现;这可能就是您在问题中提到的。这实际上通常被认为是一种不太理想的解决方案(最佳解决方案是 FC),但仍然没有人会在 100 Mbit 以太网上运行它,而且情况发生了变化戏剧性地在千兆位(或 10 Gbit)以太网链路上运行时。
说到速度,你所听到的有关 SAN 的其他一切都适用:你可以创建和调整卷大小(称为LUN),将它们呈现给不同的服务器(甚至同时呈现给多个服务器,这通常是集群的要求),并且还有一些不错的附加好处,如 SAN 到 SAN 复制和 SAN 级备份,这可以真的当您必须处理大量(如许多 TB)数据的高可用性和灾难恢复时,需要进行更改。
与往常一样,你可以从这里开始进一步挖掘:http://en.wikipedia.org/wiki/Storage_area_network。
当然,这通常适用于中型/大型环境。即使在较小的环境中,也可能需要小型 SAN。但在两台服务器,任何类型的 SAN 都很可能过度使用。
答案2
我可以向你保证,我们根本没有疯,让我们来听听你的一些想法。
它基本上意味着你使用普通 IP 网络将服务器连接到磁盘
你能这样做,但许多人没有,为了获得更好的性能和可靠性,许多公司要么拥有专用网络,仅用于数据中心以太网(用于 FCoE),要么拥有 IP(用于 iSCSI)或基于光纤通道(FC)的阵列通信。
Ultra-320 SCSI 实际上只有 2.560Gbps,而 1Gbps 以太网(通常用于 iSCSI)因此总体上要慢 2.56 倍,许多人都乐于接受这个限制,因为他们的带宽要求符合该条件。但是 SAN 通常要处理快得多的协议,10Gbps、40Gbps 和 100Gbps 以太网链路用于 FCoE 和 iSCSI,在 FC 世界中,大多数链路速度为 4Gbps、8Gbps 和 16Gbps - 最好的是,FC 和 FCoE 协议专门设计用于处理存储数据,并且在高并发负载下比常规以太网或 SCSI/SAS 降级得更为优雅。顺便说一句,没有人会在生产环境中真正将 100Mbps 以太网用于 iSCSI,现在谁会使用 100Mbps 以太网做任何事情呢?
因此,SAN 通常比本地连接的存储快得多,但人们使用 SAN 的主要原因是确保他们的服务正常运行。他们使用块级共享和集群感知文件系统来实现这一点,多个服务器可以同时并发访问单个数据块,而不是像使用 NAS 时那样访问文件。这就是我们专业人士可以拥有多节点数据库集群和容错虚拟机等东西的方式。
正如您所建议的,添加、更改和删除磁盘确实容易得多 - 如果必须使用本地磁盘,则需要订购物理磁盘,安装并呈现给机器。使用 SAN,我只需要准备一大块磁盘,然后根据需要划分所需的磁盘,在几秒钟内根据需要呈现给服务器,当不需要时,空间将返回到池中。此外,故障磁盘的处理也更加顺畅。
我认为您的问题在于您缺乏处理规模的经验,我负责数万个磁盘,它们每天都会坏掉,但我们有一个非常顺畅的流程,包括根据需要立即就位的全球在线备用磁盘,这意味着我们可以在正常工作时间内更换物理磁盘 - 无需午夜出动。如果我只是照看几个独立的盒子,那么我也不会理解,但对于具有重要可用性要求、不断变化的需求和需要可靠存储大量数据的企业来说,恐怕 SAN 是唯一有意义的东西。
答案3
好的,首先,通常您在速度超过 100mbps 的网络上使用 san。1gig、10gig 或(最常见)光纤通道。
说到可用性,现在大多数服务器都是虚拟化的。例如,您有 10 台主机,上面托管 100 台虚拟机。如果一台主机上的机器开始使用过多的 CPU,您打算怎么做?...迁移它们?您如何想象使用本地磁盘执行此操作?将所有数据(假设每台机器 100GB)复制到另一台主机,然后再复制回来?这就是为什么您要将所有主机连接到大型 SAN,并将所有数据保存在那里,然后仅发送机器的运行状态。
还有一种情况可以更好地利用存储 - 例如,DNS 服务器通常只需要很少的磁盘空间(如果日志发送到其他地方),但其他服务(文件服务器)则需要很多磁盘空间。如果将它们全部组合到大型 SAN 上,则可以节省空间,方法是使用那里的所有驱动器(甚至是驱动器上的可用空间,否则这些空间会放在 DNS 服务器中)。
关于数据安全 - 您有多少个驱动器?驱动器经常发生故障!如果您想保持服务运行,则至少需要一定级别的 RAID(通常是 raid1 或 5,或任何其他组合)。因此,您之前示例中的 DNS 服务器需要 2 个 400gig 驱动器(如果您购买的是新服务器,通常您无法获得比这更少的驱动器,除非您购买的是 ssd)。因此,每台服务器都需要 x2 个驱动器(或 raid5 的 n+1)。
在 SOHO 环境中,SAN 完全是多余的。在企业环境中,您确实非常希望拥有集中存储(至少对于虚拟机而言),以及集中硬件管理。
答案4
您似乎在查看服务器上的原始访问。如果您的服务器使用大量磁盘 IO,那么直接连接存储而不是通过 100mbit 以太网存储是有意义的。
然而:
1)查看文件服务器角色:
Clients <-> Ethernet <-> [ fileserver HW -> SCSI/SAS -> disks ]
现在在您的 SAN
Clients <-> Ethernet <-> [ Some hardware, probably with SAS and disks ]
现在没什么不同了。:)
2)网络速度
有很多比 100mbit 以太网更快的接口。可能不是家庭/SOHO 版本。但企业 SAN 将提供光纤通道、iSCSI、10GBit 以太网等。