/usr/local -ro \ /bin ivy:/export/local/sun4\ /share ivy:/export/local/share\ /src ivy:/export/local/src /usr/man -ro oak:/usr/man \ rose:/usr/man \ willow:/usr/man /usr/games -ro peach:/usr/games /usr/spool/news -ro pine:/usr/spool/news \ willow:/var/spool/news |
挂载点 /usr/man 和 /usr/spool/news 列出了多个位置,第一个挂载点有三个位置,第二个挂载点有两个位置。 任何复制的位置都可以向任何用户提供相同的服务。只有在挂载只读文件系统时此过程才有意义,因为您必须对要写入或修改的文件位置进行某些控制。您需要避免在某个时候修改某个服务器上的文件,然后在几分钟后又去修改其他服务器上的“同一个”文件。这样做的优点是,将自动使用可用性最佳的服务器,而无需执行用户所需的任何工作。
如果已将文件系统配置为副本(请参见什么是复制的文件系统?),则客户机可以利用故障转移。这样,不仅可以自动确定最佳的服务器,而且在该服务器不可用时,客户机还会自动使用下一个最佳服务器。故障转移最先在 Solaris 2.6 发行版中得以实现。
将好的文件系统配置为副本的示例是手册页。在大型网络中,多个服务器可以导出当前的一组手册页。如果服务器正在运行且正在导出其文件系统,则从哪个服务器挂载手册页并不重要。在前面示例中,多个挂载位置在映射项中被表示为挂载位置的列表。
/usr/man -ro oak:/usr/man rose:/usr/man willow:/usr/man |
在本示例中,可以从服务器 oak、rose 或 willow 挂载手册页。哪个服务器最好取决于很多因素,其中包括:
支持特定 NFS 协议级别的服务器数目
服务器的邻近度
加权
排序期间,将对支持各版本的 NFS 协议的服务器进行计数。大多数服务器支持的协议版本将成为要使用的缺省协议。此选择为客户机提供最多可依赖的服务器。
找到包含同一版本协议的最大的服务器子集后,服务器列表将按邻近度进行排序。为确定邻近度,将检查 IPv4 地址。根据 IPv4 地址可显示每个子网中的服务器。本地子网中的服务器优先于远程子网中的服务器。首选最近的服务器可以减少延迟时间和网络通信流量。
不能确定使用 IPv6 地址的副本的邻近度。
图 6–5 说明了服务器的邻近度。
如果支持同一协议的多个服务器位于本地子网中,则系统将确定连接每个服务器的时间并将使用最快的服务器。使用加权也会影响排序(请参见Autofs 和加权)。
例如,如果版本 4 服务器比较多,则版本 4 将成为要使用的缺省协议。但是,现在排序过程更加复杂了。以下是如何进行排序的一些示例。
本地子网中的服务器优先于远程子网中的服务器。因此,如果版本 3 服务器位于本地子网中,而最近的版本 4 服务器位于远程子网中,则版本 3 服务器优先级更高。同样,如果本地子网包含版本 2 服务器,则它们优先于包含版本 3 和版本 4 服务器的远程子网。
如果本地子网包含数目不同的版本 2、版本 3 和版本 4 服务器,则需要进行更多排序。自动挂载程序将优先使用本地子网上的最高版本。在这种情况下,版本 4 是最高版本。但是,如果本地子网具有的版本 3 或版本 2 服务器比版本 4 服务器多,则自动挂载程序将从本地子网上的最高版本“向下移动”一个版本。例如,如果本地子网有三个版本 4 服务器、三个版本 3 服务器和十个版本 2 服务器,则将选择版本 3 服务器。
同样,如果本地子网包含数目不同的版本 2 和版本 3 服务器,则自动挂载程序将首先查看哪个版本代表本地子网上的最高版本。接下来,自动挂载程序将对运行每个版本的服务器数目进行计数。如果本地子网中的最高版本也代表最多的服务器,则将选择最高版本。如果较低版本具有更多服务器,则自动挂载程序将从本地子网上的最高版本向下移动一个版本。例如,如果本地子网上的版本 2 服务器比版本 3 服务器更多,则将选择版本 2 服务器。
/etc/default/nfs 文件中的关键字值也会影响加权。具体来说,NFS_SERVER_VERSMIN、NFS_CLIENT_VERSMIN、NFS_SERVER_VERSMAX 和 NFS_CLIENT_VERSMAX 的值可以从排序过程中排除某些版本。有关这些关键字的更多信息,请参见/etc/default/nfs 文件的关键字。
选择服务器之后,可以在挂载时使用故障转移检查排序方式。在个别服务器可能无法临时导出其文件系统的环境中,多个位置是非常有用的。
在具有许多子网的大型网络中,故障转移特别有用。Autofs 将选择适当的服务器,并且能够将 NFS 网络通信限制在本地网络段。如果服务器具有多个网络接口,则可以列出与每个网络接口关联的主机名,就像接口是单独的服务器一样。Autofs 将选择离客户机最近的接口。
对于手动挂载,不会执行任何加权和邻近度检查。mount 命令将对从左到右列出的服务器设置优先级。
有关更多信息,请参见 automount(1M) 手册页。