Centos6.2+NFS网络文件服务器配置实例

1.环境介绍:

a)Server192.168.0.11 (StoreData)

b)Client192.168.0.208 (WriteData), 192.168.0.160(ReadData), 192.168.0.10 (ReadData)


2.软件安装:

yum -y installportmap nfs*#serverclient端都需要安装


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地址与权限中间没有空格,权限说明:

rwread-write,可读写;

roread-only,只读;

sync:文件同时写入硬盘和内存;

async:文件暂存于内存,而不是直接写入内存;

no_root_squashNFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。

root_squashNFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobodynfsnobody身份;

all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;

anonuid:匿名用户的UID值,通常是nobodynfsnobody,可以在此处自行设定;

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