nfs配置过程
第一步,配置/etc/exports;
直接编辑文件
格式: /tmp *(rw,no_root_squash)
参数意义:nfs exports参数
例子:
/tmp *(rw,no_root_squash) //登录后具有root用户权限
/tmp 10.106.2.*(rw) *(ro) //192.106.2.xxx的用户有读写权,其只读
/tmp 10.106.2.79(rw) *(ro) //.....
/tmp *.linux.org(rw,all_squash,anonuid=40,anongid=40)
特别注意到那个 all_squash 与 anonuid, anongid 的功能!如此一来,当
test.linux.org 登入这部 NFS 主机,并且在 /home/linux 写入档案时,该档
案的所有人与所有群组,就会变成 /etc/passwd 里面对应的 UID 为 40 的那
个身份的使用者了!
第二步,启动服务portmap, nfsd
/etc/rc.d/portmap restart 重启动portmap
/etc/rc.d/nfsserver restart 重新启动nfs
查看文件/var/log/messages 看是否启动成功
第三步,如果中途修改exportfs
语法:
[root@test root]# exportfs [-aruv]
参数说明:
-a :全部挂载(或卸载) /etc/exports 档案内的设定
-r :重新挂载 /etc/exports 里面的设定,此外,亦同步更新 /etc/exports
及 /var/lib/nfs/xtab 的内容!
-u :卸载某一目录
-v :在 export 的时候,将分享的目录显示到屏幕上!
范例:
<==全部重新 export 一次!
[root@test root]# exportfs -rv
exporting 192.168.0.100:/home/test
exporting 192.168.0.*:/home/public
exporting *.linux.org:/home/linux
exporting *:/home/public
exporting *:/tmp
reexporting 192.168.0.100:/home/test to kernel
[root@test root]# exportfs -au <==全部都卸载了!
第四步,检验目录 /var/lib/nfs/xtab
suse 貌似没有,还未解决
第五步,showmount
[root@test root]# showmount [-ae] hostname
-a :在屏幕上显示目前主机与 Client 所连上来的使用目录状态
-e :显示 hostname 这部机器的 /etc/exports 里面的分享目录!
范例:
[root@test root]# showmount -e localhost
Export list for localhost:
/tmp *
/home/linux *.linux.org
/home/public (everyone)
/home/test 192.168.0.100
第六步,观察启动的port number:
命令:netstat -utln
语法:
[root@test root]# rpcinfo [-p] hostname(orIP)
-p :显示所有的 port 与 program 的信息!
范例:
[root@test root]# rpcinfo -p test.linux.org
(不知道具体干什么,呵呵自己敲命令看看吧。
上面都是服务器端的设定,现在就设定客户端
第七步,挂载,卸载
mount -o nolock 10.106.2.79:/up-techpxa270 /mnt/nfs
注意,可能第一遍没成功,然后重启客户端,再运行命令就可以了
umount /mnt/nfs 就卸载了
常见的问题:
1,使用者的权限不符合
[root @test root]# mount -t nfs localhost:/home/test /home/nfs
mount: localhost:/home/test failed, reason given by server: Permission denied
所以啰!如果您发现上面的显示的讯息时,就表示您的主机权限不能够进入该目录啰!
如果确定您的 IP 没有错误,那么请回到 /etc/exports 这个档案中,针对您自己的 IP
来进行修正吧!
2,忘记启动 portmap :
这个最容易被忘记了!就是忘记了启动 portmap 这个服务啦!如果您发现您的 mount 的
讯息是这样:
[root@test root]# mount -t nfs localhost:/home/test /home/nfs
mount: RPC: Port mapper failure - RPC: Unable to receive
或者:
[root@test root]# mount -t nfs localhost:/home/test /home/nfs
mount: RPC: Program not registered
那就重启protmap 命令是:/etc/rc.d/portmap restart
同时别忘记重启nfs 命令是: /etc/rc.d/nfs restart
3,防火墙问题
第一步,配置/etc/exports;
直接编辑文件
格式: /tmp *(rw,no_root_squash)
参数意义:nfs exports参数
例子:
/tmp *(rw,no_root_squash) //登录后具有root用户权限
/tmp 10.106.2.*(rw) *(ro) //192.106.2.xxx的用户有读写权,其只读
/tmp 10.106.2.79(rw) *(ro) //.....
/tmp *.linux.org(rw,all_squash,anonuid=40,anongid=40)
特别注意到那个 all_squash 与 anonuid, anongid 的功能!如此一来,当
test.linux.org 登入这部 NFS 主机,并且在 /home/linux 写入档案时,该档
案的所有人与所有群组,就会变成 /etc/passwd 里面对应的 UID 为 40 的那
个身份的使用者了!
第二步,启动服务portmap, nfsd
/etc/rc.d/portmap restart 重启动portmap
/etc/rc.d/nfsserver restart 重新启动nfs
查看文件/var/log/messages 看是否启动成功
第三步,如果中途修改exportfs
语法:
[root@test root]# exportfs [-aruv]
参数说明:
-a :全部挂载(或卸载) /etc/exports 档案内的设定
-r :重新挂载 /etc/exports 里面的设定,此外,亦同步更新 /etc/exports
及 /var/lib/nfs/xtab 的内容!
-u :卸载某一目录
-v :在 export 的时候,将分享的目录显示到屏幕上!
范例:
<==全部重新 export 一次!
[root@test root]# exportfs -rv
exporting 192.168.0.100:/home/test
exporting 192.168.0.*:/home/public
exporting *.linux.org:/home/linux
exporting *:/home/public
exporting *:/tmp
reexporting 192.168.0.100:/home/test to kernel
[root@test root]# exportfs -au <==全部都卸载了!
第四步,检验目录 /var/lib/nfs/xtab
suse 貌似没有,还未解决
第五步,showmount
[root@test root]# showmount [-ae] hostname
-a :在屏幕上显示目前主机与 Client 所连上来的使用目录状态
-e :显示 hostname 这部机器的 /etc/exports 里面的分享目录!
范例:
[root@test root]# showmount -e localhost
Export list for localhost:
/tmp *
/home/linux *.linux.org
/home/public (everyone)
/home/test 192.168.0.100
第六步,观察启动的port number:
命令:netstat -utln
语法:
[root@test root]# rpcinfo [-p] hostname(orIP)
-p :显示所有的 port 与 program 的信息!
范例:
[root@test root]# rpcinfo -p test.linux.org
(不知道具体干什么,呵呵自己敲命令看看吧。
上面都是服务器端的设定,现在就设定客户端
第七步,挂载,卸载
mount -o nolock 10.106.2.79:/up-techpxa270 /mnt/nfs
注意,可能第一遍没成功,然后重启客户端,再运行命令就可以了
umount /mnt/nfs 就卸载了
常见的问题:
1,使用者的权限不符合
[root @test root]# mount -t nfs localhost:/home/test /home/nfs
mount: localhost:/home/test failed, reason given by server: Permission denied
所以啰!如果您发现上面的显示的讯息时,就表示您的主机权限不能够进入该目录啰!
如果确定您的 IP 没有错误,那么请回到 /etc/exports 这个档案中,针对您自己的 IP
来进行修正吧!
2,忘记启动 portmap :
这个最容易被忘记了!就是忘记了启动 portmap 这个服务啦!如果您发现您的 mount 的
讯息是这样:
[root@test root]# mount -t nfs localhost:/home/test /home/nfs
mount: RPC: Port mapper failure - RPC: Unable to receive
或者:
[root@test root]# mount -t nfs localhost:/home/test /home/nfs
mount: RPC: Program not registered
那就重启protmap 命令是:/etc/rc.d/portmap restart
同时别忘记重启nfs 命令是: /etc/rc.d/nfs restart
3,防火墙问题
0
/etc/exports
实例1
/home/html/ 1.1.1.1(sync,rw,no_root_squash)
/home/html/ 2.2.2.2(sync,rw,no_root_squash)
实例2
/www/wwwroot 3.3.3.3/255.255.255.255(rw,sync,anonuid=501,anongid=501)
/data/online 4.4.4.4/255.255.255.255(rw,sync)
/www/wwwroot 5.5.5.5/255.255.255.255(rw,sync,anonuid=501,anongid=501)
/data/online 6.6.6.6/255.255.255.255(rw,sync)
/etc/fstab
实例:
12.12.12.12:/www/wwwroot /www/wwwroot nfs nolock,hard,intr,bg,timeo=50 0 0
实例1
/home/html/ 1.1.1.1(sync,rw,no_root_squash)
/home/html/ 2.2.2.2(sync,rw,no_root_squash)
实例2
/www/wwwroot 3.3.3.3/255.255.255.255(rw,sync,anonuid=501,anongid=501)
/data/online 4.4.4.4/255.255.255.255(rw,sync)
/www/wwwroot 5.5.5.5/255.255.255.255(rw,sync,anonuid=501,anongid=501)
/data/online 6.6.6.6/255.255.255.255(rw,sync)
/etc/fstab
实例:
12.12.12.12:/www/wwwroot /www/wwwroot nfs nolock,hard,intr,bg,timeo=50 0 0
编辑回复