ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Solaris nfs的配置

Solaris nfs的配置

原创 Linux操作系统 作者:chub 时间:2011-12-12 14:52:39 0 删除 编辑

Solaris nfs的问题我们今天来详细讲解一下。在Solaris系统中,如何构建NFS服务器呢?首先我们需要理解一下NFS服务器的基础内容。然后我们再来解析一下Solaris nfs配置的相关命令。

1、理解Solaris nfs服务器和客户端功能.

nfs是sun公司来建立来使用tcp/ip协议以及sun的远程调用和外部数据表示规范的产品.nfs的使用非常方便,也比较可靠.他具有在不同操作系统之间共享文件的能力.
nfs服务器可以使用nfs来让其他远程机器共享它的本地资源.nfs客户机是访问nfs服务器的共享资源的机器.其实在实际工作中,一台主机即可以是nfs服务器,也可以是nfs客户机.他们可以互相共享和访问.只要你能理解nfs服务器和nfs客户机之间的不同.剩下的就很easy了.

2、 nfs服务器和nfs客户机区别.

1 solaris使用分布式文件系统或dfs命令公享资源.公享资源可以手动和自动设置.

nfs服务器运行两个守侯进程:mountd 和 nfsd.

用到的文件是:

  1. /etc/rc3.d/S15nfs.server
  2. /etc/dfs/dfstab
  3. /etc/dfs/sharetab
  4. /etc/rmtab

Solaris nfs服务器使用命令是:share unshare shareall unshareall

nfs客户机上运行的守侯进程是:statd 和 lockd.

用到的文件是:

  1. /etc/vfstab
  2. /etc/mnttab

nfs客户机使用命令是:mount umount mountall umountall

2 nfs服务器设置

nfs服务器需要运行两个守侯进程mountd和nfsd来工作.当nfs客户机试图访问一个远程的nfs服务器资源.nfs客户机通过mount命令请求与 nfs服务器的mountd守侯进程进行连接.当nfs服务器响应客户机时候,返回给可户机一个信息.客户机把这个信息写到本地的/etc/mnttab文件中.这个信息是服务器中共享文件和目录的信息.它是资源信息的编码:磁盘设备号、节点生成号、节点号等.这个是唯一的.

一旦可户机得到请求信息,nfs服务器上的mountd进程就会在服务器本地的/etc/rmtab文件中添加一条信息.这是为了保持对当前加载可户机上文件的跟踪.这个文件为每一个被加载资源添加一个条目,格式是:

  1. remote hostname: local filename name

注意:mountd每一次重新启动和可户机发一个卸载请求,都会更新服务器的/etc/rmtab文件中的旧条目.

3 共享设置命令.

明白了以上的道理,下面说具体的操作了.Solaris nfs服务器使用/usr/sbin/share命令为客户机共享资源.

命令详解:

  1. # share ---显示所有可以安装的资源,不管它是否已经被安装.
  2. # share [ -F filesystem ] [ -o options ] [-d description ] pathname-to-resource

指定共享文件.

* -F file system type 指定被公享的文件系统类型.
* -o options 指定客户对资源访问的类型.
* -d description 功享资源的简单描述.当你share命令不带任何参数运行,他就会被显示.
* pathname-to-resource 在服务器上共享的资源名字.
*-o 指定了允许客户访问共享资源的用户也权限.
rw 表示用户可读/写,是默认植.
rw=client1:client2 指定用户可以有读/写权限.可以有很多用户,用冒号分隔.
ro 表示只读.
ro=client1:client2 指定用户client1和client2只读.client1可以是用户名,也可以是ip地址,或者一个网段.例如:ro=@202.99.88.0/24
root=client:client2 指定client1和client2上的root用户对共享资源有超级用户的权限.但是,他的优先级小于Solaris nfs服务器的本地权限.

例如:用户peng有个目录/exprot/home/games要共享.

  1. # share -F nfs -o rw=lnx3000:race , ro=@202.88.99.0/24:sune450 ,root=mmmmn -d "i love MM !" /export/home/peng/games

运行结果:共享/exprot/home/peng/games目录,名字是lnx3000和race的两台主机有读/写权限;202.88.99.0这个c类网的机器和sun450这个主机只有读的权限;mmmmn这台主机的root用户可以对共享资源有超级用户访问权限.但是声名一点,要是我给共享目录/exprot/home/peng/games目录只读,mmmmn的root权限也没有用,只能只读.因为服务器本地权限大于任何share的权限.

取消share资源.

  1. # unshare [ -F nfs ] path-to-resource
  2. * -F nfs 指定系统类型,默认.
  3. * path-to-resource 指定共享路径.

例如:

  1. # unshare /export/home/peng/games

取消这个共享资源了.

4 开机自动共享资源.

以上的命令方法,在机器重新启动的时候,设置消失.如何保留和开机自动启动Solaris nfs共享.我们可以用/etc/dfs/dfstab文件来实现自动共享文件.只要主机启动进入运行级别3,nfs资源共享自动启动.

1、编辑/etc/dfs/dfstab文件,添加:

  1. share [ -F filesystem ] [ -o options ] [-d description ] pathname-to-resource

这个和命令行是一样的

2、# /etc/init.d/nfs.server start

这样就ok了.

3、手工快速命令.

  1. # shareall --共享所有列在/etc/dfs/dfstab中的共享资源.
  2. # unshareall --取消所有列在/etc/dfs/dfstab中的共享资源.

资源查看.

  1. # dfshares

用以查看服务器的共享资源 .输入格式如下:

  1. resource server access transprot
  2. * resource 可被远程调用的资源的主机和路径名.
  3. * server 指定资源的系统名称.
  4. * access 服务器指定的权限,默认是rw,显示为"-".
  5. * transport 指定共享资源的端口.
  6. # dfmounts命令

显示服务器上查看共享资源被利用的状况,输出格式如下:

  1. RESOURCE SERVER PATHNAME CLIENTS
  2. * resource 共享资料名称.
  3. * server pathname 共享资料目录.
  4. * client 连接的客户端.
  5. # nfsstat

看Solaris nfs的全部状态

3、nfs客户机设置.

安装好nfs服务器后,就可以用客户端使用共享资料了.首先要检测nfs服务器,然后安装.

1 检测Solaris nfs服务器.

  1. # showmount [ -ade ] <hostname>
  2. * -a 显示已经已经使用的资源和来自哪个nfs服务器.
  3. * -d 显示已经被远程安装的资源.
  4. * -e 显示可以被安装的可以资源.一般用-e来查看远程主机的可以资源.

2 建立共享.

  1. # mount [ -F nfs ] [ -o options ] path-to-resource path-to-local-mount-point
  2. * -F nfs 指定共享文件系统,默认的.没必要指定.
  3. * -o options 指定选项,例如权限.默认rw,可读/写.也可以ro--只读.
  4. * path-to-rescource 指定nfs服务器的主机名和共享资源路径.
  5. * path-to-local-mount-point 指定共享资源在本地的mount点.

例如:

# mkdir /export/home/games
# mount peng:/export/home/peng/games /exprot/home/games

共享远程主机peng的/export/home/peng/games目录,可读写,挂接在本地的/exprot/home/games目录上.

3 取消共享.

# umount [-F nfs] remote-path-to-resource path-to-local-mount-point

* -F nfs 默认的文件系统.
* remote-path-to-resource 远程主机和共享目录路径,主机和共享目录路径用冒号分隔.
* path-to-local-mount-point 本地主机挂点.

例如:

  1. # umount peng:/export/home/peng/games /export/home/games

取消远程主机peng上的/exprot/home/peng/games这个目录的在本地/export/home/games上的共享.

4 系统开机自动共享.

修改/etc/vfstab文件,格式如下:

device to mount device to fsck mount point FS type fsck pass mount at boot mount options

* device to mount 指定远程服务器名和共享路径.远程服务器名和共享路径用冒号分开.
* device to fsck 这个是空的.从来不从客户机进行文件检测.
* mount point 指定本地的mount点.这个目录必须是已经存在的.
* FS type 对于Solaris nfs资源系统来说,当然是nfs了.
* fsck pass 这个也是空的.表示不从客户机进行文件系统检测.
* mount at boot 选择yes or no,yes就是启动时自动安装.
* mount options 用逗号分隔的mount命令的列表.

例如:

# vi /etc/vfstab 添加:

peng:/export/home/peng/games - /export/home/games nfs - yes soft,bg

表示开机自动把远程主机peng的/export/home/peng/games目录自动挂到本机的/export/home/games下.soft选项是目录不能安装,产生一个错误.bg选项,系统启动过程中安装在后台.关于mount options的参数,请用 man mount 自己看看吧.

5 手工调试命令.

# mountall

不带任何参数,安装所有列在/etc/vfstab文件中mount at boot中为yes的资源.

# mountall -r 只影响远程文件
# mountall -l 只影响本地文件
# umountall

不带任何参数,谢载已经安装的资源.不包括/ 、/proc、/usr、/var.另外,系统忙,也可能不会卸载.

# umountall -r 只影响远程文件
# umountall -l 只影响本地文件

Solaris nfs服务小节:

到这里我想应该没有什么问题了.大家只要注意一下客户端和服务器端的区分.

nfs服务器端运行守侯进程mound、nfsd
nfs服务器端使用文件/etc/dfs/dfstab、/etc/dfs/sharetab、/etc/rmtab
nfs服务器使用命令是:share unshare shareall unshareall
nfs客户端运行守侯进程statd、lockd.
用到的文件是/etc/vfstab、/etc/mnttab
nfs客户机使用命令是:mount umount mountall umountall

FAQ :

1、运行mount命令不能得到共享资源,得到信息:"nfs server not responding".

answer:确信服务器上nfsd和mountd已经运行,资源已经用共享命令正确共享.

2、当我企图共享到本地磁盘时,错误为:"mount:/tmp_mount not found".

answer: 你有没有在本地创建mount点.

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/262478/viewspace-713163/,如需转载,请注明出处,否则将追究法律责任。

上一篇: SQL 硬盘空间脚本
下一篇: solaris crontab
请登录后发表评论 登录
全部评论

注册时间:2009-05-20

  • 博文量
    37
  • 访问量
    60332