NFS攻略 - Linux下 NFS 客户端的设置_Linux_操作系统_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 操作系统 > Linux > NFS攻略 - Linux下 NFS 客户端的设置

NFS攻略 - Linux下 NFS 客户端的设置

 2010/11/20 11:19:22  codingstandards  http://codingstandards.javaeye.com  我要评论(0)
  • 摘要:NFS攻略-Linux文件服务器搭建与使用实例本文链接:http://codingstandards.javaeye.com/blog/816389(转载请注明出处)本文内容包括:1NFS概述2Linux下NFS服务端的设置3Linux下NFS客户端的设置4Windows下NFS客户端的安装及设置3Linux下NFS客户端的设置Unix/Linux系统把一切设备都当做文件来处理,NFS共享目录的使用也不例外。此处假定NFS服务器地址为192.168.6.55,共享目录为/vmsnfs
  • 标签:NFS攻略 NFS设置

NFS攻略?-?Linux文件服务器搭建与使用实例

本文链接:http://codingstandards.javaeye.com/blog/816389 ? (转载请注明出处)

?

本文内容包括:

1?NFS概述

2?Linux下NFS服务端的设置

3?Linux下NFS客户端的设置

4?Windows下NFS客户端的安装及设置

?

3?Linux NFS 客户端的设置

?

Unix/Linux系统把一切设备都当做文件来处理,NFS共享目录的使用也不例外。此处假定NFS服务器地址为192.168.6.55,共享目录为/vmsnfs。那么在其他Linux机器如果要访问这个共享目录,首先要挂载 (mount)此nfs共享目录,比如也可以是/vmsnfs。这样对于所有Linux机器上的程序都可以访问/vmsnfs目录下的文件或子目录,如同这些文件就存储在本机之上。

?

3.1?通过mount命令来设置

?

首先创建挂载点,就是Linux下一个普通目录。

mkdir?/vmsnfs

?

然后使用mount命令将nfs共享目录挂载上来。

mount?-t?nfs?192.168.6.55:/vmsnfs?/vmsnfs

?

如果不想再使用此nfs共享目录,可以使用umount命令卸载掉。

umount /vmsnfs

?

这种方式使用nfs共享目录有个问题,它是临时的,重新启动机器就会丢失。最好的方式是采用autofs来自动挂载。

?

3.2?使用autofs自动来设置

?

mount 是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、?NFS、 SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不 能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文 件系统。免去我们手动挂载的麻烦。

?

创建/etc/auto.nas文件

在文件中添加一行

vmsnfs?-rw,rsize=8192,wsize=8192,soft,intr?192.168.6.55:/vmsnfs

?

修改/etc/auto.master

添加一行

/nas?/etc/auto.nas?--timeout=0

注 意:--timeout=0表明一旦挂载就不会自动被卸载(umount)。也可以指定一个别的正数,比如600,那么如果600秒之内没有使用nfs就 会自动被卸载。如果没有--timeout参数部分,则默认为600秒(10分钟),这个参数在/etc/sysconfig/autofs文件中可以用 TIMEOUT项指定。

?

将autofs服务设置为开机自启动

先使用chkconfig?--list?autofs检查一下autofs服务是否已经设置为自启动了。

[root@sunrise17?~]#?chkconfig?--list?autofs

autofs??????????0:off???1:off???2:off???3:on????4:on????5:on????6:off

如果你发现输出中全部为off,使用chkconfig?autofs?on设置为开机自启动。

[root@sunrise17?~]#?chkconfig?autofs?on

注:autofs实际上是使用automount命令来处理的。

?

创建一个符号链接/vmsnfs指向/nas/vmsnfs

因为通过上述autofs配置自动挂载的路径为/nas/vmsnfs,而实际需要的是/vmsnfs,所以需要创建一个符号链接来达到这个目的。

首先确认一下是否已经有/vmsnfs这样的目录或文件已经存在。如果有,先把它改成别的名称,否则创建的符号链接可能变成了/vmsnfs/vmsnfs了。

[root@sunrise17?/]#?ln?-s?/nas/vmsnfs?/vmsnfs

[root@sunrise17?/]#?ls?-l /vmsnfs

lrwxrwxrwx?1?root?root?11?Nov?18?18:21 /vmsnfs?->?/nas/vmsnfs

使用mount命令不跟任何参数就可以看到系统所有挂载点的情况。

[root@sunrise17?/]#?mount

/dev/mapper/VolGroup00-LogVol00?on?/?type?ext3?(rw)

proc?on?/proc?type?proc?(rw)

sysfs?on?/sys?type?sysfs?(rw)

devpts?on?/dev/pts?type?devpts?(rw,gid=5,mode=620)

/dev/hdc1?on?/boot?type?ext3?(rw)

tmpfs?on?/dev/shm?type?tmpfs?(rw)

none?on?/proc/sys/fs/binfmt_misc?type?binfmt_misc?(rw)

sunrpc?on?/var/lib/nfs/rpc_pipefs?type?rpc_pipefs?(rw)

192.168.6.55:/vmsnfs?on?/nas/vmsnfs?type?nfs?(rw,rsize=8192,wsize=8192,soft,intr,addr=192.168.6.55)

[root@sunrise17?/]#?

?

至此,在Linux下使用autofs来配置nfs客户端的任务就完成了。

?

重新启动机器之后再登录,执行mount命令,会发现/nas/vmsnfs并没有自动mount上来。如下所示:

[root@sunrise17?~]#?mount

/dev/mapper/VolGroup00-LogVol00?on?/?type?ext3?(rw)

proc?on?/proc?type?proc?(rw)

sysfs?on?/sys?type?sysfs?(rw)

devpts?on?/dev/pts?type?devpts?(rw,gid=5,mode=620)

/dev/hdc1?on?/boot?type?ext3?(rw)

tmpfs?on?/dev/shm?type?tmpfs?(rw)

none?on?/proc/sys/fs/binfmt_misc?type?binfmt_misc?(rw)

sunrpc?on?/var/lib/nfs/rpc_pipefs?type?rpc_pipefs?(rw)

再访问一下/vmsnfs,也就是间接访问/nas/vmsnfs就会发现mount上来了。也就是说,使用autofs来自动挂载nfs文件系统时,只有首次使用之后才会自动挂载上来。

[root@sunrise17?~]#?ls?/vmsnfs

vms??vmsnfs??vox

[root@sunrise17?~]#?mount

/dev/mapper/VolGroup00-LogVol00?on?/?type?ext3?(rw)

proc?on?/proc?type?proc?(rw)

sysfs?on?/sys?type?sysfs?(rw)

devpts?on?/dev/pts?type?devpts?(rw,gid=5,mode=620)

/dev/hdc1?on?/boot?type?ext3?(rw)

tmpfs?on?/dev/shm?type?tmpfs?(rw)

none?on?/proc/sys/fs/binfmt_misc?type?binfmt_misc?(rw)

sunrpc?on?/var/lib/nfs/rpc_pipefs?type?rpc_pipefs?(rw)

192.168.6.55:/vmsnfs?on?/nas/vmsnfs?type?nfs?(rw,rsize=8192,wsize=8192,soft,intr,addr=192.168.6.55)

[root@sunrise17?~]#?

?

通过上面的配置之后,重启系统之后,autofs会根据需要来自动挂载nfs共享目录。如果--timeout参数配置为正数,在不需要时会自动卸载,释放掉不必要的资源,而通过手工方式来挂载达不到这个效果。

?

3.3?在Linux下使用NFS客户端会碰到的问题

?

Q:使用touch创建文件时,怎么报“Permission?denied”错误

A:检查NFS服务端的共享目录,看属主和组是否为nfsnobody。如果不是,更改之,如下所示:(在NFS服务端所在系统上操作)

chown?-R?nfsnobody?/vmsnfs

chgrp?-R?nfsnobody?/vmsnfs

?

Q:怎么看共享目录的磁盘空间占用情况?

A:Linux会把挂载的共享目录当做一个文件系统,可以使用df来查看磁盘空间的占用情况。

[root@sunrise17?~]#? df

Filesystem???????????1K-blocks??????Used?Available?Use%?Mounted?on

/dev/mapper/VolGroup00-LogVol00

?????????????????????941082332???2767796?889739256???1%?/

/dev/hdc1???????????????101086?????12166?????83701??13%?/boot

tmpfs??????????????????2069260?????????0???2069260???0%?/dev/shm

192.168.6.55:/vmsnfs??54659136??46256872???5580944??90%?/nas/vmsnfs

?

?

点击下面的链接查看本文其他部分内容:

1?NFS概述

2?Linux下NFS服务端的设置

3?Linux下NFS客户端的设置

4?Windows下NFS客户端的安装及设置

?

待续。

?

发表评论
用户名: 匿名