首页 > 代码库 > linux下设置NFS服务

linux下设置NFS服务


//参照《鸟哥的Linux私房菜》之“简易NFS服务器设定”,只陈述设置过程

1. 关于NFS(Network FileSystem)和RPC(Remote Procedure Call)
NFS,即网络文件系统,作用:可以使本地主机通过网络将远程NFS主机分享的目录挂载到本地主机之中。
RPC,“远程过程调用”,NFS使用RPC协议进行数据传递。所以NFS Server和Client均要启动RPC才能进行数据传递。

2.Server端的设定
/etc/exports NFS的主要配置文件
/usr/sbin/exprotfs 利用这个指令重新分享/etc/exports变更的目录资源、将NFS分享的目录卸载或重新分享,等等
/usr/sbin/showmount 客户端使用此命令,查看服务器端分享出来的目录资源
/var/lib/nfs/xtab NFS的记录文件,查看哪些Client端曾经连接过NFS主机

2.1 /etc/exports设定
文件格式:
[分享目录] [主机名称1或IP1(参数1,2..)] [主机名称2或IP2(参数1,2..)]
[分享目录]:就是要分享给IP1和IP2的目录
主要参数:
rw:可读写
ro:只读
no_root_squash:登入主机的为root用户时,对于分享目录具有root权限
root_squash:登入主机的为root用户时,不具有root权限,使用者压缩为匿名用户nobody
all_squash:无论登录者是什么用户,均压缩为匿名用户nobody
anonuid:对于*_squash提到的匿名使用者,自行设定的使用者的UID
anongid:同anonuid,自行设定GID
sync:数据同步写入到内存和硬盘
async:数据暂存于内存中,不直接写入硬盘
例子:
/home/public 192.168.0.*(rw) *(ro)
/tmp *(rw,no_root_squash)
/home/linux *.linux.org(rw,all_squash,anonuid=40,anongid=40)

2.2启动服务portmap,nfsd
[root@test root]# /etc/rc.d/init.d/portmap start <==启动 portmap
[root@test root]# /etc/rc.d/init.d/nfs start <==启动 NFS

2.3 exportfs命令
语法:
[root@test root]# exportfs [-aruv]
参数说明:
-a :全部挂载(或卸载) /etc/exports 档案内的设定
-r :重新挂载 /etc/exports 里面的设定,此外,亦同步更新 /etc/exports 及 /var/lib/nfs/xtab 的内容!
-u :卸载某一目录
-v :在 export 的时候,将分享的目录显示到屏幕上!
范例:
[root@test root]# exportfs -rv <==全部重新 export 一次!
[root@test root]# exportfs -au <==全部都卸载了!

2.4 /var/lib/nfs/xtab

2.5 showmount命令,扫瞄某一部主机他提供的 NFS 分享的目录
语法:
[root@test root]# showmount [-ae] hostname
-a :在屏幕上显示目前主机与 Client 所连上来的使用目录状态
-e :显示 hostname 这部机器的 /etc/exports 里面的分享目录!
范例:
[root@test root]# showmount -e 192.168.0.88

2.6 RPC Server的相关指令,rpcinfo
语法:
[root@test root]# rpcinfo [-p] hostname(orIP)
-p :显示所有的 port 与 program 的信息!

3.Client端的设定

3.1扫瞄可以使用的 Server 目录; //参照showmount用法

3.2在 Client 本地端建立 mount point; //mkdir创建一个本地挂载目录

3.3使用 mount 将远程主机分享的目录挂载进来;
[root@test root]# mount -t nfs hostname(orIP):/directory /mount/point
[root@test root]# umount /mount/point

4.防火墙
//将防火墙关闭是个一劳永逸的办法,不然请开放相关端口

5.关机或结束时要注意的
//由于 NFS 使用的这个 RPC 在 client 端连上主机时,那么您的主机想要关机,那可就会成为“不可能的任务”
//如果您的Server上面还有Client在联机,建议在关机之前,先卸载远程目录挂载,“关掉 portmap 与 nfs”。

linux下设置NFS服务