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

词汇表

索引

用于解决 NFS 问题的命令

这些命令在解决 NFS 问题时会非常有用。

nfsstat 命令

可以使用此命令来收集有关 NFS 和 RPC 连接的统计信息。该命令的语法如下:

nfsstat [ -cmnrsz ]

-c

显示客户端信息

-m

显示每个已挂载 NFS 文件系统的统计信息

-n

指定要同时显示在客户端和服务器端的 NFS 信息

-r

显示 RPC 统计信息

-s

显示服务器端信息

-z

指定应将统计信息设置为零

如果未在命令行中提供任何选项,则使用 -cnrs 选项。

向计算环境中添加新的软件或硬件时,收集服务器端统计信息对于调试问题非常重要。每周最少运行一次此命令并存储运行结果可以保留以前执行情况的完整历史记录。

请参阅以下示例:

# nfsstat -s

Server rpc:
Connection oriented:
calls      badcalls   nullrecv   badlen     xdrcall    dupchecks  dupreqs    
719949194  0          0          0          0          58478624   33         
Connectionless:
calls      badcalls   nullrecv   badlen     xdrcall    dupchecks  dupreqs    
73753609   0          0          0          0          987278     7254       

Server nfs:
calls                badcalls             
787783794            3516                 
Version 2: (746607 calls)
null       getattr    setattr    root       lookup     readlink   read       
883 0%     60 0%      45 0%      0 0%       177446 23% 1489 0%    537366 71% 
wrcache    write      create     remove     rename     link       symlink    
0 0%       1105 0%    47 0%      59 0%      28 0%      10 0%      9 0%       
mkdir      rmdir      readdir    statfs     
26 0%      0 0%       27926 3%   108 0%     
Version 3: (728863853 calls)
null          getattr       setattr       lookup        access        
1365467 0%    496667075 68% 8864191 1%    66510206 9%   19131659 2%   
readlink      read          write         create        mkdir         
414705 0%     80123469 10%  18740690 2%   4135195 0%    327059 0%     
symlink       mknod         remove        rmdir         rename        
101415 0%     9605 0%       6533288 0%    111810 0%     366267 0%     
link          readdir       readdirplus   fsstat        fsinfo        
2572965 0%    519346 0%     2726631 0%    13320640 1%   60161 0%      
pathconf      commit        
13181 0%      6248828 0%    
Version 4: (54871870 calls)
null                compound            
266963 0%           54604907 99%        
Version 4: (167573814 operations)
reserved            access              close               commit              
0 0%                2663957 1%          2692328 1%          1166001 0%          
create              delegpurge          delegreturn         getattr             
167423 0%           0 0%                1802019 1%          26405254 15%        
getfh               link                lock                lockt               
11534581 6%         113212 0%           207723 0%           265 0%              
locku               lookup              lookupp             nverify             
230430 0%           11059722 6%         423514 0%           21386866 12%        
open                openattr            open_confirm        open_downgrade      
2835459 1%          4138 0%             18959 0%            3106 0%             
putfh               putpubfh            putrootfh           read                
52606920 31%        0 0%                35776 0%            4325432 2%          
readdir             readlink            remove              rename              
606651 0%           38043 0%            560797 0%           248990 0%           
renew               restorefh           savefh              secinfo             
2330092 1%          8711358 5%          11639329 6%         19384 0%            
setattr             setclientid         setclientid_confirm verify              
453126 0%           16349 0%            16356 0%            2484 0%             
write               release_lockowner   illegal             
3247770 1%          0 0%                0 0%                

Server nfs_acl:
Version 2: (694979 calls)
null        getacl      setacl      getattr     access      getxattrdir 
0 0%        42358 6%    0 0%        584553 84%  68068 9%    0 0%        
Version 3: (2465011 calls)
null        getacl      setacl      getxattrdir 
0 0%        1293312 52% 1131 0%     1170568 47% 

以上列出的是 NFS 服务器统计信息的示例。前五行与 RPC 有关,其余行则报告 NFS 活动。在两组统计信息中,了解 badcallscalls 的平均数以及每周的调用次数有助于确定问题。badcalls 值报告来自客户机的错误消息数。该值可以表明网络硬件问题。

某些连接会在磁盘上生成写入活动。这些统计信息的突然增加可能表明出现了问题,应该对这一现象进行调查。对于 NFS 版本 2 的统计信息,要注意的连接包括 setattrwritecreateremoverenamelinksymlinkmkdirrmdir。对于 NFS 版本 3 和版本 4 的统计信息,要注意 commit 的值。如果 commit 在某台 NFS 服务器中的级别高于在另一台几乎相同的服务器中的级别,请检查 NFS 客户机是否具有足够的内存。客户机没有可用资源时,服务器上的 commit 操作数将增加。

pstack 命令

此命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的所有者或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。请参见 proc(1) 手册页。

以下示例检查正在运行的 nfsd 进程。

# /usr/bin/pgrep nfsd
243
# /usr/bin/pstack 243
243:    /usr/lib/nfs/nfsd -a 16
 ef675c04 poll     (24d50, 2, ffffffff)
 000115dc ???????? (24000, 132c4, 276d8, 1329c, 276d8, 0)
 00011390 main     (3, efffff14, 0, 0, ffffffff, 400) + 3c8
 00010fb0 _start   (0, 0, 0, 0, 0, 0) + 5c

此示例显示进程正在等待新的连接请求,这是正常响应。如果栈显示在发出请求之后进程仍在轮询,则此进程可能被挂起。请遵照如何重新启动 NFS 服务中的说明来解决此问题。请查看NFS 故障排除过程中的说明来充分验证问题是否是程序已挂起。

rpcinfo 命令

此命令可生成有关系统上正在运行的 RPC 服务的信息。另外,还可以使用此命令来更改 RPC 服务。许多选项都可用于此命令。请参见 rpcinfo(1M) 手册页。以下是可用于此命令的某些选项的简短概要。

rpcinfo [ -m | -s ] [ hostname ]

rpcinfo -T transport hostname [ progname ]

rpcinfo [ -t | -u ] [ hostname ] [ progname ]

-m

显示 rpcbind 操作的统计信息表

-s

显示所有已注册的 RPC 程序的简明列表

-T

显示有关使用特定传输或协议的服务的信息

-t

探测使用 TCP 的 RPC 程序

-u

探测使用 UDP 的 RPC 程序

transport

为服务选择传输或协议

hostname

选择需要其中信息的服务器的主机名

progname

选择收集有关其信息的 RPC 程序

如果未指定 hostname 的值,则使用本地主机名。可以将 progname 替换为 RPC 程序编号,但是很多用户可能会记住名称而记不住编号。可以在不运行 NFS 版本 3 软件的系统上使用 -p 选项(而非 -s 选项)。

此命令生成的数据可包括以下内容:

以下示例收集有关正在服务器上运行的 RPC 服务的信息。此命令生成的文本将通过 sort 命令过滤,以便使输出更具可读性。多个列出 RPC 服务的行已从本示例中删除。

% rpcinfo -s bee |sort -n
   program version(s) netid(s)                         service     owner
    100000  2,3,4     udp6,tcp6,udp,tcp,ticlts,ticotsord,ticots rpcbind     superuser
    100001  4,3,2     ticlts,udp,udp6                  rstatd      superuser
    100002  3,2       ticots,ticotsord,tcp,tcp6,ticlts,udp,udp6 rusersd     superuser
    100003  3,2       tcp,udp,tcp6,udp6                nfs         superuser
    100005  3,2,1     ticots,ticotsord,tcp,tcp6,ticlts,udp,udp6 mountd      superuser
    100007  1,2,3     ticots,ticotsord,ticlts,tcp,udp,tcp6,udp6 ypbind      superuser
    100008  1         ticlts,udp,udp6                  walld       superuser
    100011  1         ticlts,udp,udp6                  rquotad     superuser
    100012  1         ticlts,udp,udp6                  sprayd      superuser
    100021  4,3,2,1   tcp,udp,tcp6,udp6                nlockmgr    superuser
    100024  1         ticots,ticotsord,ticlts,tcp,udp,tcp6,udp6 status      superuser
    100029  3,2,1     ticots,ticotsord,ticlts          keyserv     superuser
    100068  5         tcp,udp                          cmsd        superuser
    100083  1         tcp,tcp6                         ttdbserverd superuser
    100099  3         ticotsord                        autofs      superuser
    100133  1         ticots,ticotsord,ticlts,tcp,udp,tcp6,udp6 -           superuser
    100134  1         ticotsord                        tokenring   superuser
    100155  1         ticots,ticotsord,tcp,tcp6        smserverd   superuser
    100221  1         tcp,tcp6                         -           superuser
    100227  3,2       tcp,udp,tcp6,udp6                nfs_acl     superuser
    100229  1         tcp,tcp6                         metad       superuser
    100230  1         tcp,tcp6                         metamhd     superuser
    100231  1         ticots,ticotsord,ticlts          -           superuser
    100234  1         ticotsord                        gssd        superuser
    100235  1         tcp,tcp6                         -           superuser
    100242  1         tcp,tcp6                         metamedd    superuser
    100249  1         ticots,ticotsord,ticlts,tcp,udp,tcp6,udp6 -           superuser
    300326  4         tcp,tcp6                         -           superuser
    300598  1         ticots,ticotsord,ticlts,tcp,udp,tcp6,udp6 -           superuser
    390113  1         tcp                              -           unknown
 805306368  1         ticots,ticotsord,ticlts,tcp,udp,tcp6,udp6 -           superuser
1289637086  1,5       tcp                              -           26069

以下两个示例说明如何通过在服务器上选择特定的传输来收集有关特定 RPC 服务的信息。第一个示例检查通过 TCP 运行的 mountd 服务。第二个示例检查通过 UDP 运行的 NFS 服务。

% rpcinfo -t bee mountd
program 100005 version 1 ready and waiting
program 100005 version 2 ready and waiting
program 100005 version 3 ready and waiting
% rpcinfo -u bee nfs
program 100003 version 2 ready and waiting
program 100003 version 3 ready and waiting

snoop 命令

此命令通常用于查看网络中的包。必须以 root 身份运行 snoop 命令。使用此命令是一种确保网络硬件在客户机和服务器上都正常运行的好方法。可以使用许多选项。请参见 snoop(1M) 手册页。以下是此命令的简短概要:

snoop [ -d device ] [ -o filename ] [ host hostname ]

-d device

指定本地网络接口

-o filename

将所有捕获到的包存储在已命名的文件中

hostname

显示仅进出特定主机的包

-d device 选项在具有多个网络接口的服务器上非常有用。除了设置主机之外,还可以使用许多表达式。命令表达式与 grep 的组合通常可以生成极其有用的数据。

排除故障时,请确保包进出相应的主机。另外,还应查找错误消息。将包保存到文件中可以简化查看数据的过程。

truss 命令

使用此命令可以检查某个进程是否已被挂起。truss 命令必须由相应进程的所有者或由 root 运行。可以将许多选项用于此命令。请参见 truss(1) 手册页。以下是此命令的简短语法。

truss [ -t syscall ] -p pid

-t syscall

选择要跟踪的系统调用

-p pid

指明要跟踪的进程的 PID

syscall 可以是要跟踪的系统调用的列表,各系统调用之间以逗号分隔。另外,在 syscall 前面添加 ! 可选择不跟踪所列出的系统调用。

本示例说明进程正在等待来自新客户机的另一个连接请求。

# /usr/bin/truss -p 243
poll(0x00024D50, 2, -1)         (sleeping...)

以上示例表示一个正常响应。如果在发出新连接请求之后该响应未发生更改,则此进程可能会被挂起。请遵照如何重新启动 NFS 服务中的说明来修复被挂起的程序。请查看NFS 故障排除过程中的说明来充分验证问题是否是程序已挂起。