这是系统管理员常用的两个命令,share命令用于把本机的目录共享出来,以便其它UNIX系统可以使用;mount命令则用于把其它UNIX系统共享出来的目录挂接到本机的挂接点上,从而可以使用其它UNIX系统的资源。 例如:
在机器A上输入 machineA# share -F nfs -o rw /share-dir
在机器B上输入 machineB# mount -F nfs machineA:/share-dir /mount-point
可以先创建挂节点目录。 mkdir -p /mount-point
第一条命令把机器A的 share-dir 目录共享出来,并且共享的权限是可读写;
第二条命令把机器A的共享目录挂接到机器B的 mount-point 目录上。
完成这两个命令后,用户在机器B上通过对mount-point的访问就可以操作机器A上的share-dir目录了。
但是有时我们操作时,在机器B上执行了mount命令后,会返回"RPC: Program not registered"这样的错误,这是因为在机器A上缺少mountd和nfsd 这两个守护进程(daemon)。UNIX系统启动时,系统会自动检查/etc/dfs/dfstab文件,如果文件中有要共享的资源,则启动这两个守护进程,反之,则不启动。所以如果我们在/etc/dfs/dfstab中没有内容,则系统不能启动mountd和nfsd这两个守护进程,用share命令共享的目录也不能真正被别的系统共享。
解决这个问题的方法很简单,我们可以把要共享的目录放入/etc/dfs/dfstab中,则下一次系统启动时会自动共享这个目录;另外,我们也可以手动启动这两个守护进程,方法是首先用超级用户(root)登陆,在命令行输入如下命令:
machine_A# /etc/rc3.d/S15nfs.server start
或输入:
machine_A# /usr/lib/nfs/mountd
machine_A# /usr/lib/nfs/nfsd -a 16
就可以启动这两个守护进程了。
守护进程启动后,共享目录才真正被共享出去,这时再在机器B上用mount命令就可以把机器A的目录挂接到机器B上了。
去掉share 使用: unshare -F nfs /data
NFS即网络文件系统,是UNIX系统直接用以共享文件的协议。
NFS服务器:提供网络共享资源的系统
NFS客户:使用网络共享资源的系统
当客户端发出一个NFS请求时,挂接进程联系挂接守护进程(/usr/lib/nfs/mountd)。本地挂接进程将挂接信息写到/etc/mnttab文件中。一旦客户完成NFS挂接请求,服务器中的/etc/rmtab文件中会写入挂接信息。当客户卸载了NFS共享资源后,这些信息就会从文件中删除。
NFS 服务器守护进程
当客户试图访问远程共享资源时,NFS服务器的守护进程(/usr/lib/nfs/nfsd)响应请求并返回数据。服务器守护进程由/etc/init.d/nfs.server产生。如果/etc/dfs/dfstab文件中有共享条目,这些共享目录会在守护进程启动时自动共享。
客户端NFS 守护进程
客户端有两个守护进程,/usr/lib/nfs/statd和/usr/lib/nfs/lockd。这些进程在系统进入运行级别2时自动运行。
# more /etc/dfs/dfstab
# Place share(M) 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 ""] [resource]
# e.g,
# share -F nfs -o rw=engineering -d "home dirs" /export/home2
share命令
share [ -F FSType ] [ -o options ] [ -d description ] pathname
参数
-F FSType 指定文件系统的类型。如果/etc/dfs/fstypes文件中缺省的远程文件类型是NFS,则不需要指定
-o options 控制客户端访问NFS共享资源的权限
-d description 共享资源的描述
pathname 要共享的资源
unshare命令
unshare [ -F nfs ] pathname
dfshares命令
用以查看服务器的共享资源
# dfshares
RESOURCE SERVER ACCESS TRANSPORT
venus:/usr/share/man venus - -
#dfshares mars
RESOURCE SERVER ACCESS TRANSPORT
mars:/export mars - -
dfmounts命令
服务器上查看共享资源被利用的状况
# dfmounts
RESOURCE SERVER PATHNAME CLIENTS
- venus /usr/share/man earth, pluto,(anon)
挂接远程网络文件系统
mount [ -F nfs ] [ -o options ] server:pathname mount_point
# mount venus:/usr/share/man /usr/share/man
solaris 共享文件拥有root权限-o rw,anon=0
share -F nfs -o rw,anon=0 /export/home/bea_new/wlserver6.1/config/mydomain/applications/DefaultWebAp