群集文件系统具有以下特征:
文件访问位置是透明的。 一个进程可打开位于系统中任何位置的文件,而且所有节点上的进程都可以使用同样的路径名定位文件。
在群集文件系统读取文件时,它不会更新这些文件的访问时间。
使用了一致的协议,以确保 UNIX 文件访问在语义上的一致,即使从多个节点并行访问文件时也是如此。
大规模高速缓存与零复制批量 I/O 移动一起使用,以便有效地移动文件数据。
通过使用 fcntl(2) 接口,群集文件系统提供高度可用的报告文件锁定功能。 在多群集节点中运行的应用程序可以使用锁定在群集文件系统文件中的报告文件同步访问数据。 节点脱离群集后,或应用程序在锁定操作期间出现故障后,文件锁定会立即恢复。
即使出现故障也可以确保对数据的不间断访问。 只要到磁盘的路径仍然有效,应用程序就不会受到故障的影响。 对于原始磁盘访问和所有文件系统操作,也可保证。
群集文件系统与基础文件系统和卷管理软件无关。 群集文件系统可使任何支持的磁盘上的文件系统具有全局性。
在全局设备上,您可以使用 mount -g 进行全局装载或使用 mount 进行本地装载。
通过相同的文件名称(例如 /global/foo),程序可以从群集中的任何节点访问群集文件系统中的文件。
群集文件系统装载在所有的群集成员上。 不可以在群集成员的子集上装载群集文件系统。
群集文件系统不是特殊的文件系统类型。 也就是说,客户机看到的是基础文件系统(如 UFS)。
在 SunPlex 系统中,所有多主机磁盘都存放在磁盘设备组中,这些组可以是 Solaris Volume Manager 磁盘集、VxVM 磁盘组或不受基于软件的卷管理器控制的独立磁盘。
要使群集文件系统具有高可用性,基础磁盘存储器必须连接到一个以上的节点。 因此,成为群集文件系统的本地文件系统(存储在节点的本地磁盘上的文件系统)并不具有高可用性。
与一般的文件系统相同,您可以通过以下两种方式装载群集文件系统:
手动 — 使用 mount 命令和 -g 或 -oglobal 装载选项从命令行装载群集文件系统,例如:
SPARC: # mount -g /dev/global/dsk/d0s0 /global/oracle/data |
自动 — 使用 global 装载选项在 /etc/vfstab 文件中创建一个条目,以便在引导时装载群集文件系统。 接着就可以在所有节点上的 /global 目录下创建一个装载点。 推荐(但不要求)使用目录 /global。 下面是 /etc/vfstab 文件中一个群集文件系统的样例行:
SPARC: /dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/data ufs 2 yes global,logging |
Sun Cluster 软件并不强制要求在群集文件系统中使用一种命名策略,所以您可以在同一目录下(如 /global/disk-device-group)为所有群集文件系统创建一个装载点,从而简化管理。 有关详细信息,请参阅《Sun Cluster 软件安装指南》和《Sun Cluster 系统管理指南》。
HAStoragePlus 资源类型设计的目的是使诸如 UFS 和 VxFS 之类的非全局文件系统配置具有高可用性。 使用 HAStoragePlus 可将本地文件系统集成到 Sun Cluster 环境中,并使该文件系统具有高可用性。 HAStoragePlus 提供了诸如校验、装载和强制卸载之类附加的文件系统功能,使得 Sun Cluster 能对本地文件系统进行失效转移。 为了进行失效转移,本地文件系统必须驻留在启用了相似性切换功能的全局磁盘组中。
有关如何使用 HAStoragePlus 资源类型的信息,请参见 Data Services Installation and Configuration Guide 中的各数据服务章节,或第 14 章“Administering Data Services Resource”中的“Enabling Highly Available Local File Systems”。
也可以使用 HAStoragePlus 使资源的启动和这些资源所依赖的磁盘设备组的启动同步。 有关详细信息,请参见资源、资源组和资源类型。
syncdir 装载选项可用于将 UFS 用作基础文件系统的群集文件系统。 不过,如果不指定 syncdir,性能会有明显提高。 如果指定 syncdir,可保证写入操作与 POSIX 兼容。 如果不指定,您会看到与 NFS 文件系统一样的行为。 例如,在某些情况下,如果不指定 syncdir,就只能在关闭一个文件后才发现空间不足。 有了 syncdir(和 POSIX 行为),空间不足的情况应该在写入操作期间就已发现了。 如果不指定 syncdir,很少会出现问题。所以我们建议您不指定 syncdir,以便获得高性能。
如果使用的是基于 SPARC 的群集,Veritas VxFS 没有与 UFS 的 syncdir 装载选项等价的装载选项。 未指定 syncdir 装载选项时,VxFS 的行为与 UFS 的行为相同。
有关全局设备和群集文件系统的常见问题,请参见文件系统 FAQ。