您的位置:首页 > 其它

NFS的配置使用

2011-04-04 23:19 204 查看
NFS就是网络文件系统,主要用来在linux/unix系统之间共享文件,它属于RPC(remote process call),NFS的通信协议与主机及操作系统无关,因此可以在不同主机,操作系统,文件系统之间实现文件共享。

如果你想用NFS,首先你得确认你的内核已经编译进了NFS,可以通过一下方法查看你系统是否已经编译NFS。

=========================================

cat /proc/filesystems

=========================================

查看输出结果里面是否有nfs,如果没有,你得重新编译内核,把nfs选进去。

如果内核有nfs,下面就介绍怎么使用它。

1,安装NFS。

要想使用NFS,你必须安装nfs-utils和portmap,因为不同的操作系统安装软件包的命令不一样,我这里就不详细说明,你可以先用命令查询nfs包和portmap包,然后根据列出的包的信息,来安装。比如gentoo系统,就可以用一下命令:

============================

#emerge --search nfs portmap

============================

然后根据列出来的包信息,进行选择安装。

为什么要用portmap包,因为NFS是个RPC,而RPC需要端口映射,该包就可以实现该功能。NFS默认端口是111。

2,配置NFS

启动NFS服务器时候,/etc/rc.d/rc会启动exportfs,搜索/etc/exports文件,该文件是NFS服务器配置文件,决定了服务器上哪些目录可以被哪些用户用什么权限进行访问。该文件格式如下:

====================================================

共享目录 客户机1(参数1,参数2) 客户机2(参数3,参数4)

====================================================

一个目录可被多个用户共享。

客户机可以设定如下参数:

========================================================

rw:可读写

ro:只读

no_root_squash:登录NFS服务器的用户如果是root,则该用户对共享目录有root权限。

root_squash:登录NFS服务器的用户如果是root,强制将其转换为匿名用户。

all_squash:不管登录到NFS的用户是什么身份,都设定成匿名用户。

anonuid:将登录的用户设置成指定用户的user id,此ID必须存在于/etc/passwd中

anongid:将登录的用户设置成指定用户的group id,此ID必须存在于/etc/passwd中

===============================================================================================

/home/linux *.linux.org(rw,all_squash,anonuid=40,anongid=40) 无论谁登录到NFS,身份都变成uid=40

===============================================================================================

sync/async:sync磁盘中的数据是最新的。

Insecure:允许从该客户机过来的非授权访问,NFS通过1024以上的端口发送

secure:NFS通过1024以下的端口发送

Hide:不共享子目录。 //这个和下面选项可以不要,

no_hide:共享子目录。//除非子目录和上层目录不是同个文件系统,否则都会显示。

/etc/exports例子:

=============================================================================

/tmp *(rw,no_root_squash)

/home/public 10.129.120.*(rw) *(ro) //10.129.120.1--255可读写,其他用户只读。

/home/linux *.linux.org(rw,all_squash.anonuid=40,anongid=40) //域名匹配linux.org,

================================================================================

#showmount -a 可以显示已经mount上本机nfs目录的客户端。

3,客户端配置

#showmount -e ip //显示指定ip的NFS服务器上的所有共享目录

如果客户端想一直挂在nfs里面的目录,可以修改/etc/fstab

比如增加以下一行:

================================================

20.129.120.1:/home/public /share nfs rw 0 0 //把NFS上的public目录挂在到share目录下,

============================================

关于/etc/fstab格式介绍如下:

=========================================================

filesystem mount-point fs-type options dump fsck-order

=========================================================

filesystem:要挂载的文件系统。

mount-point:挂载点

fs-type:文件系统格式,ext3,nfs...

options:

dump:如果为1,则系统自动写盘,否则不自动写盘。

fsck-order;跟文件系统为1,其他文件系统为2,交换,虚拟,CD,软盘和软成目录为0

如果只是临时挂载文件系统,则可以用以下命令:

==================================

mount -t nfs ip:/目录 本地挂载点

==================================

4,服务器NFS服务的启动

===========================

#/etc/init.d/nfs start

#/etc/init.d/portmap start

===========================

如果是修改了exports文件之后,则可以重启上述两个服务,或者

==================================

#exportfs -rv //全部重新export一次

#exportfs [-aruv]

-a:mount或者umount /etc/exports所有目录

-r:重新mount共享目录

-u:umount

-v:屏幕可以看到相应信息

==================================

参考文献:Linux网络管理教程与上机指导--张光胜,王韶红,吴浩编著。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: