脚本部署方式:
#! /bin/bash
#部署nfs服务
#读取输入的值判断
read -p "是否确认nfs位置为/data/nfsdata[ y | n ]: " nfs
if [ $nfs == "y" ];then
yum install -y nfs-utils
mkdir -p /data/nfsdata
echo '/data/nfsdata *(rw,sync,no_root_squash,no_subtree_check)'>>/etc/exports
systemctl start nfs-server && systemctl enable nfs-server
echo "nfs安装完成,目录创建完成,拷贝配置文件至/data/nfsdata,在其他服务器挂载nfs目录,挂载命令:mount -t nfs ip:/data/nfsdata /mnt/mfs && echo 'ip:/data/nfsdata /mnt/mfs nfs defaults 0 0'>>/etc/fstab"
else
echo "修改本脚本中nfs目录后执行本脚本,替换/data/nfsdata为指定的目录"
exit
fi
centos7.6
1、服务端配置
1、安装服务、配置需要共享的目录、修改权限
2、客户端配置
1、远程挂载
yum install -y nfs-utils #安装nfs工具包、rpcbind包在centos7.6中会当做依赖安装
mkdir -p /data/nfsdata && chmod 777 /data/nfsdata #创建目录需要共享出去的目录、本地目录权限最好配置为777
systemctl start nfs-server && systemctl enable nfs-server #启动nfs服务、设置开机自启
echo '/data/nfsdata (rw,sync,no_root_squash,no_subtree_check)'>>/etc/exports #修改主配置文件,声明远程共享的目录和权限
#rw:挂接此目录的客户端对该共享目录具有读写权限,(ro) 只读
#sync:资料同步写入内存和硬盘
#no_root_squash:客户机用root访问该共享文件夹时,不映射root用户。(root_squash:客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户)
#no_subtree_check:不检查父目录的权限。
showmount -e localhost #查看本地可远程挂载目录
showmount -a localhost #查看目录接情况
#远程挂载
yum install -y nfs-utils #安装nfs工具包
mount -t nfs 192.168.5.18: /data/nfsdata /mnt #挂载
echo "192.168.5.18:/data/nfsdata /mnt nfs defaults 0 0">>/etc/fstab
##################################################################################
1、NFS(Network File System)网络文件系统 端口2049 #因为传输数据随机调用端口,客户端会不知道端口连接,所以调用RPC服务,固定为rpc的111端口,NFS启动后会将随机端口注册到RPC中,客户端去链接RPC即可
RPC(Remote Procedure Call,RPC)远程过程调用协议 端口111