群集文件系统具有以下特征:
文件访问位置是透明的。进程可以打开系统中任何位置的文件。所有节点上的进程都可以使用相同的路径名找到同一个文件。
在群集文件系统读取文件时,它不会更新这些文件的访问时间。
使用了一致的协议,以确保 UNIX 文件访问在语义上的一致,即使从多个节点并行访问文件时也是如此。
大规模高速缓存与零复制批量 I/O 移动一起使用,以便有效地移动文件数据。
通过使用 fcntl(2) 接口,群集文件系统提供了高可用性的建设性的文件锁定功能。而通过对群集文件系统使用建设性的文件锁定功能,运行在多个群集节点上的应用程序可以同步访问数据。节点脱离群集后,或应用程序在锁定操作期间出现故障后,文件锁定会立即恢复。
即使出现故障也可以确保对数据的不间断访问。如果到磁盘的路径仍然有效,应用程序就不会受到故障的影响。对于原始磁盘访问和所有文件系统操作,也可保证。
群集文件系统不依赖于底层文件系统和卷管理软件。群集文件系统可使任何支持的磁盘上的文件系统具有全局性。
在全局设备上,您可以使用 mount -g 全局安装文件系统或使用 mount 局部安装文件系统。
通过相同的文件名称(例如 /global/foo),程序可以从群集中的任何节点访问群集文件系统中的文件。
群集文件系统装载在所有的群集成员上。不可以在群集成员的子集上装载群集文件系统。
群集文件系统不是特殊的文件系统类型。客户机看到的是基础文件系统(如 UFS)。
在 Sun Cluster 系统中,所有多主机磁盘都放在磁盘设备组中,这些组可以是 Solaris 卷管理器磁盘集、VxVM 磁盘组或不受基于软件的卷管理器控制的独立磁盘。
要使群集文件系统具有高可用性,基础磁盘存储器必须连接到一个以上的节点。因此,成为群集文件系统的本地文件系统(存储在节点的本地磁盘上的文件系统)并不具有高可用性。
与安装一般的文件系统相似,您可以通过以下两种方式安装群集文件系统:
手动—从命令行使用 mount 命令和 -g 或 -o global 安装选项安装群集文件系统,例如:
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 3.1 9/04 Software Collection for Solaris OS (SPARC Platform Edition)》和《Sun Cluster 系统管理指南(适用于 Solaris OS)》。
设计 HAStoragePlus 资源类型的目的是使诸如 UFS 和 VxFS 之类的非全局文件系统配置具有高可用性。使用 HAStoragePlus 可将本地文件系统集成到 Sun Cluster 环境中,并使该文件系统具有高可用性。HAStoragePlus 提供了诸如检查、安装和强制卸载文件系统等附加功能,从而使 Sun Cluster 能利用本地文件系统进行故障转移。为了进行失效转移,本地文件系统必须驻留在启用了相似性切换功能的全局磁盘组中。
有关如何使用 HAStoragePlus 资源类型的信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Enabling Highly Available Local File Systems”。
HAStoragePlus 还可用于使资源及其依赖的磁盘设备组在启动时保持同步。有关更多信息,请参见资源、资源组和资源类型。
您可以对使用 UFS 作为基础文件系统的群集文件系统使用 syncdir 安装选项。但是,如果不指定 syncdir,性能会有明显提高。如果指定 syncdir,可保证写入操作与 POSIX 兼容。如果不指定 syncdir,系统文件系统的行为就与 NFS 文件系统一样。例如,如果不指定 syncdir,就只能在关闭文件后才会发现空间不足。有了 syncdir(和 POSIX 行为),空间不足的情况应该在写入操作期间就已发现了。由于不指定 syncdir 而出现问题的情况很少。
如果使用的是基于 SPARC 的群集,则 VxFS 没有与 UFS 的 syncdir 安装选项等价的安装选项。未指定 syncdir 安装选项时,VxFS 的行为与 UFS 的行为相同。
有关全局设备和群集文件系统的常见问题,请参见关于文件系统的常见问题。