本文档只限于NFS基本配置,如果生产环境可能还需要根据具体需求添加相应参数

关于NFS是什么,用来做什么的解释,我这就不写了,我只写搭建过程

变量声明:

/nfs 主机共享目录,生产环境中一般为uploads等

10.0.0.101 nfs程序服务端

10.0.0.102 nfs程序挂载端

uid,gid为单独设置的2000,目的是服务端和挂载端的用户信息一致

添加的用户为nfs 这个在生产环境中一般与web服务使用同一个用户名

服务端:

1、安装nfs-utils rpcbind

   yum install nfs-utils rpcbind -y

2、启动相关软件 (必须先启动rpcbind,然后在启动nfs)

   /etc/init.d/rpcbind start

   /etc/init.d/nfs

3、本地测试程序是否启动

   rpcinfo -p localhost

   如果显示结果中有nfs字样,说明配置成功,nfs已经启动

4、编辑nfs配置文件(/etc/exports),在配置文件中添加如下字段

   /nfs 10.0.0.0/24(rw,sync,anonuid=2000,anongid=2000)

   字段说明

   本地目录   授权的IP断,也可以是单独IP(权限与参数)

   常用参数:rw 读写,ro 只读,sync状态同步(如果是只读,可以忽略不写),annouid和anongid目录对应的权限,一般用于挂载机器的权限一致

5、重载nfs

   /etc/init.d/nfs reload

6、本地查看状态,如果有显示,则说明成功

   showmount -e 10.0.0.101(本机IP,也可以使用localhost)

7、配置开机自启动,建议统一修改/etc/rc,local,添加如下字段

   #onboot rpcbind

   /etc/init.d/rpcbind start

   #onboot nfs

   /etc/init.d/nfs start

   或者通过cat追加

   cat >>/etc/rc.local<<EOF

   #onboot rpcbind

   /etc/init.d/rpcbind start

   #onboot nfs

   /etc/init.d/nfs start

   EOF

附加操作:

8、配置一直文件权限与所有者

   groupadd nfs -g 2000

   useradd nfs -u 2000 -g 2000 -M -s /sbin/nologin

   nfs用户可以不设密码,也可以按照上述配置,禁止登陆

9、修改共享目录的权限

   chown nfs.nfs /nfs

客户端:

1、安装rpcbind和nfs-utils-lib

   yum install nfs-untils-lib rpcbind -y

2、启动rpcbind

   /etc/init.d/rpcbind start

3、查看远端nfs状态,如果状态正常,则进行下面的挂载操作

   showmount -e 10.0.0.101

4、创建所需目录,并挂载

   mkdir /nfs 

   mount -t nfs 10.0.0.101:/nfs /nfs

5、配置开机自启动建议统一修改/etc/rc,local,添加如下字段

   #auto mount nfs

   mount -t nfs 10.0.0.101:/nfs nfs

   或者使用cat追加

   cat >>/etc.rc.local<<EOF

   #auto mount nfs

   mount -t nfs 10.0.0.101:/nfs nfs

   EOF

附加操作:

6、配置一直文件权限与所有者

   groupadd nfs -g 2000

   useradd nfs -u 2000 -g 2000 -M -s /sbin/nologin

   nfs用户可以不设密码,也可以按照上述配置,禁止登陆

至此,配置结束,可以分别在客户端创建,然后在服务端看是否有文件,然后服务端删除文件,查看客户端是否随之删除等操作,来进行简单的测试。

文章补充:例如用于网站用户上传数据的一致,可以在服务端和客户端直接使用web服务对应的用户,如www等

附在最后,近期换了工作,环境薪酬有了质的飞跃,所以踏实下心来,把过去一段时间学习与实际部署的东西做一下总结,方便日后学而时习之,达到能力巩固与提升的目的。

文中如有错误还请大牛指出。