1.在主节点green:
建立文件系统,系统->管理->服务器设置->NFS->添加
a.基本选项
目录框中:浏览->新建 /upcnfs
基本权限:读/写
主机:*.lab.upcgrid.org
而不要用202.194.158.*(不用这种) (202…这样设置需针对不同/etc/hosts设置,使文件系统可被该范围内的所有主机加载,此处/etc/hosts设置如下:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
202.194.158.219 blue.lab.upcgrid.org blue
202.194.158.215 green.lab.upcgrid.org green
协同/etc/hosts中设置,方便ip变动,且有时需要额外添加一个nfs 主机,这里指定为*.lab.upcgrid.org)
错误注意事项:(若依据此/etc/hosts中有的主机,这里配置为ip通配符形式,如202.194.158.*,则容易出现/etc/hosts中有主机名字的挂载失败,而没有在/etc/hosts 中列出的则可以挂载成功,后续做可尝试不同设置,最好建议*.lab.upcgrid.org)
b.一般选项设置如下:
c.用户访问:
至此确定即可完成文件系统的创建。
2.在从节点blue,挂载该文件系统
[root@blue ~]#cd /
[root@blue ~]#ls
[root@blue ~]#mkdir upcnfs
[root@blue ~]#mount –t nfs green:/upcnfs /upcnfs
(将green上的upcnfs挂载到上述创建的blue的upcnfs目录)
(server接到客户端的mount时,会先客户的IP做反解成域名,用域名(注意是用域名而不是IP)去和/etc/exports做比较,如果匹配不成功会失败。)
修改green的nfs设置 主机允许范围改为*.lab.upcgrid.org
Client查看Server有提供哪些NFS服务,可以使用showmount
# showmount -e 显示某台主机的/etc/exports所共享的目录数据
# showmount -a 显示当前主机与客户端NFS联机共享状态
二.简单测试
在将 green 的共享目录 upcnfs 挂在到 blue 的 upcnfs 目录后,简单测试如下:
1.我们在 green 创建文件 test,并写入内容123123…,然后在 blue 查看
[root@green ~]#cd /nfsd1
[root@green upcnfs]#ls
[root@green upcnfs]#vi test
写入123123123123..................
[root@green upcnfs]#cat test
1231231231231................
然后在 blue 创建 upcnfs 并挂载
[root@blue ~]#mkdir /upcnfs
[root@blue upcnfs]#mount –t nfs green:/upcnfs /upcnfs
[root@blue upcnfs]#cat test
1231231231231................
2.我们在 blue 创建文件 test,并写入内容123123…,然后在 green 查看
[root@blue ~]#cd /nfsd1
[root@blue upcnfs]#ls
[root@blue upcnfs]#vi test
写入123123123123..................
[root@blue upcnfs]#cat test
1231231231231................
然后在 green 中查看
[root@green upcnfs]#cat test
1231231231231................
如果出现在子节点加载后文件发生变动(如创建文件)在主节点不能显示,有时候可能需要重新打开主节点,双击该文件系统编辑,(什么都不需要做)确定即可。
注意:通常2测试不能通过,会提示如 Permission Denied 之类的错误,root 用户在该目录没有写权限,然而我们在 green 机器上查看时会发现,明明我们设置的就是“读/写”权限。
其实这是因为/etc/exports文件中,NFS的默认设置包含了 root_squash 参数,意思是 root 用户在该共享目录被映射为匿名用户,所以没有写权限。因此,只需在/etc/exports文件中设置 no_root_squash 参数即可,如下所示:
/upcnfs *.lab.upcgrid.org(rw, sync, no_root_squash)