CentOS下NFS服务器安装及配置实例

感谢trt2008 http://chlotte.blog.51cto.com/318402/498952的BLOG的博客,我是按照她的来做的,没有问题,我转载过来,顺便添加一些常用的基础知识。

一,应用环境介绍:

用途

操作系统

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

  1. ro          只读访问  
  2. rw          读写访问  
  3. sync        所有数据在请求时写入共享  
  4. async       NFS在写入数据前可以相应请求  
  5. secure      NFS通过1024以下的安全TCP/IP端口发送  
  6. insecure    NFS通过1024以上的端口发送  
  7. wdelay      如果多个用户要写入NFS目录,则归组写入(默认)  
  8. no_wdelay   如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。  
  9. hide        在NFS共享目录中不共享其子目录  
  10. no_hide     共享NFS目录的子目录  
  11. subtree_check           如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)  
  12. no_subtree_check        和上面相对,不检查父目录权限  
  13. all_squash  共享文件的UID和GID映射匿名用户anonymous,适合公用目录。  
  14. no_all_squash           保留共享文件的UID和GID(默认)  
  15. root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)  
  16. no_root_squash          root用户具有根目录的完全管理访问权限  
  17. anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID  
  18. anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的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

原文地址:https://www.cnblogs.com/coolid/p/2729579.html