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

文档信息

前言

第 1 部分网络服务主题

1.  网络服务(概述)

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

3.  与时间有关的服务

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

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

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

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

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 的其他信息

reparsed 守护进程

statd 守护进程

NFS 命令

automount 命令

clear_locks 命令

fsstat 命令

mount 命令

NFS 文件系统的 mount 选项

使用 mount 命令

umount 命令

mountall 命令

umountall 命令

sharectl 命令

set 子命令

get 子命令

status 子命令

share 命令

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

特定于 NFS 的 share 选项

使用 share 命令设置访问列表

unshare 命令

shareall 命令

unshareall 命令

showmount 命令

setmnt 命令

nfsref 命令

用于解决 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

镜像挂载的工作原理

何时使用镜像挂载

使用镜像挂载来挂载文件系统

使用镜像挂载卸载文件系统

NFS 引用的工作原理

何时使用 NFS 引用?

创建 NFS 引用

删除 NFS 引用

Autofs 映射

Autofs 主映射

挂载点 /home

挂载点 /net

挂载点 /nfs4

Autofs 直接映射

挂载点 /-

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.  监视网络性能(任务)

词汇表

索引

NFS 守护进程

为了支持 NFS 活动,在系统进入运行级 3 或多用户模式时将启动多个守护进程。mountdnfsd 守护进程在作为服务器的系统上运行。服务器守护进程的自动启动取决于 /etc/dfs/sharetab 中是否存在带有 NFS 文件系统类型标签的项。为了支持 NFS 文件锁定,应该在 NFS 客户机和服务器上运行 lockdstatd 守护进程。但是,与以前版本的 NFS 不同,在 NFS 版本 4 中,不使用守护进程 lockdstatdmountdnfslogd

本节介绍以下守护进程。

automountd 守护进程

该守护进程处理来自 autofs 服务的挂载和取消挂载请求。该命令的语法如下:

automountd [ -Tnv ] [ -D name= value ]

该命令采用以下几种方式运行:

自动挂载映射的缺省值为 /etc/auto_master。可使用 -T 选项进行故障排除。

在命令行上执行的指定也可以使用 sharectl 命令实现。但是,与命令行选项不同,SMF 系统信息库将保留您的指定,即使在服务重新启动时、系统重新引导时,以及系统升级时也是如此。以下是可以为 automountd 守护进程设置的参数。

automountd_verbose

在控制台上记录状态消息。此关键字与 automountd 守护进程的 -v 参数等效。缺省值为 FALSE。

nobrowse

针对所有 autofs 挂载点打开或关闭浏览功能。此关键字与 automountd-n 参数等效。缺省值为 FALSE。

trace

扩展每个远程过程调用 (remote procedure call, RPC) 并在标准输出中显示扩展的 RPC。此关键字与 automountd-T 参数等效。缺省值为 0(第 1 部分)。取值范围为 0 到 5。

environment

允许您将不同的值指定给不同的环境。此关键字与 automountd-D 参数等效。environment 参数可以多次使用。但是,必须对每个环境赋值使用单独的项。

lockd 守护进程

此守护进程支持对 NFS 文件进行记录锁定操作。lockd 守护进程针对网络锁定管理器 (Network Lock Manager, NLM) 协议管理客户机与服务器之间的 RPC 连接。该守护进程通常不使用任何选项即可启动。可将三个选项与此命令一起使用。请参见 lockd(1M) 手册页。可以从命令行使用这些选项,或者通过使用 sharectl 命令设置参数来使用这些选项。以下是对可设置参数的描述。


注 - LOCKD_GRACE_PERIOD 关键字和 -g 选项已过时。过时的关键字由新的 grace_period 参数取代。如果同时设置了这两个关键字,则 grace_period 的值将覆盖 LOCKD_GRACE_PERIOD 的值。请参见以下有关 grace_period 的描述。


LOCKD_GRACE_PERIOD 类似,grace_period=graceperiod 参数设置服务器重新引导后客户机回收 NFS 版本 3 锁(由 NLM 提供)和版本 4 锁所需的秒数。因此,grace_period 的值可控制 NFS 版本 3 和 NFS 版本 4 的锁恢复的宽延期长度。

lockd_retransmit_timeout=timeout 参数选择将锁定请求重新传输到远程服务器之前等待的秒数。此选项将影响 NFS 客户端服务。timeout 的缺省值为 15 秒。减小 timeout 值可以改善“嘈杂”网络上的 NFS 客户机的响应时间。但是,这种更改可能会增大锁定请求的频率,进而会导致增加服务器负载。使用 -t timeout 选项来启动该守护进程,即可在命令行中使用相同的参数。

lockd_servers=nthreads 参数指定服务器对于每个连接可处理的并发线程的最大数目。应根据 NFS 服务器上的预期负载来确定 nthreads 的值。缺省值为 20。使用 TCP 的每台 NFS 客户机都使用与 NFS 服务器之间的单一连接。因此,每台客户机最多可使用服务器上的 20 个并发线程。

使用 UDP 的所有 NFS 客户机都共享与 NFS 服务器之间的单一连接。在上述情况下,可能必须增加可用于 UDP 连接的线程数。对于每台 UDP 客户机而言,至少要有两个线程。但是,此数目具体取决于客户机上的工作负荷,因此每台客户机两个线程可能是不够的。使用更多线程的缺点是:使用线程越多,占用的 NFS 服务器内存就越多。但是,如果从不使用线程,则增加 nthreads 没有任何效果。通过使用 nthreads 选项来启动该守护进程,即可在命令行中使用相同的参数。

mountd 守护进程

该守护进程处理来自远程系统的文件系统挂载请求并提供访问控制。mountd 守护进程将检查 /etc/dfs/sharetab,以确定哪些文件系统可用于远程挂载,以及哪些系统允许执行远程挂载。可以将 -v 选项和 -r 选项与此命令结合使用。请参见 mountd(1M) 手册页。

-v 选项以详细模式运行该命令。NFS 服务器每次确定应授予客户机的访问权限时,都会在控制台上输出一条消息。在尝试确定客户机为何不能访问文件系统时,生成的信息可能非常有用。

-r 选项拒绝来自客户机的所有未来的挂载请求。此选项不会影响已挂载文件系统的客户机。


注 - NFS 版本 4 不使用该守护进程。


除了命令行选项外,还可以使用多个 SMF 参数配置 mountd 守护进程。

client_versmin

设置 NFS 客户机要使用的 NFS 协议的最低版本。缺省值为 2。其他有效值包括 3 或 4。请参阅设置 NFS 服务

client_versmax

设置 NFS 客户机要使用的 NFS 协议的最高版本。缺省值为 4。其他有效值包括 2 或 3。请参阅设置 NFS 服务

nfs4cbd 守护进程

nfs4cbd 专用于 NFS 版本 4 客户机,可管理 NFS 版本 4 回调程序的通信端点。该守护进程没有用户可访问的接口。有关更多信息,请参见 nfs4cbd(1M) 手册页。

nfsd 守护进程

该守护进程可处理其他客户机文件系统请求。可以将多个选项与此命令一起使用。有关完整列表,请参见 nfsd(1M) 手册页。可以从命令行使用这些选项,或者通过使用 sharectl 命令设置相应的 SMF 参数来使用这些选项。

listen_backlog=length 参数为 NFS 和 TCP 设置基于面向连接的传输的连接队列的长度。缺省值为 32 项。使用 -l 选项来启动 nfsd,即可在命令行中执行相同的选择。

max_connections=#-conn 参数选择每个面向连接的传输的最大连接数。#-conn 的缺省值没有限制。使用 -c #-conn 选项来启动该守护进程,即可在命令行中使用相同的参数。

servers=nservers 参数选择服务器可以处理的并发请求的最大数目。nservers 的缺省值为 16。使用 nservers 选项来启动 nfsd,即可在命令行中执行相同的选择。

与旧版本的该守护进程不同,nfsd 不会产生用于处理并发请求的多个副本。使用 ps 检查进程表时,将仅显示正在运行的守护进程的一个副本。

此外,可以使用这些 SMF 参数配置 mountd 守护进程。这些参数没有命令行等效选项:

server_versmin

设置要注册的且由服务器提供的 NFS 协议的最低版本。缺省值为 2。其他有效值包括 3 或 4。请参阅设置 NFS 服务

server_versmax

设置要注册的且由服务器提供的 NFS 协议的最高版本。缺省值为 4。其他有效值包括 2 或 3。请参阅设置 NFS 服务

server_delegation

控制是否对服务器启用 NFS 版本 4 委托功能。如果启用此功能,则服务器将尝试对 NFS 版本 4 客户机提供委托。缺省情况下,会启用服务器委托。要禁用服务器委托,请参见如何在服务器上选择不同版本的 NFS。有关更多信息,请参阅NFS 版本 4 中的委托

nfslogd 守护进程

该守护进程提供有关操作的日志记录。服务器上的哪些 NFS 操作将写入记录,取决于 /etc/default/nfslogd 中定义的配置选项。启用 NFS 服务器日志记录时,选定文件系统上的所有 RPC 操作的记录将由内核写入缓冲区文件。然后,nfslogd 将对这些请求进行后期处理。名称服务转换器用于帮助将 UID 映射为登录名,并将 IP 地址映射为主机名。如果无法通过确定的名称服务找到任何匹配项,则记录该数字。

还可以通过 nfslogd 来处理文件句柄到路径名的映射。该守护进程将跟踪文件句柄到路径映射表中的这些映射。对于在 /etc/nfs/nfslogd 中标识的每个标记,都存在一个映射表。经过后期处理后,这些记录将被写入 ASCII 日志文件中。


注 - NFS 版本 4 不使用该守护进程。


nfsmapid 守护进程

版本 4 的 NFS 协议 (RFC3530) 更改了用户标识符或组标识符(UID 或 GID)在客户机与服务器之间的交换方式。该协议要求分别采用 user@nfsv4_domaingroup@nfsv4_domain 格式将文件的所有者属性和组属性作为字符串在 NFS 版本 4 客户机与 NFS 版本 4 服务器之间进行交换。

例如,用户 known_user 在 NFS 版本 4 客户机上具有 UID 123456,该客户机的完全限定主机名为 system.example.com。客户机为了向 NFS 版本 4 服务器发出请求,必须将 UID 123456 映射为 known_user@example.com,然后将此属性发送到 NFS 版本 4 服务器。NFS 版本 4 服务器希望接收 user_or_group@nfsv4_domain 格式的用户和组文件属性。服务器从客户机收到 known_user@example.com 后,就会将该字符串映射为底层文件系统可以识别的本地 UID 123456。此功能假设网络中的每个 UID 和 GID 都是唯一的,并且客户机中的 NFS 版本 4 域与服务器上的 NFS 版本 4 域匹配。


注 - 如果服务器不能识别给定的用户名或组名,即使 NFS 版本 4 域匹配,服务器也不能将该用户名或组名映射为其唯一 ID(整数值)。在这类情况下,服务器会将传入的用户名或组名映射为 nobody 用户。为了防止这类情况出现,管理员应避免创建仅在 NFS 版本 4 客户机上存在的特殊帐户。


NFS 版本 4 客户机和服务器都能执行整数到字符串和字符串到整数的转换。例如,在对 GETATTR 操作进行响应时,NFS 版本 4 服务器会将从底层文件系统获取的 UID 和 GID 映射到其各自的字符串说明中,并将此信息发送到客户机。此外,客户机也必须将 UID 和 GID 映射到字符串说明中。例如,在对 chown 命令进行响应时,客户机在将 SETATTR 操作发送到服务器之前会先将新的 UID 或 GID 映射到字符串说明中。

但是请注意,客户机和服务器将以不同的方式对不能识别的字符串做出响应:

可以将 sharectl 命令和以下选项配合使用来更改客户机和服务器的域名。

nfsmapid_domain

为客户机和服务器设置公共域。将忽略使用本地 DNS 域名的缺省行为。有关任务信息,请参阅设置 NFS 服务

配置文件和 nfsmapid

以下内容介绍了 nfsmapid 守护进程如何使用在 svc:system/name-service/switchsvc:/network/dns/client 中找到的 SMF 配置信息:

优先级规则

为了使 nfsmapid 能正常工作,NFS 版本 4 客户机和服务器必须具有相同的域。为了确保与 NFS 版本 4 域匹配,nfsmapid 将遵循以下严格的优先级规则:

  1. 守护进程首先在 SMF 系统信息库中检查指定给 nfsmapid_domain 参数的值。如果找到了值,则指定的值将优先于其他任何设置。指定的值将附加到外发属性字符串上,并与传入属性字符串进行比较。有关过程信息,请参见设置 NFS 服务


    注 - 使用 NFSMAPID_DOMAIN 设置不具备可伸缩性,因此建议不要用于大型部署。


  2. 如果没有为 nfsmapid_domain 指定值,则守护进程会从 DNS TXT RR 中查找域名。nfsmapid 依赖于 /etc/resolv.conf 文件中由 resolver 中的例程集使用的指令。resolver 将在已配置的 DNS 服务器中搜索 _nfsv4idmapdomain TXT RR。请注意,使用 DNS TXT 记录具备更强的伸缩性。出于此原因,继续使用 TXT 记录比在 SMF 系统信息库中设置参数更具优势。

  3. 如果未配置用于提供域名的 DNS TXT 记录,则 nfsmapid 守护进程将使用 /etc/resolv.conf 文件中的 domainsearch 指令所指定的值,最后指定的指令优先级最高。

    在下面的示例中,同时使用了 domainsearch 指令,nfsmapid 守护进程使用 search 指令后列出的第一个域 company.com

    domain example.company.com
    search company.com foo.bar.com
  4. 如果 /etc/resolv.conf 文件不存在,则 nfsmapid 将按照 domainname 命令的行为获取 NFS 版本 4 域名。具体来说,如果 /etc/defaultdomain 文件存在,则 nfsmapid 将该文件的内容用于 NFS 版本 4 域。如果 /etc/defaultdomain 文件不存在,则 nfsmapid 将使用由网络已配置名称服务提供的域名。有关更多信息,请参见 domainname(1M) 手册页。

nfsmapid 和 DNS TXT 记录

DNS 普遍存在的这一特性为 NFS 版本 4 域名提供了有效的存储和分配机制。此外,由于 DNS 固有的可伸缩性,使用 DNS TXT 资源记录是为大型部署配置 NFS 版本 4 域名的首选方法。您应该在企业级 DNS 服务器上配置 _nfsv4idmapdomain TXT 记录。此类配置可确保任何 NFS 版本 4 客户机或服务器都能通过遍历 DNS 树找到其 NFS 版本 4 域。

以下是用于使 DNS 服务器能够提供 NFS 版本 4 域名的首选项的示例:

_nfsv4idmapdomain        IN        TXT            "foo.bar"

在本示例中,要配置的域名是用双引号引起来的值。请注意,未指定 ttl 字段,且未将域附加到 _nfsv4idmapdomainowner 字段中的值)中。此配置使 TXT 记录能够使用区域的颁发机构开始 (Start-Of-Authority, SOA) 记录中的 ${ORIGIN} 项。例如,在域名称空间的不同级别上,该记录的值可能为:

_nfsv4idmapdomain.subnet.yourcorp.com.    IN    TXT    "foo.bar"
_nfsv4idmapdomain.yourcorp.com.           IN    TXT    "foo.bar"

在使用 resolv.conf 文件搜索 DNS 树分层结构方面,此配置为 DNS 客户机提供了更大的灵活性。请参见 resolv.conf(4) 手册页。此功能提高了找到 TXT 记录的概率。为了获得更大的灵活性,较低级别的 DNS 子域可以定义其各自的 DNS TXT 资源记录 (resource record, RR)。此功能使较低级别的 DNS 子域可以覆盖由最高级别 DNS 域定义的 TXT 记录。


注 - TXT 记录指定的域可以是任意字符串,该字符串不一定与使用 NFS 版本 4 的客户机和服务器的 DNS 域匹配。您可以选择不与其他 DNS 域共享 NFS 版本 4 数据。


检查 NFS 版本 4 域

为网络 NFS 版本 4 域指定值之前,请检查是否已为网络配置 NFS 版本 4 域。下面的示例提供了标识网络 NFS 版本 4 域的方法。

有关更多信息,请参见以下手册页:

配置 NFS 版本 4 缺省域

本节介绍网络如何获取所需的缺省域:

在 Oracle Solaris 11 发行版 中配置 NFS 版本 4 缺省域

在 Oracle Solaris 11 发行版 中,可以通过从命令行键入以下命令来设置缺省 NFS 域版本:

# sharectl set -p nfsmapid_domain=example.com nfs 

注 - 由于 DNS 固有的普遍存在性和可伸缩性,使用 DNS TXT 记录配置大型 NFS 版本 4 部署域始终是首选和强烈建议的方法。请参见nfsmapid 和 DNS TXT 记录


在 Solaris 10 发行版中配置 NFS 版本 4 缺省域

在 NFS 版本 4 的初始 Solaris 10 发行版中,如果您的网络包括多个 DNS 域,但只有单个 UID 和 GID 名称空间,则所有客户机都必须对 nfsmapid_domain 使用同一个值。对于使用 DNS 的站点,nfsmapid 通过从您分配给 _nfsv4idmapdomain 的值中获取域名来解决此问题。有关更多信息,请参见nfsmapid 和 DNS TXT 记录。如果您的网络未配置为使用 DNS,则在第一次系统引导期间,OS 会使用 sysidconfig 实用程序提供有关 NFS 版本 4 域名的以下提示:

This system is configured with NFS version 4, which uses a 
domain name that is automatically derived from the system's 
name services. The derived domain name is sufficient for most 
configurations. In a few cases, mounts that cross different 
domains might cause files to be owned by nobody due to the 
lack of a common domain name.

Do you need to override the system's default NFS verion 4 domain 
name (yes/no)? [no]

缺省响应为 [no]。如果选择 [no],将看到以下信息:

For more information about how the NFS version 4 default domain name is 
derived and its impact, refer to the man pages for nfsmapid(1M) and 
nfs(4), and the System Administration Guide: Network Services.

如果选择 [yes],将看到以下提示:

Enter the domain to be used as the NFS version 4 domain name.
NFS version 4 domain name []:

注 - 如果 nfsmapid_domain 的值存在于 SMF 系统信息库中,则您提供的 [domain_name] 将覆盖该值。


有关 nfsmapid 的其他信息

有关 nfsmapid 的更多信息,请参见以下内容:

reparsed 守护进程

reparsed 守护进程可以解释与重解析点关联的数据,这些数据由 SMB 和 NFS 文件服务器上的 DFS 和 NFS 引用使用。该服务由 SMF 管理,不应手动启动。

statd 守护进程

该守护进程使用 lockd 为锁定管理器提供崩溃和恢复功能。statd 守护进程可跟踪在 NFS 服务器上保存锁定的客户机。如果服务器崩溃,则在重新引导时,服务器上的 statd 将与客户机上的 statd 进行联系。随后,客户机 statd 便会尝试回收服务器上的所有锁定。客户机 statd 还会通知服务器 statd 客户机发生崩溃的时间,以便可以清除服务器上的客户机锁定。使用此守护进程时没有可选择的选项。有关更多信息,请参见 statd(1M) 手册页。

在 Solaris 7 发行版中,statd 跟踪客户机的方式已改进。在所有早期的 Solaris 发行版中,statd 使用客户机的非限定主机名在 /var/statmon/sm 中为每台客户机创建文件。如果两台客户机在不同的域中,但共享同一主机名,或者如果客户机与 NFS 服务器不在同一个域中,则此文件命名将导致问题。因为非限定的主机名仅列出主机名,而不含任何域或 IP 地址信息,因此旧版本的 statd 无法区分这些类型的客户机。为了解决此问题,Solaris 7 statd 使用客户机的 IP 地址在 /var/statmon/sm 中创建了一个指向非限定主机名的符号链接。新的链接如下所示:

# ls -l /var/statmon/sm
lrwxrwxrwx   1 daemon          11 Apr 29 16:32 ipv4.192.168.255.255 -> myhost
lrwxrwxrwx   1 daemon          11 Apr 29 16:32 ipv6.fec0::56:a00:20ff:feb9:2734 -> v6host
--w-------   1 daemon          11 Apr 29 16:32 myhost
--w-------   1 daemon          11 Apr 29 16:32 v6host

在本示例中,客户机主机名为 myhost,客户机的 IP 地址为 192.168.255.255。如果另一台名为 myhost 的主机正在挂载文件系统,则两个符号链接都将指向该主机名。


注 - NFS 版本 4 不使用该守护进程。