实际的 SAN 问题

实际的 SAN 问题

我正在设计我们 IT 基础架构的下一个发展阶段。我正在考虑实施 iSCSI SAN。我目前的计划是只将我们的服务器连接到 SAN,然后使用其中一台服务器作为文件服务器,通过网络共享将任何文件共享实现到桌面。在阅读更多内容后,我想知道如果我有 iSCSI SAN,我是否需要实施文件服务器。以下是我的问题:

  1. 如果我让 SAN 流量在整个网络上运行,而不是仅在 iSCSI 目标和作为客户端的服务器之间运行,是否会损害 SAN 对服务器的性能?

  2. 如果我在 iSCSI 目标上创建“磁盘”,多个客户端可以访问同一个“磁盘”吗?如果可以,这可以取代网络文件共享吗?

我意识到问题 1 是一个引导性问题,因为我没有具体说明我的网络细节,但我只是想了解一下关于如何走这条路的一般想法。提前感谢您的周到回答。

答案1

如果我让 SAN 流量在整个网络上运行,而不是仅在 iSCSI 目标和作为客户端的服务器之间运行,是否会损害 SAN 对服务器的性能?

如果您共享 NIC 以进行 iSCSI 和普通流量,那么答案是肯定的,但是请查看您发送的实际流量以获取真实答案。如果服务器和工作站之间没有路由器,则工作站的广播开销会稍微影响性能。

VLAN 是免费的,使用一个来分离 iSCSI 流量,现在大多数服务器都有 2xGbe,专门用一个用于存储通常不是问题。

如果我在 iSCSI 目标上创建“磁盘”,多个客户端可以访问同一个“磁盘”吗?如果可以,这可以取代网络文件共享吗?

不,那是 NAS(也许是您应该关注的,或者至少是像 NetApp 这样的组合设备)。

那里“集群”文件系统可以执行此操作,但是它们要求所有主机都值得信任,并且涉及大量手动配置。

您还需要查看“分区”(在 FC 世界中称为分区),以确保 Windows(它将获取任何可以获得的东西)不会窃取另一台主机的 LUN(认为是分区)

答案2

我记得我也曾想过这些问题。

详情如下:服务器将 iscsi 切片(称为 LUN)视为硬盘。服务器将其寻址为 /dev/sdwhatever,然后对其进行分区并使用 LVM(如果需要),并在该设备上创建文件系统。效果很好。

现在,当你想让多台机器同时与同一个驱动器通信时,事情就变得复杂了。这就像同时将一个 USB 驱动器连接到一堆计算机上。太疯狂了。猫和狗躺在一起。太疯狂了。

现在,确实有一些方法可以让多台机器与同一台设备通信,但您必须使用所谓的“集群”文件系统。这种文件系统知道有多台计算机正在与其通信,并且会考虑到这一点。它通过几种可能的方式实现这一点,包括多个日志(通常每台机器一个),或使用锁管理器(一台充当交通警察的特定计算机),但无论你选择哪种方式,你都必须将要通信的所有机器集群到同一个 LUN。

如果想要真正实现高可用性,大多数人通常会将三台(有时是两台,但这可能更难)机器集群在一起工作,形成一个文件服务器集群。这三台机器是唯一写入 LUN 的机器,但它们的客户端使用 NFS、Samba、FTP 或其他任何方式访问那里的文件。

我实际上前段时间做过一个 Redhat Cluster HOWTO(http://www.standalone-sysadmin.com/blog/2009/04/howto-redhat-c​​luster-suite/),但我从未成功并稳定地运行它。现在我有几台机器设置为文件服务器,没有安装 LUN,但只需按一下按钮即可。这对我来说是一种权衡,因为我没有时间学习集群套件。

答案3

1) 如果我理解正确的话:取决于哪种方式最适合你。你需要多台服务器来访问相同的文件吗?两者都可以很好地工作,所以这取决于您的需要。

2)对于特定的文件系统(GFS、OCFS),是的。否则,不是。

答案4

直接将 SAN 共享给桌面可能得不偿失,因为您必须在桌面上安装特殊的集群文件系统软件。对于 Windows 来说,这种软件可能非常昂贵,而且几乎肯定不会给您带来任何好处。您最好使用文件服务器(如果需要,它可以安装 SAN 卷)和标准 CIFS 共享。

一些 SAN 设备还可以以双模式工作,即使用传统文件共享协议导出块级存储和 NAS。NetApp 以此类设备而闻名,尽管您可以从大多数此类设备制造商处获得此类系统。

相关内容