一,应用环境介绍:
用途 |
操作系统 |
IP地址 |
服务器端 |
CentOS 5.2 X86_64 |
192.168.0.121 |
客户端 |
CentOS 5.2 X86_64 |
192.168.0.122 |
二,NFS相关软件的安装:
[root@youxia122 ~]# yum -y install portmap nfs*
三,服务器端配置:
1,创建共享的目录:
[root@youxia121 data]# mkidr /usr/local/data/
2,修改NFS配置文件:
[root@youxia121 data]# vi /etc/exports
/usr/local/data/ 192.168.0.122(rw,no_root_squash,no_all_squash,sync)
注:配置文件说明:
/usr/local/data/ 为共享的目录,使用绝对路径。
192.168.0.122(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*.youxia.com,地址与权限中间没有空格,权限说明:
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。
四,启动NFS服务器并进行测试:
1,启动NFS服务器:
[root@youxia121 data]# service portmap start
启动 portmap:[确定]
[root@youxia121 data]# service nfs start
启动 NFS 服务: [确定]
关掉 NFS 配额:[确定]
启动 NFS 守护进程:[确定]
启动 NFS mountd:[确定]
2,在客户端进行测试:
创建需要挂载的目录:
[root@youxia122 local]# mkdir /usr/local/data/
执行挂载命令:
[root@youxia122 local]# mount -t nfs 192.168.0.121:/usr/local/data /usr/local/data -o proto=tcp -o nolock
在客户端创建一个测试文件并进行检查:
[root@youxia122 ~]# cd /usr/local/data/
[root@youxia122 data]# echo "this is a test" >> /usr/local/data/hehehe
[root@youxia122 data]# ll -h
总计 8.0K
-rw-r--r-- 1 root root 15 02-23 16:47 hehehe
在服务器端检查:
[root@youxia121 usr]# ll -h /usr/local/data/
总计 8.0K
-rw-r--r-- 1 root root 15 02-23 16:47 heheh
五,我在配置中遇到的问题:
1,在启动NFS服务器的时候遇到的一个问题如下,原因在于NFS配置文件中地址与权限中间多了一个空格,去掉空格重新启动即可:
[root@youxia121 local]# service nfs restart
关闭 NFS mountd:[确定]
关闭 NFS 守护进程:[确定]
关闭 NFS 服务: [确定]
启动 NFS 服务: exportfs: No options for /usr/local/data/ 192.168.0.122: suggest 192.168.0.122(sync) to avoid warning
exportfs: No host name given with /usr/local/data (rw,no_root_squash,no_all_squash,sync), suggest *(rw,no_root_squash,no_all_squash,sync) to avoid warning
[确定]
关掉 NFS 配额:[确定]
启动 NFS 守护进程:[确定]
启动 NFS mountd:[确定]
2,客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可:
[root@youxia122 local]# mount -t nfs 192.168.0.121:/usr/local/data /usr/local/data
mount.nfs: Input/output error
解决方法:mount -t nfs 192.168.0.121:/usr/local/data /usr/local/data -o proto=tcp -o nolock
参考网址:
http://www.chengyongxu.com/blog/centos%E4%B8%8Bnfs%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE/
http://dev.firnow.com/course/6_system/linux/Linuxjs/20090312/160799.html