JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:网络服务     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分网络服务主题

1.  网络服务(概述)

2.  管理 Web 高速缓存服务器

3.  与时间有关的服务

第 2 部分访问网络文件系统主题

4.  管理网络文件系统(概述)

5.  网络文件系统管理(任务)

6.  访问网络文件系统(参考)

NFS 文件

/etc/default/autofs 文件

/etc/default/nfs 文件的关键字

/etc/default/nfslogd 文件

/etc/nfs/nfslog.conf 文件

NFS 守护进程

automountd 守护进程

lockd 守护进程

mountd 守护进程

nfs4cbd 守护进程

nfsd 守护进程

nfslogd 守护进程

nfsmapid 守护进程

配置文件和 nfsmapid

优先级规则

nfsmapid 和 DNS TXT 记录

检查 NFS 版本 4 域

配置 NFS 版本 4 缺省域

有关 nfsmapid 的其他信息

statd 守护进程

NFS 命令

automount 命令

clear_locks 命令

fsstat 命令

mount 命令

NFS 文件系统的 mount 选项

使用 mount 命令

umount 命令

mountall 命令

umountall 命令

share 命令

特定于非文件系统的 share 选项

特定于 NFS 的 share 选项

使用 share 命令设置访问列表

unshare 命令

shareall 命令

unshareall 命令

showmount 命令

setmnt 命令

用于解决 NFS 问题的命令

nfsstat 命令

pstack 命令

rpcinfo 命令

snoop 命令

truss 命令

NFS Over RDMA

NFS 服务如何工作

NFS 中的版本协商

NFS 版本 4 的功能

在 NFS 版本 4 中取消共享和重新共享文件系统

NFS 版本 4 中的文件系统名称空间

NFS 版本 4 中的可变文件句柄

NFS 版本 4 中的客户机恢复

NFS 版本 4 中的 OPEN 共享支持

NFS 版本 4 中的委托

NFS 版本 4 中的 ACL 和 nfsmapid

UDP 和 TCP 协商

文件传输大小协商

如何挂载文件系统

挂载时 -public 选项和 NFS URL 的作用

客户端故障转移

故障转移术语

什么是复制的文件系统?

故障转移和 NFS 锁定

NFS 版本 4 中的客户端故障转移

大文件

NFS 服务器日志记录如何工作

WebNFS 服务如何工作

WebNFS 安全协商如何工作

Web 浏览器使用的 WebNFS 限制

安全 NFS 系统

安全 RPC

DH 验证

KERB 验证

在 NFS 中使用安全 RPC

Autofs 映射

Autofs 主映射

挂载点 /home

挂载点 /net

Autofs 直接映射

挂载点 /-

Autofs 间接映射

Autofs 如何工作

Autofs 如何在网络中进行导航(映射)

Autofs 如何启动导航进程(主映射)

Autofs 挂载过程

简单的 Autofs 挂载

有层次挂载

Autofs 取消挂载

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

Autofs 和加权

映射项中的变量

引用其他映射的映射

Autofs 可执行映射

修改 Autofs 导航网络的方式(修改映射)

使用名称服务时的缺省 Autofs 行为

Autofs 参考

Autofs 和元字符

和符号 (&)

星号 (*)

Autofs 和特殊字符

第 3 部分SLP 主题

7.  SLP(概述)

8.  规划和启用 SLP(任务)

9.  管理 SLP(任务)

10.  引入传统服务

11.  SLP(参考)

第 4 部分邮件服务主题

12.  邮件服务(概述)

13.  邮件服务(任务)

14.  邮件服务(参考)

第 5 部分串行网络主题

15.  Solaris PPP 4.0(概述)

16.  规划 PPP 链路(任务)

17.  设置拨号 PPP 链路(任务)

18.  设置租用线路 PPP 链路(任务)

19.  设置 PPP 验证(任务)

20.  设置 PPPoE 通道(任务)

21.  修复常见的 PPP 问题(任务)

22.  Solaris PPP 4.0(参考)

23.  从异步 Solaris PPP 迁移至 Solaris PPP 4.0(任务)

24.  UUCP(概述)

25.  管理 UUCP(任务)

26.  UUCP(参考)

第 6 部分使用远程系统主题

27.  使用远程系统(概述)

28.  管理 FTP 服务器(任务)

29.  访问远程系统(任务)

第 7 部分监视网络服务主题

30.  监视网络性能(任务)

词汇表

索引

Autofs 如何工作

Autofs 是一项可自动挂载相应文件系统的客户端服务。以下是协同工作以完成自动挂载的组件:

自动挂载服务 svc:/system/filesystem/autofs 是在系统启动时调用的,它可读取主映射文件 auto_master 以创建最初的一组 autofs 挂载。这些 autofs 挂载在启动时不会自动挂载。这些挂载是一些点,以后将会在这些点之下挂载文件系统。这些点也称为触发节点。

设置 autofs 挂载后,这些挂载可以触发在其下挂载文件系统。例如,当 autofs 收到对当前尚未挂载的文件系统的访问请求时,autofs 会调用 automountd,实际上由该命令挂载请求的文件系统。

初始挂载 autofs 挂载后,必要时会使用 automount 命令更新 autofs 挂载。该命令将比较 auto_master 映射中的挂载列表和挂载表文件 /etc/mnttab(以前为 /etc/mtab)中的已挂载文件系统的列表。然后,automount 会做出相应更改。该进程允许系统管理员更改 auto_master 中的挂载信息,并使 autofs 进程可以使用这些更改,而无需停止并重新启动 autofs 守护进程。挂载文件系统后,在自动取消挂载文件系统之前,进一步进行访问不需要 automountd 执行任何操作。

mount 不同,automount 并不会从 /etc/vfstab 文件(该文件特定于每台计算机)中读取要挂载的文件系统列表。在域中或在计算机上,automount 命令是通过名称空间或本地文件进行控制的。

以下是有关 autofs 工作方式的简要概述。

自动挂载守护进程 automountd 是在引导时由服务 svc:/system/filesystem/autofs 启动的。请参见图 6-3。此服务还运行 automount 命令,该命令读取主映射并安装 autofs 挂载点。有关更多信息,请参见Autofs 如何启动导航进程(主映射)

图 6-3 svc:/system/filesystem/autofs 服务启动 automount

image:文中对该图形进行了说明。

Autofs 是支持自动挂载和取消挂载的内核文件系统。

请求访问 autofs 挂载点处的文件系统时,将发生下列情况:

  1. Autofs 拦截请求。

  2. Autofs 将消息发送到 automountd,以便挂载请求的文件系统。

  3. automountd 在映射中查找文件系统信息,创建触发节点并执行挂载。

  4. Autofs 允许继续处理被拦截的请求。

  5. 当文件系统在一段时间内没有活动后,Autofs 将取消挂载该文件系统。


注 - 不应手动挂载或取消挂载通过 autofs 服务管理的挂载。即使手动操作成功,autofs 服务也不会检查是否已取消挂载该对象,从而可能导致不一致。重新引导时将清除所有 autofs 挂载点。


Autofs 如何在网络中进行导航(映射)

Autofs 将搜索一系列映射以在网络中进行导航。映射是包含诸如网络中的所有用户的口令项或网络中的所有主机名称等信息的文件。实际上,这些映射包含网络范围内与 UNIX 管理文件等效的文件。可以在本地使用映射,或通过网络名称服务(如 NIS 或 NIS+)使用映射。请参见修改 Autofs 导航网络的方式(修改映射)

Autofs 如何启动导航进程(主映射)

automount 命令在系统启动时读取主映射。主映射中的项包括直接映射名或间接映射名、映射路径和映射的挂载选项,如图 6-4 所示。项的具体顺序并不重要。automount 会将主映射中的项与挂载表中的项进行比较,以生成最新列表。

图 6-4 在主映射中进行导航

image:文中对该图形进行了说明。

Autofs 挂载过程

触发挂载请求时,autofs 服务执行的具体操作取决于自动挂载程序映射的配置方式。一般情况下,挂载过程对于所有挂载都是相同的。然而,最终结果会随指定的挂载点和映射复杂性的不同而不同。挂载过程包括创建触发器节点。

简单的 Autofs 挂载

为帮助说明 autofs 挂载过程,假设已安装了以下文件。

$ cat /etc/auto_master
# Master map for automounter
#
+auto_master
/net        -hosts        -nosuid,nobrowse
/home       auto_home     -nobrowse
/share      auto_share
$ cat /etc/auto_share
# share directory map for automounter
#
ws          gumbo:/export/share/ws

访问 /share 目录时,autofs 服务将为 /share/ws 创建一个触发节点,/share/ws 是 /etc/mnttab 中类似于以下项的项:

-hosts  /share/ws     autofs  nosuid,nobrowse,ignore,nest,dev=###

访问 /share/ws 目录时,autofs 服务将通过以下步骤完成该过程:

  1. 检查服务器的挂载服务的可用性。

  2. /share 下挂载请求的文件系统。此时,/etc/mnttab 文件包含以下项。

    -hosts  /share/ws     autofs  nosuid,nobrowse,ignore,nest,dev=###
    gumbo:/export/share/ws /share/ws   nfs   nosuid,dev=####    #####

有层次挂载

在自动挂载程序文件中定义了多层后,挂载过程将变得更加复杂。假设您对上一个示例中的 /etc/auto_shared 文件进行了扩展,使其包含以下内容:

# share directory map for automounter
#
ws       /       gumbo:/export/share/ws
         /usr    gumbo:/export/share/ws/usr

该挂载过程基本上与上一个示例中访问 /share/ws 挂载点时的情况相同。此外,下一层 (/usr) 的触发节点是在 /share/ws 文件系统中创建的,因此可以挂载下一层(如果可以对其进行访问)。在本示例中,/export/share/ws/usr 必须存在于 NFS 服务器上,才能创建触发节点。


注意

注意 - 指定有层次的层时,请勿使用 -soft 选项。有关此限制的说明,请参阅Autofs 取消挂载


Autofs 取消挂载

一段空闲时间后将按相反的顺序(与挂载顺序相反)执行取消挂载过程。如果分层结构中较高级别的某个目录处于繁忙状态,则只取消挂载该目录下面的文件系统。在取消挂载过程中,将先删除所有触发节点,然后再取消挂载文件系统。如果文件系统处于繁忙状态,则取消挂载将失败并将重新安装触发节点。


注意

注意 - 指定有层次的层时,请勿使用 -soft 选项。如果使用 -soft 选项,则重新安装触发节点的请求可能会超时。如果重新安装触发节点失败,将不能再访问下一级别的挂载。解决此问题的唯一方法是让自动挂载程序取消挂载分层结构中的所有组件。自动挂载程序通过等待文件系统自动取消挂载或重新引导系统来完成取消挂载。


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 协议的服务器进行计数。大多数服务器支持的协议版本将成为要使用的缺省协议。此选择为客户机提供最多的可依赖的服务器。

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


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


图 6-5 说明了服务器的邻近度。

图 6-5 服务器邻近度

image:文中对该图形进行了说明。

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

例如,如果版本 4 服务器比较多,则版本 4 将成为要使用的缺省协议。但是,现在排序过程更加复杂了。以下是如何进行排序的一些示例:


注 - /etc/default/nfs 文件中的关键字值也会影响加权。具体来说,NFS_SERVER_VERSMIN、NFS_CLIENT_VERSMIN、NFS_SERVER_VERSMAX 和 NFS_CLIENT_VERSMAX 的值可以使某些版本从排序过程中排除。有关这些关键字的更多信息,请参见/etc/default/nfs 文件的关键字


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

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


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


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

Autofs 和加权

对 autofs 映射增加加权值可影响对处于同一邻近度级别的服务器的选择。例如:

/usr/man -ro oak,rose(1),willow(2):/usr/man

括号中的数字表示加权。不含加权的服务器的值为零,因此最有可能被选中。加权值越高,服务器被选中的几率越低。


注 - 所有其他的服务器选择因素都比加权重要。只有在网络邻近度相同的服务器之间进行选择时,才需考虑加权。


映射项中的变量

通过在客户机名称前加一个美元符号 ($) 前缀可以创建特定于该客户机的变量。该变量有助于了解正在访问同一个文件系统位置的不同体系结构类型。还可以使用花括号将变量名与附加字母或数字分隔开。表 6-2 显示了预定义的映射变量。

表 6-2 预定义的映射变量

变量
含义
源自
示例
ARCH
体系结构类型
uname -m
sun4
CPU
处理器类型
uname -p
sparc
HOST
主机名
uname -n
dinky
OSNAME
操作系统名称
uname -s
SunOS
OSREL
操作系统发行版
uname -r
5.8
OSVERS
操作系统版本(发行版的版本)
uname -v
GENERIC

可以在项所在行的任何位置使用变量,但不能使用关键字。例如,假设您的文件服务器分别从 /usr/local/bin/sparc/usr/local/bin/x86 中导出 SPARC 和 x86 体系结构的二进制文件。客户机可以通过如下映射项进行挂载:

/usr/local/bin       -ro    server:/usr/local/bin/$CPU

现在,所有客户机的同一项将应用于所有体系结构。


注 - 针对任何 sun4 体系结构编写的大多数应用程序可以在所有 sun4 平台上运行。-ARCH 变量硬编码为 sun4


引用其他映射的映射

文件映射中使用的映射项 +mapname 将导致自动挂载读取指定的映射,就好像该映射包含在当前文件中一样。如果 mapname 前面没有斜杠,则 autofs 会将映射名视为字符串,并使用名称服务转换器策略查找映射名。如果路径名是绝对路径名,则 automount 将检查该名称的本地映射。如果映射名以破折号 (-) 开头,则 automount 将访问相应的内置映射,如 hosts

此名称服务转换器文件包含标记为 automount 的 autofs 的一个项,其中包含搜索名称服务的顺序。以下文件是名称服务转换器文件的示例。

#
# /etc/nsswitch.nis:
#
# An example file that could be copied over to /etc/nsswitch.conf;
# it uses NIS (YP) in conjunction with files.
#
# "hosts:" and "services:" in this file are used only if the /etc/netconfig
# file contains "switch.so" as a nametoaddr library for "inet" transports.
# the following two lines obviate the "+" entry in /etc/passwd and /etc/group.
passwd:         files nis
group:          files nis

# consult /etc "files" only if nis is down.
hosts:          nis [NOTFOUND=return] files
networks:       nis [NOTFOUND=return] files
protocols:      nis [NOTFOUND=return] files
rpc:            nis [NOTFOUND=return] files
ethers:         nis [NOTFOUND=return] files
netmasks:       nis [NOTFOUND=return] files
bootparams:     nis [NOTFOUND=return] files
publickey:      nis [NOTFOUND=return] files
netgroup:       nis
automount:      files nis
aliases:        files nis
# for efficient getservbyname() avoid nis
services:       files nis 

在本示例中,会在搜索 NIS 映射之前先搜索本地映射。因此,可以在本地 /etc/auto_home 映射中为最常访问的起始目录添加几个项。然后,可以使用转换器回退到 NIS 映射以查找其他项。

bill               cs.csc.edu:/export/home/bill
bonny              cs.csc.edu:/export/home/bonny

搜索已包含的映射后,如果找不到匹配项,automount 将继续扫描当前映射。因此,可以在 + 项之后添加更多项。

bill               cs.csc.edu:/export/home/bill
bonny              cs.csc.edu:/export/home/bonny
+auto_home 

包含的映射可以是本地文件,也可以是内置映射。请记住,只有本地文件可以包含 + 项。

+auto_home_finance      # NIS+ map
+auto_home_sales        # NIS+ map
+auto_home_engineering  # NIS+ map
+/etc/auto_mystuff      # local map
+auto_home              # NIS+ map
+-hosts                 # built-in hosts map 

注 - 不能在 NIS+ 或 NIS 映射中使用 + 项。


Autofs 可执行映射

可以创建能够执行某些命令以生成 autofs 挂载点的 autofs 映射。如果需要能够根据数据库或平面文件创建 autofs 结构,则使用 autofs 可执行映射将非常有用。使用可执行映射的缺点是,需要在每台主机上安装该映射。可执行映射不能包含在 NIS 或 NIS+ 名称服务中。

可执行映射必须在 auto_master 文件中有一个对应项。

/execute    auto_execute

以下是可执行映射的示例:

#!/bin/ksh
#
# executable map for autofs
#

case $1 in
             src)  echo '-nosuid,hard bee:/export1' ;;
esac

为使本示例正常工作,该文件必须作为 /etc/auto_execute 进行安装,且必须设置可执行位。将权限设置为 744。在上述情况下,运行以下命令将导致从 bee 挂载 /export1 文件系统:

% ls /execute/src

修改 Autofs 导航网络的方式(修改映射)

可以在映射中修改、删除或添加项,以满足环境的需要。当用户所需的应用程序和其他文件系统更改其位置时,映射必须反映这些更改。可以随时修改 autofs 映射。所做修改在 automountd 下次挂载文件系统时是否生效取决于修改的映射和修改类型。

使用名称服务时的缺省 Autofs 行为

引导时服务 svc:/system/filesystem/autofs 将调用 autofs,然后 autofs 将查找 auto_master 主映射。Autofs 遵循下文讨论的规则。

Autofs 使用在 /etc/nsswitch.conf 文件的自动挂载项中指定的名称服务。如果指定了 NIS+(而不是本地文件或 NIS),则使用所有映射的原有映射名。如果选择了 NIS,且 autofs 找不到其所需的映射,而找到包含一个或多个下划线的映射名,则会将下划线改为点。这种更改允许旧的 NIS 文件名仍然有效。然后,autofs 将再次检查映射,如图 6-6 所示。

图 6-6 Autofs 使用名称服务的方式

image:文中对该图形进行了说明。

此会话的屏幕活动将与以下示例类似。

$ grep /home /etc/auto_master
/home           auto_home

$ ypmatch brent auto_home
Can't match key brent in map auto_home.  Reason: no such map in
server's domain.

$ ypmatch brent auto.home
diskus:/export/home/diskus1/&

如果选择 "files" 作为名称服务,则所有的映射都被假定为 /etc 目录中的本地文件。Autofs 会将以斜杠 (/) 开头的映射名解释为本地文件,无论 autofs 使用哪种名称服务。