1.8. 共享存储文件系统
共享存储文件系统(有时被称为集群文件系统)可让集群中的每台服务器直接访问共享块设备。它们使用本地存储区域网络(SAN)。
- 和网络文件系统的比较
- 与客户端/服务器文件系统一样,共享存储文件系统在一组服务器上工作,这些服务器都是群集的成员。但与 NFS 不同,单个服务器不向其他成员提供对数据或元数据的访问。集群的每个成员都可以直接访问同一存储设备( 共享存储)。所有群集成员节点都可以访问同一组文件。
- 并发
缓存一致性是集群文件系统中确保数据一致性和完整性的关键。集群中所有文件的单个版本都必须对群集内的所有节点可见。文件系统必须阻止群集成员同时更新相同的存储块,并导致数据崩溃。为此,共享存储文件系统使用集群范围的锁定机制。这控制对存储的访问,作为防止冲突的方法。
例如,在创建新文件或写入在多个服务器上打开的文件之前,文件系统组件必须获取正确的锁定。
群集文件系统的要求是提供一种像 Apache Web 服务器那样高可用的服务。集群的任何成员都可以看到存储在其共享磁盘文件系统中数据的完全一致的视图。所有更新都由锁定机制正确仲裁。
- 性能特性
共享磁盘文件系统不会始终与在同一系统上运行的本地文件系统执行。这是因为锁定开销的计算成本。共享磁盘文件系统在某些工作负载中表现良好,每个节点几乎只写入自己的一组文件。这些文件不与其他节点共享。
或者,可以以几乎完全只读方式在节点间共享一组文件。这将导致最小的跨节点缓存失效,并可最大限度地提高性能。
设置共享磁盘文件系统非常复杂。调优应用程序以在共享磁盘文件系统上表现良好可能具有挑战性。