本文档只限于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等
附在最后,近期换了工作,环境薪酬有了质的飞跃,所以踏实下心来,把过去一段时间学习与实际部署的东西做一下总结,方便日后学而时习之,达到能力巩固与提升的目的。
文中如有错误还请大牛指出。