既然不可能,那么 Web 服务器/数据库服务器如何能同时访问共享存储?

既然不可能,那么 Web 服务器/数据库服务器如何能同时访问共享存储?

看过这个帖子后

SAN 是否允许多台服务器同时对同一文件进行写访问?

我想问一下,既然不可能,那么网络/数据库服务器如何才能同时访问共享存储?

谢谢

答案1

首先:你引用的答案(至少大部分内容)是错误的。或者换句话说:它只在非常特定的情况下才是正确的。

第二,很复杂。

服务器连接到 SAN 存储的技术有很多种。这意味着不同的(物理)连接方式和使用这些连接方式的不同协议。我不会详细解释所有这些技术和协议,因为这将是一本书,而不是一个答案。我将只关注最常见的事情:

通常使用光纤通道将 LUN 从 SAN 连接到主机。允许哪个主机连接(安装等)某些 LUN 是通过称为“分区”的过程声明的。将分区想象成类似于创建 VLAN:每个设备都有一个唯一的编号(在 FC 中,这称为“WWPN”,其工作方式类似于 LAN 中的 MAC 地址),而“区域”基本上是一个规则(在 FC 交换机中),规定允许特定 WWPN 列表相互通信。由于每个 FC 适配器和每个 LUN 都平等地分配了这样的 WWPN,因此您可以声明允许某个 FC 适配器(因此 - 系统、主机)使用某个磁盘(LUN)。

完全有可能让多台主机连接到同一个 LUN,从而“看到”同一个磁盘。在高可用性集群(例如 IBM PowerHA)中,这是正常的操作方式:所有节点(集群的成员主机)查看磁盘,一个节点在其上安装文件系统,如果它崩溃,下一个节点将接管,安装现在废弃的磁盘等。

甚至在读/写模式下,许多节点也有可能访问磁盘。这就是 Oracle RAC 集群的工作方式。但请注意,底层技术并未为此提供保障:这是驱动程序的责任,无论是 FC-(MPIO-) 驱动程序还是使用它们的文件系统驱动程序。IBM 的 GPFS 就是一个例子。

相关内容