1.8. 共享存储文件系统
共享存储文件系统有时称为集群文件系统,允许集群中的每台服务器通过本地存储区域网络(SAN)直接访问共享块设备。
- 和网络文件系统的比较
- 与客户端/服务器文件系统一样,共享存储文件系统在一组服务器上工作,这些服务器都是群集的成员。但与 NFS 不同,没有一个服务器向其他成员提供对数据或元数据的访问:群集的每个成员都可以直接访问同一存储设备( 共享存储),并且所有群集节点都可以访问同一组文件。
- 并发
缓存一致性是集群文件系统中确保数据一致性和完整性的关键。集群中所有文件的单个版本都必须对群集内的所有节点可见。文件系统必须阻止群集成员同时更新同一存储块,以防止数据损坏。为此,共享存储文件系统使用集群范围的锁机制作为并发控制机制来仲裁对存储的访问。例如,在创建新文件或写入在多个服务器上打开的文件之前,服务器上的文件系统组件必须获得正确的锁。
群集文件系统的要求是提供一种像 Apache Web 服务器那样高可用的服务。群集的任何成员都将看到存储在共享磁盘文件系统中的数据的完全一致的视图,并且所有更新都会通过锁机制正确仲裁。
- 性能特性
由于锁开销的计算成本,共享磁盘文件系统并不总像运行在同一系统上的本地文件系统那样表现良好。如果每个节点几乎以独占方式写入一组不与其他节点共享的特定文件,或者一组文件在一组节点上以几乎独占的只读方式被共享,那么共享磁盘文件系统可以很好地执行这种工作负载。这将导致最小的跨节点缓存失效,并可最大限度地提高性能。
设置共享磁盘文件系统非常复杂,调优应用以在共享磁盘文件系统上表现良好非常有挑战性。
- 可用的共享存储文件系统
- Red Hat Enterprise Linux 提供 GFS2 文件系统。GFS2 与 Red Hat Enterprise Linux High Availability Add-On 和 Resilient Storage 附加组件紧密整合。
Red Hat Enterprise Linux 支持集群中大小为 2 到 16 个节点的 GFS2。