文档库 最新最全的文档下载
当前位置:文档库 › AIX网络文件系统介绍

AIX网络文件系统介绍

AIX网络文件系统介绍
AIX网络文件系统介绍

AIX网络文件系统介绍

(V.1版本号)

前言

此文档介绍了aix操作系统中网络文件系统的配置、使用和管理。网络文件系统是unix 系统的一个重要系统,在当今网络流行的时代尤其显示明显,但是大家一般使用的最多的是windows网络,因此有必要介绍一下unix操作系统下的网络文件系统。

目录

第1章网络文件系统NFS (4)

第2章NFS服务 (5)

第3章导出NFS目录 (7)

3.1 使用SMIT导出一个NFS目录 (7)

3.2 使用一个文本编辑器导出一个NFS目录 (9)

3.3 临时导出一个NFS目录 (10)

第4章撤销导出的NFS目录 (11)

第5章加载一个NFS目录 (12)

5.1 NFS加载过程 (12)

5.2 建立预定义的NFS加载 (13)

5.3 显式的加载一个NFS文件系统 (16)

5.4 自动加载一个NFS目录 (17)

第6章改变一个导出的文件系统 (19)

6.1 使用SMIT改变一个导出的NFS目录 (19)

6.2 使用文本编辑器改变一个导出的NFS目录 (20)

第7章卸载一个NFS目录 (21)

第1章网络文件系统NFS

网络文件系统是一个让用户像访问自己本地的文件和目录一样来访问远程服务器的文件和目录的一种分布式文件系统。例如,你可以使用操作系统命令来创建、删除、读、写和设置远程文件和目录的文件属性。因为NFS使用远程过程调用(RPC)服务,所以它是和机器型号、操作系统、网络架构无关的。

要成功地实现一个NFS环境,你需要以下准备:

1. 应该在服务器和客户端运行的NFS后台进程

2. 需要远程使用的文件系统应该被导出

3. 导出的文件系统需要被在远程系统(客户端)上加载

第2章NFS服务

NFS通过客户机-服务器模式来提供服务。

以下是将要讨论的一些术语:

Server 为远程访问提供文件系统、目录或者其他可用资源的计算机。

Clients 使用服务器资源的计算机或者它们的进程。

Export 使文件系统对远程客户端可用的动作。

Mount 客户端用来访问服务器导出的文件系统必须采取的动作。

可以对指定用户对导出目录的访问做限制。

NFS提供的主要服务是:

Mount 由服务器的/usr/sbin/rpc.mountd后台和客户端的/usr/sbin/mount

命令提供。mountd后台是一个响应客户加载文件系统的一个RPC

调用;mountd后台提供一个当前加载的文件系统列表和它们在那

个客户机上被加载。

远程文件访问由服务器的/usr/sbin/nfsd后台和客户端的/usr/sbin/biod后台提供,

它处理客户端对文件的请求。biod后台运行在所有的NFS客户端

系统中,当客户端上有一个用户希望对服务器上的一个文件进行读

写操作时,biod后台将这个请求发送到服务器。

在每个系统(不过是客户端还是服务器)上启动NFS后台进程。默认在一个新系统上NFS是不启动的,当安装往一个新系统后,所有NFS必须的文件都已经安装在系统中,但是激活NFS的步骤并没有执行。可以使用以下两种方式启动NFS后台进程:

使用SMIT快速路径smitty mknfs

使用mknfs命令立即启动NFS后台进程,如下:

# mknfs -N

0513-059 The portmap Subsystem has been started.Subsystem PID is 23734.

Starting NFS services:

0513-059 The biod Subsystem has been started. Subsystem PID is 27264.

0513-059 The nfsd Subsystem has been started. Subsystem PID is 30570.

0513-059 The rpc.mountd Subsystem has been started. Subsystem PID is 28350.

0513-059 The rpc.statd Subsystem has been started. Subsystem PID is 15298.

0513-059 The rpc.lockd Subsystem has been started. Subsystem PID is 30976.

#

如果NFS后台没有启动,你可以使用系统资源控制器来启动NFS后台。

NFS后台可以被个别启动或者一次启动全部。使用以下命令启动个别NFS后台进程:# startsrc -s daemon

这里daemon是SRC控制的后台之一。例如,启动nfsd后台使用命令:

# startsrc -s nfsd

使用以下命令启动所有NFS后台进程:

# startsrc -g nfs

第3章导出NFS目录

这一节讨论exportfs命令的使用。

3.1 使用SMIT导出一个NFS目录

要使用SMIT导出一个NFS目录,按下列步骤执行:

1. 使用命令lssrc -g nfs校验NFS是否正在运行。如下面的例子所示,输出结果显示nfsd

和rpc.mountd进程是激活的;如果它们没有激活,使用指令启动NFS。

#lssrc -g nfs

Subsystem Group PID Status

biod nfs 15740 active

nfsd nfs 11376 active

rpc.mountd nfs 5614 active

rpc.statd nfs 16772 active

rpc.lockd nfs 15496 active

#

2. 在服务器上使用smitty mknfsexp导出目录;SMIT屏幕如Figure 5-1所示:

3. 在导出目录的目录名城项输入/home1,设置导出目录的模式为读写,设置现在导出该目录,

系统重启后也导出目录

4. 指定其他你想指定的特征或者接受默认值

5. 当你做完改变后,SMIT会更新/etc/exports文件,如果该文件不存在,它会被创建。

6. 为你需要导出的其他目录重复3-5步

7. 如果NFS正在服务器上运行,输入:

# /usr/sbin/exportfs -a

-a选项告诉exportfs命令发送/etc/exports文件中的所有信息到内核。如果NFS没有运行,使用前面介绍的指令启动NFS

8. 校验所有的文件系统都已经被正确的导出如下:

在服务器上:

# showmount -e MyServer

export list for MyServer:

/home1 (everyone)

/home2 (everyone)

/home3 (everyone)

/home4 (everyone)

#

这里我们使用MyServer作为showmount命令的服务器名称参数。在下面的讨论中我们还将使用这个服务器名称。

3.2 使用一个文本编辑器导出一个NFS目录

要使用一个文本编辑器导出一个NFS目录,使用以下步骤:

1. 使用你喜欢的文本编辑器打开/etc/exports文件,如下:

# vi /etc/exports

2. 为每个即将导出的目录创建一个条目(使用目录的绝对路径名称),如Figure 5-2所示:

3. 列出的每个目录的左边都是空白(没有#之类的标记),任何目录下都不能包含已经导出

的目录。保存并关闭/etc/exports文件。

4. 如果NFS当前正在系统上运行,输入:

# /usr/sbin/exportfs -a

3.3 临时导出一个NFS目录

文件系统可以在需要的时候被导出,这是不需要改变/etc/exports文件,只需要输入:# exportfs -i dimame

这里dimame是你要导出的文件系统的名称,-i标志指明不检查/etc/exports文件,所有的选项都从命令行直接读出。

第4章撤销导出的NFS目录你可以使用以下步骤之一来撤销导出的NFS目录:

使用SMIT来撤销导出的NFS目录:

a. 在服务器上输入以下命令来删除导出目录/home4:

# smitty rmnfsexp

b. 在要删除的导出目录名称项输入/home4即可。

使用文本编辑器撤销导出的NFS目录:

使用文本编辑器打开/etc/exports文件

找到要删除的目录项(即/home4)所在行,删除该行

保存并关闭/etc/exports文件

如果NFS正在运行,输入:

# exportfs -u dimame

这里dimame就是你要删除的目录的绝对路径(在本例子中就是/home4)

第5章加载一个NFS目录

有3种类型的NFS加载:预定义的,显式的和自动的。

预定义的加载是在/etc/filesystems文件中指定的,这个文件中的每一节(或者项)定义一个加载的特征,如Figure 5-3所示:

像主机名、远程路径、本地路径和其他加载选项等数据都列在节中。预定义加载用于用户始终需要指定的加载的情况下。

显式的加载服务root用户的需要,它经常用于因为临时需要而暂时加载的情况;它也可以用于适应特定任务需求而加载的情况下和不能对所有NFS客户端正常可用的加载的情况下。这些加载通常是在命令行输入命令所需的所有信息。

显式的加载不需要更新/etc/filesystems文件,它加载的文件只有显式的执行命令umoun t或者系统重新启动后才会卸载。

自动的加载是由命令automount控制的,它会导致AutoFS内核扩展来监视指定文件的活动。如果一个程序或者用户试图访问一个目前没有加载的目录,该请求会被AutoFS截获,AutoFS就安排对该文件系统加载并服务该请求。

5.1 NFS加载过程

客户端访问远程服务器上的文件的第一步是加载服务器导出的目录。当客户端加载一个目录时,它并没有在该目录建立原目录文件的拷贝,而是使用一系列的RPC使得可以访问服务器目录。下面是对加载过程的描述:

1. 当服务器启动时,/etc/rc.nfs脚本运行exportfs命令,该命令阅读服务器上德/

etc/exports文件然后告诉内核那个目录应该被导出以及它们需要的访问限制。

2. rpc.mountd后台进程和一些nfsd后台进程(默认是8个)随后通过/etc/rc.nfs

脚本启动。

3. 当客户端启动时,/etc/rc.nfs脚本启动一些biod后台进程(默认是8个),该

进程会转发客户需求到正确的服务器上。

4. /etc/rc.nfs脚本执行mount命令,mount命令阅读/etc/filesystems文件中列出的

文件系统。

5. mount命令定位一个或多个导出客户端所需信息的服务器并在它自己和该服

务器之间建立通讯,这个过程叫做绑定。

6. mount命令然后要求服务器允许客户端访问在它的/etc/filesystems文件中列出

的目录。

7. 服务器的rpc.mountd后台进程接收到客户端的加载请求后,马上做出反应:

要么允许、要么拒绝。如果客户端请求的目录对它可用,rpc.mountd后台进程

就发送一个文件句柄给客户机内核作为标识。

8. 客户端通过在加载记录中记录某些信息来绑定文件句柄到加载点(实际上就是

一个目录)。

一旦文件系统加载完成,客户端就可以进行文件操作。当客户端执行文件操作时,bio d后台进程发送文件句柄到服务器,文件被nfsd后台进程之一阅读来处理文件请求,如果客户端具有执行文件操作的访问权,nfsd后台进程就返回必要的信息给客户端的biod后台进程。

注意:在加载文件系统之前必须确保NFS加载的加载点存在于系统中(如果使用automou nt后台进程才不需要使用加载点)。

5.2 建立预定义的NFS加载

你可以使用以下过程之一建立预定义的文件加载点:

注意:在系统启动时建立预定义加载时需要在/etc/filesystems文件中定义bg(后台的)和i ntr(中断的)选项。在系统启动时,定义为不可中断并以前台方式运行的加载如果网络或者服务器不可用时会造成客户端停机。如果客户端不能访问网络或者服务器,用户就必须以维护模式重新启动机器并编辑适当的加载请求。

要通过SMIT建立预定义加载(如Figure 5-4所示),使用以下命令:

# smitty mknfsmnt

在这个屏幕中指定每个你要预定义加载的值,必须对所有必选项(行首为*的项)赋值,其他可选项你可以赋值,也可以使用默认值。这种方法会在/etc/filesystems文件中创建期望加载的项的条目并试图加载它们。

要通过编辑/etc/filesystems文件来建立NFS默认加载(只要在特殊环境下才使用这种方式),使用以下步骤:

1. 在客户端使用文本编辑器打开/etc/filesystems文件,为每个希望在系统引导时加载的远程文件系统添加条目。示例如下:

/home1:

dev = /home1

mount = false

vfs = nfs

nodename = MyServer

options = ro,soft

type = nfs_mount

这一节直接指定系统加载/home1远程文件系统到本地同名的加载点;文件系统作为只读文件系统被加载;因为他被软加载,在服务器不响应时会返回一个错误消息;通过指定加载类型参数为nfs加载,当命令mount -t nfs_mount执行时系统会试图加载/home1文件系统(其他的加载类型为nfs_mount的文件系统也一并被加载)。

下面的示例节使系统在启动时加载/home2文件系统,如果加载失败,bg选项告诉系统以后台方式继续尝试加载该文件系统:

/home2:

dev = /home2

mount = true

vfs = nfs

nodename = MyServer

option = ro ,soft ,bg

type = nfs_mount

2. 删除你不想在系统启动时自动加载的目录项条目

3. 保存并关闭文件

4. 运行mount -a命令来加载在/etc/filesystems文件中指定的所有目录

5. 在其他客户端上重复以上步骤

现在就可以使用NFS目录了。

5.3 显式的加载一个NFS文件系统

要显式的加载一个NFS文件系统,使用以下步骤:

1. 校验服务器是否已经导出了目录,如下:

# showmount -e MyServer

export list for MyServer:

/home1 (everyone)

/home2 (everyone)

/home3 (everyone)

/home4 (everyone)

#

这里MyServer是NFS服务器的名称,这个命令显示当前从NFS服务器导出的目录的名称,如果你期望的目录没有在列表中显示,就从该服务器上导出该目录。

2. 使用mkdir命令建立本地加载点。要完成NFS的完全成功加载,必须提供一个NFS 加载所需要的目录作为加载点,这个目录应该是空的,作为加载点的目录的创建和其他的目录创建的方法一样,不需要对它指定任何属性。

3. 在客户端机器上进入以下SMIT快速路径:

# smitty mknfsmnt

4. 对以下项作适当的改变以适应你的网络配置,你的配置可能不需要完成本屏幕的所有项。

–PATHNAME of mount point.

–PATHNAME of remote directory.

–HOST where remote directory resides.

–MOUNT now, add entry to /etc/filesystems.

–/etc/filesystems entry will mount the directory on system RESTART.

–MODE for this NFS.

注意:如果你使用ASCII码的SMIT接口,在每一项按Tab键来选择正确的值,在完成步骤7以前千万不要按回车键。

5. 对其他条目使用默认值或者依于你的NFS配置对它们作改变

6. 当你完成本屏幕的所有改变后,SMIT加载文件系统

7. 当Command:项显示OK状态时,退出SMIT

NFS现在已经可以使用了。

5.4 自动加载一个NFS目录

AutoFS依赖于使用automount命令来传播自动加载配置信息到AutoFS内核扩展并启动automountd后台进程,通过这个配置传播,只要文件系统中的文件和目录被打开,Aut oFS内核扩展自动并显式的加载文件系统,AutoFS内核扩展告诉automountd后台进程需要加载或/和卸载的的文件系统请求,automountd后台进程扮演执行请求的服务的脚色。

因为在automountd后台进程中名称到位置的绑定是动态的,通过automountd后台进程更新到网络信息服务(NIS)的映射对用户来讲是透明的。同样,不需要对对文件和目录涉及硬编码参考的应用预加载共享文件系统,也不需要维护对特定应用应该加载哪个主机这些记录。

AutoFS允许文件系统按需加载,使用这种方式加载目录,不需要在所有事件加载所有需要加载的文件系统,而只加载那些当前使用的文件系统。

例如要自动加载名为/backup的NFS目录的步骤如下:

1. 使用以下命令校验NFS服务器是否已经导出了该目录:

# showmount -e MyServer

export list for MyServer:

/backup

#

这个命令显示当前从NFS服务器上导出的目录的名称。

2. 创建一个AutoFS映射文件,AutoFS会自动加载/卸载在该文件中指定的目录。例如,你想使用按需加载服务器/Accounts上的/bachup到远程/backup目录,在这里,我们使用的映射文件是/tmp/mount.map。在/usr/samples/nfs下有映射文件的例子。

3. 确保AutoFS内核扩展已经加载并且automountd后台进程在运行中,可以通过以下两种途径来完成这个工作:

a. 使用SRC,输入:

# lssrc -s automountd

如果automountd子系统没有运行,使用startsrc -s automountd命令运行它。

b. 使用automount命令,/usr/sbin/automount -v,在命令行接口定义使用的映射文件如下:# /usr/sbin/automount -v /backup /tmp/mount.map

这里/backup是AutoFS在客户端的加载点。

现在,如果有一个用户运行cd /backup命令,AutoFS内核扩展会截取对该目录的访问并使用RPC调用automountd后台进程,automountd后台进程会加载/backup目录并使cd命令完成执行。

4. 要停止automountd,使用stopsrc -s automountd命令。如果因为某种原因使得autom ountd后台进程没有使用SRC而被启动,使用如下命令停止它:

# kill automountd_PID

这里automountd_PID是automountd后台进程的进程号(运行ps -e命令会显示automo untd后台进程的进程ID号)。kill命令发送一个SIGTERM信号给automountd后台进程。

第6章改变一个导出的文件系统这一节我们向你解释怎样改变一个导出的NFS文件系统。

6.1 使用SMIT改变一个导出的NFS目录

使用SMIT改变一个导出的NFS目录的步骤如下:

1. 在服务器上撤销导出的文件系统:

# exportfs -u /dirname

这里dirname是你要改变的文件系统的目录的名称,在本例中,它就是/home3。

2. 在服务器上输入:

# smitty chnfsexp

显示结果如Figure 5-5所示:

3. 在PATHNAME of Directory to Export项输入正确的路径名称,在这里请输入/home 3;按照你的配置输入其他项并回车。

4. 退出SMIT

5. 输入以下命令重新导出文件系统:

# exportfs /dirname

这里是你刚才作改变的文件系统,本例中就是/home3。

6.2 使用文本编辑器改变一个导出的NFS目录

使用文本编辑器改变一个导出的NFS目录的步骤如下:

1. 在服务器上撤销导出的文件系统:

# exportfs -u /dirname

这里dirname是你要改变的文件系统的目录的名称,在本例中,它就是/home3。

2. 用你喜欢的文本编辑器打开/etc/exports文件

3. 做你想要做的改变

4. 保存并关闭/etc/exports文件

5. 输入以下命令重新导出文件系统:

# exportfs /dirname

这里是你刚才作改变的文件系统,本例中就是/home3。

相关文档