Centos6.2+NFS网络文件服务器配置实例
1.环境介绍:
a)Server:192.168.0.11 (StoreData)
b)Client:192.168.0.208 (WriteData), 192.168.0.160(ReadData), 192.168.0.10 (ReadData)
2.软件安装:
yum -y installportmap nfs*#server和client端都需要安装
3.NFSServer配置(server端配置):
[root@guanying01 ~]# mkdir -p /u2/img_server
[root@guanying01 ~]# echo “/u2/img_server 192.168.0.0/24(rw,no_root_squash)” >> /etc/exports
配置文件参数说明:
/u2/img_server/为共享的目录,使用绝对路径。
192.168.0.0/24(rw,no_root_squash,no_all_squash,sync)为客户端的地址及权限,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*.taoying.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值。
4.NFS启动:
service nfs start
service portmap start#注意client端也需要开启,否则mount时报错而导致挂载失败
5.应用(在client端执行以下内容):
mkdir -p /u1/img_server
mount 192.168.0.11:/u2/img_server /u1/img_server -tnfs
6.问题及解决方案:
问题一.客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可:
[root@gy01 ~]# mount -t nfs192.168.0.11:/u1/img_server /u1/img_server
mount.nfs: Input/output error
解决方法:
[root@gy01~]# mount-t nfs 192.168.0.11:/u2/img_server /u1/img_server -o proto=tcp -o nolock
问题二.由于某种原因而导致208没有挂载,从而程序写入的数据都写在了本地磁盘上的/u1/img_server下了,为避免挂载时覆盖/u1/img_server下的数据且需要将该目录下的数据写入到NFS server共享存储里,应该进行如下操作:
解决方法:
[root@gy208~]# mv img_server img_server.bak
[root@gy208~]# mkdir img_server
[root@gy208~]# mount 192.168.0.11:/u2/img_server/u1/img_server -t nfs
[root@gy208~]# /bin/cp -rf /u1/img_server.bak/img/*/u1/img_server/img