在 Oracle® Solaris 11.2 中管理网络文件系统

退出打印视图

更新时间: 2014 年 7 月
 
 

Autofs 如何为客户机选择最近的只读文件(多个位置)

本节使用以下直接映射示例帮助说明 autofs 如何为客户机选择最近的只读文件。

/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 列出了多个位置,第一个挂载点有三个位置,第二个挂载点有两个位置。任何复制的位置都可以向任何用户提供相同的服务。只有在挂载只读文件系统时此过程才有意义,因为您必须对要写入或修改的文件的位置进行某些控制。您需要避免在某个时候修改某个服务器上的文件,然后在几分钟后又去修改其他服务器上的“同一个”文件。这样做的优点是,将自动使用可用性最佳的服务器,而用户无需执行任何工作。

如果已将文件系统配置为副本(请参见什么是复制的文件系统?),则客户机可以利用故障转移。这样,不仅可以自动确定最佳的服务器,而且在该服务器不可用时,客户机还会自动使用下一个最佳服务器。

将好的文件系统配置为副本的一个示例是手册页。在大型网络中,多台服务器可以导出当前的一组手册页。只要服务器正在运行且正在导出其文件系统,从哪个服务器挂载手册页并不重要。在直接映射示例中,多个挂载位置在映射项中表示为挂载位置的列表。

/usr/man -ro oak:/usr/man rose:/usr/man willow:/usr/man 

    在本示例中,可以从服务器 oakrosewillow 挂载手册页。哪个服务器最佳取决于很多因素,其中包括:

  • 支持特定 NFS 协议级别的服务器数目

  • 服务器邻近度

  • 加权

排序期间,将对支持各版本 NFS 协议的服务器进行计数。大多数服务器支持的协议版本将成为要使用的缺省协议。此选择为客户机提供最多的可依赖的服务器。

找到使用同一版本协议的服务器的最大子集后,会按邻近度对该服务器列表进行排序。为确定邻近度,将检查 IPv4 地址以确定哪些服务器在每个子网中。本地子网中的服务器优先于远程子网中的服务器。首选最近的服务器可以减少延迟时间和网络通信流量。


注 -  不能确定使用 IPv6 地址的副本的邻近度。

Figure 2–5 说明了服务器的邻近度。

图 2-5  服务器邻近度

image:此图说明了服务器的邻近度。

如果支持同一协议的多台服务器位于本地子网中,则系统将确定连接每台服务器的时间并使用最快的服务器。使用加权也会影响排序。有关加权的更多信息,请参见Autofs 和加权

    例如,如果本地子网上的 NFS 版本 4 服务器比较多,则 NFS 版本 4 将成为使用的缺省协议。但是,当本地子网上的服务器支持不同协议时,排序过程更加复杂。以下是如何进行排序的一些示例:

  • 本地子网中的服务器优先于远程子网中的服务器。因此,如果 NFS 版本 3 服务器在本地子网上,而最近的 NFS 版本 4 服务器在远程子网上,则 NFS 版本 3 服务器优先级更高。同样,如果本地子网包含 NFS 版本 2 服务器,则它们优先于包含 NFS 版本 3 和 NFS 版本 4 服务器的远程子网。

  • 如果本地子网包含数目不同的 NFS 版本 2、NFS 版本 3 和 NFS 版本 4 服务器,则需要进行更多排序。自动挂载程序将优先使用本地子网上的最高版本。在这种情况下,NFS 版本 4 是最高版本。但是,如果本地子网上的 NFS 版本 3 或 NFS 版本 2 服务器比 NFS 版本 4 服务器多,则自动挂载程序将从本地子网上的最高版本“向下移动”一个版本。例如,如果本地子网上有三台 NFS 版本 4 服务器、三台 NFS 版本 3 服务器和十台 NFS 版本 2 服务器,则会选择 NFS 版本 3 服务器。

  • 同样,如果本地子网包含数目不同的 NFS 版本 2 和 NFS 版本 3 服务器,则自动挂载程序将首先查看哪个版本代表本地子网上的最高版本。接下来,自动挂载程序将对运行每个版本的服务器进行计数。如果本地子网中的最高版本同时代表最多的服务器,则选择最高版本。如果较低版本具有更多服务器,则自动挂载程序将从本地子网上的最高版本向下移动一个版本。例如,如果本地子网上的 NFS 版本 2 服务器比 NFS 版本 3 服务器多,则选择 NFS 版本 2 服务器。


注 -  加权还受 SMF 系统信息库中存储的参数影响。具体来说,server_versminclient_versminserver_versmaxclient_versmax 的值可以将某些版本从排序过程中排除。有关这些参数的更多信息,请参见NFS 守护进程

选择服务器之后,可以在挂载时使用故障转移检查排序方式。在单个服务器可能无法临时导出其文件系统的环境中,多个位置非常有用。

在具有许多子网的大型网络中,故障转移特别有用。Autofs 将选择适当的服务器,并且能够将 NFS 网络通信流量限制在本地网络段。如果服务器具有多个网络接口,则可以列出与每个网络接口关联的主机名,就像接口是单独的服务器一样。Autofs 将选择离客户机最近的接口。


注 -  对于手动挂载,不会执行任何加权和邻近度检查。mount 命令将对从左到右列出的服务器设置优先级。

有关更多信息,请参见 automount(1M) 手册页。