Solaris NFS

  • 格式:docx
  • 大小:30.93 KB
  • 文档页数:23

Solaris NFS目的完成这个模块后,你应当能够:●说明NFS服务器和NFS客户机的功能●生成可用于挂接的和不可用于挂接的资源●在一个NFS服务器上编辑/etc/dfs/dfstab文件允许资源自动共享●显示一个服务器的可用于挂接的资源●从另一个系统挂接资源●在一个NFS客户机上编辑/etc/vfstab文件来挂接资源●说明这些命令的功能:mountall,umountall,shareall,和unshareall●说明和配置NFS记录附加资源附加资源- 下面的参考提供这个模块讨论的课题的附加细节:● System Administration Guide, Volume I, Part Number 805-7228-10● System Administration Guide, Volume II, Part Number 805-7229-10● System Administration Guide, Volume III, Part Number 806-0916-10 NFS分布文件系统Solaris操作环境支持远程文件系统资源共享并呈现给用户就象它们是本地的文件和目录。

远程文件系统资源的共享通过分布文件系统(DFS)文件系统类型来管理。

这种文件系统类型提供通过网络挂接资源所要求的体系结构支持。

NFS环境包含下面的组件:● NFS服务器–一个包含由网络上其它系统共享的文件资源的系统。

● NFS客户机–一个挂接通过网络共享的文件资源的系统,并呈现这些文件资源就象在本地一样。

图6-1阐明一个NFS环境。

图6-1 NFS分布文件系统一个NFS的益处一个NFS的益处包括:●集中的文件存取文件被放在集中的位置。

你可以作一个文件的拷贝由许多用户或系统同时存取。

这是home目录或公共数据文件的特别有用的特性。

●公共软件读取系统可以共享在一个集中位置的一个或多个软件包。

这减少了单个系统的磁盘空间需要。

●容易使用远程文件共享对用户和任何应用是透明的,因为这些资源看起来好象驻留在本地系统。

NFS环境在异种环境下提供文件共享,潜在地包含许多不同的操作系统,包括UNIX&,MS-DOS,和虚拟内存系统(VMS)。

注意- NFS使用远程过程调用(RPC)和外部数据表示(XDR)。

XDR库例程允许程序员以一个独立于机器的方式说明任意数据结构。

NFS分布文件系统组件共享和挂接NFS文件资源所必需的DFS管理文件,命令,和进程在图6-2中说明,包括一个NFS服务器和一个NFS客户机。

NFS后台进程NFS操作要求运行在NFS服务器和NFS客户机上的后台进程。

mountd后台进程当一个NFS客户机发出一个NFS挂接请求时,挂接进程联系NFS服务器的挂接后台进程,/usr/lib/nfs/mountd,来获得要挂接的文件资源的一个文件句柄(指针)。

接着NFS客户机挂接进程将文件句柄(连同有关被挂接资源的其它信息)写到/etc/mnttab文件中。

NFS服务器后台进程当一个客户机上的一个进程试图存取远程文件资源时,NFS服务器上的NFS服务器后台进程,/usr/lib/nfs/nfsd,获得这个请求(连同该资源的文件句柄)并执行这个文件操作。

然后它返回客户机上进程请求的任何数据。

服务器进程从/etc/init.d/nfs.server脚本启动。

nfs.server脚本也定义可被启动的nfsd线程的最大数量。

如果一个系统在它的/etc/dfs/dfstab文件中有项目,那么当你的系统进入运行级3时这些服务器后台进程被启动。

客户机和服务器上的NFS后台进程其它两个NFS后台进程,/usr/lib/nfs/statd和/usr/lib/nfs/lockd在NFS服务器和客户机上都运行。

当一个系统进入运行级2时,这些后台进程自动被启动。

这两个后台进程在一起工作提供NFS内的锁定服务。

如果服务器失效,客户机可以快速地重新建立到过去使用的文件的连接。

服务器有一个过去使用NFS的客户机记录。

它联系每个客户机以获得关于哪些文件过去被使用的信息来允许继续操作。

这两个后台进程都从/etc/init.d/nfs.client脚本被启动,并且典型地不要求管理干预。

NFS文件句柄文件句柄是识别服务器上一个唯一的文件或目录的客户机索引。

文件句柄将文件inode号,inode生成号,和磁盘设备号编码。

在一个客户机成功地完成一个NFS挂接请求后,服务器上的mountd后台进程在/etc/rmtab文件中生成项目。

/etc/rmtab文件包含一个NFS客户机远程挂接的文件系统的列表。

它也为每个远程挂接的文件系统包含一行项目;例如:hostname:fsname这些行的项目由mountd 命令在其被启动时从这个文件移除。

可以在这个文件里为失效的无法发送卸载命令的客户机积累陈旧的项目。

移除这些项目允许客户机重新挂接资源。

NFS服务器下面的命令和文件用于NFS服务器。

share命令当mountd后台进程正在运行,用/usr/sbin/share命令使文件资源可用于远程系统挂接。

命令格式share [ -F FSType ] [ -o options ] [ -d description ] pathname选项下面的选项可用于share命令:● -F fstype指定文件系统类型。

这个选项通常不要求nfs作为缺省远程文件系统。

注意- 如果你不使用-F fstypes选项,系统从/etc/dfs/fstypes文件的第一行提取文件系统类型。

● -o options控制一个客户机到一个NFS共享资源的存取。

● -d description说明正在被共享的文件资源。

这个信息在不加参数使用share命令时显示。

● pathname指定被共享的资源。

文件资源共享要从命令行共享一个文件资源,执行下面的:# share -F nfs -o ro /usr/share/manshare命令把所有被共享文件资源的信息写入/etc/dfs/sharetab文件。

这个文件包含一个本地被共享资源的列表。

如果没有参数被指定,share命令显示所有当前被共享的文件资源的一个列表。

# share/usr/share/man ro/etc/dfs/dfstab文件/etc/dfs/dfstab文件为系统管理员提供一个自动共享本地文件系统的方式。

dfstab文件的每一行由一个share命令组成。

# cat /etc/dfs/dfstab# Place share(1M) commands here for automatic execution# on entering init state 3.## Issue the command '/etc/init.d/nfs.server start' to run the NFS# daemon processes and the share commands, after adding the very# first entry to this file.## share [-F fstype] [-o options] [-d "<text>;"] <pathname>; [resource]# e.g,# share -F nfs -o rw=engineering -d “home dirs” /export/home2#当如下情况时,/etc/dfs/dfstab文件的内容被执行:●系统进入运行级3。

●超级用户运行shareall命令。

NFS后台进程必须被运行。

●超级用户运行/etc/init.d/nfs.server脚本(该脚本包含一个shareall命令)加start 参数。

这个脚本启动NFS服务器后台进程。

注意- 如果nfs.server脚本没有在/etc/dfs/dfstab文件中找到任何share命令,它不运行NFS后台进程而退出。

NFS存取管理缺省情况下,被挂接的NFS资源可以有基于标准Solaris文件许可的读写特权。

存取决策基于比较客户机用户和文件所有者的ID。

下面的share命令选项限制NFS客户机的读写能力并允许超级用户存取一个被挂接的资源。

● ro通知客户机该服务器只接受读请求。

● rw允许服务器接受来自客户机的读和写请求。

● root= client通知客户机指定系统的root用户可以在被共享的资源上执行超级用户特权的请求。

● ro= access-list允许来自指定存取列表的读请求。

● rw= access-list允许来自指定存取列表的读写请求。

▼ access-list=client:client允许存取基于一个冒号分隔的一个或更多客户机的列表。

▼ access-list=@network允许存取基于一个网络号(例如,@192.168.100)或网络名(例如,@)。

这个网络必须在/etc/networks中定义。

▼ access-list=.domain允许存取基于一个域名系统(DNS)域;这个点(.)识别它为一个DNS域。

▼ access-list=netgroup_name允许存取基于一个已配置的网络组(网络信息服务[NIS]或只是网络信息服务增强[NIS+])。

▼ anon= n设置n为未知用户的有效用户ID(EUID)。

缺省情况下,未知用户被给与EUID60001 UID_NOBODY。

如果n被设为-1,存取被拒绝。

你可以通过用逗号分隔每个选项来结合这些选项,构成复杂的存取限制。

例子# share -F nfs -o ro directory这个命令行限制对被挂接NFS资源的存取为只读存取。

# share -F nfs -o ro,rw=client1 directory这个命令行限制对被挂接NFS资源的存取为只读存取;然而,NFS服务器接受来自名为client1的客户机的读和写请求。

# share -F nfs -o root=client2 directory这个命令行允许名为client2的客户机上的root用户对被挂接的NFS资源有超级用户存取权限。

# share -F nfs -o anon=0 directory通过设置选项anon=0,用于存取被共享资源的EUID被设为正在存取被共享资源的用户的UID。

unshare命令/usr/sbin/unshare命令使文件系统不可用于远程系统挂接。

它读/dfs/sharetab文件。

命令格式unshare [ -F nfs ] pathname选项下面选项可以被用于unshare命令:● -F nfs指定nfs为文件系统类型。