linux下搭建nfs共享目录

NFS介绍

NFS全称Network file System,网络文件系统。它是一种分散式网络文件系统。可以通过同一个局域网内的网络使不同机器和不同操作系统能够共享目录和文件。使客户端能够网络访问并分享文件到位于服务端的磁盘中。
NFS的客户端可以通过挂载(mount)的方式将NFS服务端共享的数据目录挂载到NFS客户端本地系统中,从客户端本地看,NFS服务器共享目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务端的目录。(挂载就是将服务端上的共享目录/文件挂载到客服端本地上)。

linux下搭建nfs共享目录_第1张图片

NFS安装

NFS服务端搭建

# 安装 nfs-utils 和 rpcbind
yum install nfs-utils rpcbind -y
# 创建nfs共享文件夹并修改权限
mkdir /nfsShare
# 服务端目录要可读可写可执行,便于控制各种权限
chmod -Rf 777 /nfsShare
# 修改nfs配置文件
echo "/nfsShare *(insecure,rw,sync,root_squash)" >> /etc/exports
# 启动rpcbind
systemctl start rpcbind
# 将rpcbind设为开机自启动
systemctl enable rpcbind
# 启动nfs-server
systemctl start nfs-server
# 将nfs设为开机自启动
systemctl enable nfs-server
# 停止防火墙服务 - 一般不需要,默认关闭
systemctl stop firewalld
# 设置SELinux成为permissive模式,临时关闭selinux防火墙 - 一般不需要默认无
setenforce 0

配置参数解释:

客户机地址可以是主机名、IP地址、网段地址,允许使用“*”、“?”通配符;

"insecure"是客户端从大于1024的端口发送链接;

“rw”表示允许读写,“ro”表示为只读;
“sync”:表示同步写入到内存与硬盘中;
“no_root_squash”:表示当客户机以root身份访问时赋予本地root权限(默认是root_squash);
“root_squash”:表示客户机用root用户访问更改共享目录时,将root用户映射成匿名用户;

常见的配法:

/nfsShare 192.168.0.1(rw,sync,no_root_squash) - 指定服务器ip机器访问

/nfsShare 192.168.0.0/24(rw,sync,no_root_squash) - 指定整个网段访问

/nfsShare 192.168.0.1(ro) - 只读共享,例如一些生成服务器的日志目录,又不想给开发服务器的权限,可以用此办法,共享目录给他人只读查看

systemctl reload nfs -> 重载 nfs
exportfs -r -> 当修改了/etc/exports后,并不需要重启nfs服务,只要用exportfs重新扫描一次/etc/exports,并且重新加载即可

showmount -e -> 查看本机发布的NFS共享目录

NFS客户端搭建

客户端挂载服务端实现共享

# 安装 nfs-utils 和 rpcbind
yum install nfs-utils rpcbind -y
# 创建客户端服务器nfs共享文件夹
mkdir /nfsShare
# 以nfs协议执行挂载
mount -t nfs 192.168.0.1:/nfsShare  /mnt
# 配置开机自动挂载,每次开机都能使用nfs
echo "192.168.0.1:/nfsShare /nfsShare nfs defaults 0 0" >>/etc/fstab

有多少需要挂载的服务器,就都挂载到服务端去,其他都是客户端

你可能感兴趣的:(运维,linux,服务器)