环境:
NFS4,CentOS 6
摘要说明:
NFS:NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
NFS主要步骤为:
第一步:选择一台服务器构建一个共享目录作为NFS服务端
第二步:利用NFS将其他需要集群的服务器(作为客户端)的相同目录挂载到NFS服务端;
本篇文章参考学习于https://www.server110.com/linux/201404/10169.html
步骤:
1.构建NFS服务端
a.安装NFS4
通过下面命令安装nfs:
yum install nfs-utils
b.配置NFS共享目录
编辑/etc/exports文件;在文件中添加要共享的目录及目录权限:
vi /etc/exports
/home/exp 192.168.0.10(rw,sync,fsid=0) 192.168.0.11(rw,sync,fsid=0)
上述命令的意思就是将/home/exp共享给192.168.0.10和192.168.0.11这两台服务器进行挂载;
rw表示可读可写;
sync表示同步写内存和磁盘;
fsid=0表示将/home/exp这个导出文件夹包装成起始根目录。
c.配置开机启动和启动NFS
先设置nfs服务开机自动启动:
chkconfig rpcbind on
chkconfig nfs on
再启动nfs服务:
service rpcbind start
service nfs start
查看nfs服务是否启动:
rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 59906 status
100024 1 tcp 44235 status
......
也可通过exportfs查看共享目录:
exportfs
/home/exp xxx.xxx.xxx.xxx
2.客户端挂载
a.安装NFS4
先通过如服务端一样安装启动nfs服务;
通过下面命令看是否能够挂载服务端目录:
showmount -e xxx.xxx.xxx.xxx(服务端IP)
b.挂载目录
先创建需要挂载的目录:
mkdir /home/exp
再将该目录挂载到nfs服务端:
mount -t nfs4 xxx.xxx.xxx.xxx(nfs服務器IP):/ /home/exp
查看是否挂载成功:
df -h
c.配置客户端开机自动启动
通过修改/etc/fstab配置客户端自动开机:
vi /etc/fstab
xxx.xxx.xxx.xxx(nfs服務器IP):/ /home/exp nfs4 ro,hard,intr,proto=tcp,port=2049,noauto 0 0
但这时是有权限问题,需要修改服务端权限:
vi /etc/exports
/home/exp 192.168.0.10(rw,sync,fsid=0,anonuid=48,anongid=48) 192.168.0.11(rw,sync,fsid=0,anonuid=48,anongid=48)
anonuid=48:让所有匿名用户的操作都视为服务器上用户id为48的用户;
anongid=48:让所有匿名用户的操作都视为服务器上用户id为48的用户组;
注:该用户和用户组的id对用的用户要存在且必须拥有对该目录的读权限
重新读取exports配置:
exportfs -rv
再查看是否读取成功:
exportfs -v
3.总结
NFS(网络文件系统)构建共享目录通常可以用于服务器集群解决公共资源文件的读写;