服务端和客户端区分:
文章目录
Server服务端配置:
首先服务端是LVMLinux虚拟机:
ip地址是192.168.73.129
Client客户端配置:
客户端配置是名称为Centos7的虚拟机:
ip地址是192.168.73.128
NFS服务端配置
首先安装在服务端上安装nfs服务:
yum install nfs-utils
发现使用yum安装报错,提示:Cannot find a valid baseurl for repo: base/7/x86_64,查询后原因为没有配置网络镜像源,无法连接到对应的仓库镜像地址。
设置镜像源:
使用yum repolist命令查看yum list:
创建一个文件夹,备份一下这个原来的文件:
mkdir /etc/yum.repos.d/backup
备份原来的yum源文件:
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
然后可以使用 wget 命令来下载阿里云提供的适用于 CentOS 7 的 yum 源配置文件,但是测试发现404notfound,找不到文件,估计是配置文件拉不到:
Linux设置yum源为阿里云镜像源_linuxyum源为阿里云-CSDN博客
wget命令下载: wget [options] [url]
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
后面尝试用wget也能拉取:
# wget命令下载: wget [options] [url]
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
查询资料后使用curl去拉取配置文件:
curl命令下载: curl [options] [url]
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清理缓存,并更新缓存:
yum clean all
yum makecache
继续安装
配置完镜像源后,继续尝试yum安装nfs-utils
编辑配置导出目录:
vi /etc/exports --配置导出目录
/data/nfs_share 192.168.1.0/24(ro,sync,no_subtree_check)
– /data/nfs_share:服务端要共享的目录路径。
– 192.168.1.0/24(ro,sync,no_subtree_check):指定客户端的 IP 地址段或主机名,以及访问权限
– ro:只读访问权限。如果需要读写权限,可以使用 rw。
– sync:同步写入,确保数据立即写入磁盘。默认情况下,NFS 使用异步写入(async),可能会导致数据丢失的风险。
– no_subtree_check:禁用子树检查,减少服务器的开销。当导出的目录是另一个目录的子目录时,建议启用此选项
格式:[共享目录] [主机名或IP] (参数,参数…)
例:/home/xd/nfs *(rw,sync,no_root_squash)
共享目录:/home/xd/nfs,客户端访问的目录
主机名或IP: 要是想被所有主机都能匹配,就用 * 来表示
(参数,参数 …): 括号内容是访问控制方式,括号里面的共享的参数,用逗号来分割,参数查询:man exports
rw: 可读可写
ro: 只读访问
sync: 同步,数据实时同步到共享目录里(默认)
async: NFS在写入数据前可以响应请求
secure: NFS通过1024以下的安全TCP/IP端口发送
insecure: NFS通过1024以上的端口发送
wdelay: 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay: 如果多个用户要写入NFS目录,则立即写入,当使用async时,则需此设置 hide 共享NFS目录的子目录
subtree_check: 要求检查请求访问的目录或文件是否在共享目录下
no_subtree_check: NFS客户端访问共享目录下的一个目录时,NFS服务器是否检测这个目录是否是这个共享目录下的某个子目录
all_squash: 共享文件的UID和GID映射匿名用户anonymous,适合公用目录
no_all_squash: 保留共享文件的UID和GID(默认)
root_squash: root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash: root用户访问共享目录,是否保留root的完整控制权限
anonuid=xxx: 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx: 指定NFS服务器/etc/passwd文件中匿名用户的GID
/data/nfs_share 192.168.73.0/24(rw,sync,no_subtree_check)
启动服务:
systemctl enable --now rpcbind.service --启动 PPC 服务
systemctl enable --now nfs-server --启动 NFS 服务
systemctl status nfs-server --检查 NFS服务状态
exportfs -av --检查当前导出的目录及其配置
exportfs -ar --更新exports文件后,使配置文件的更改生效
systemctl enable --now rpcbind nfs-server --启动rpcbind服务和nfs-server服务
systemctl status nfs-server --查看NFS服务状态
此时去执行会报错,说找不到这个文件夹:
创建文件夹后,再次执行:
再次检查下nfs服务器状态:
NFS客户端配置
设置镜像源,这里忽略:
安装同上,忽略:
yum install nfs-utils
挂载
挂载文件系统服务器:
报错,内容为:
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)-CSDN博客
[root@localhost ~]# showmount -e 192.168.73.129
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
启动客户端的nfs服务:
[root@localhost ~]# systemctl start rpcbind nfs-server
[root@localhost ~]# showmount -e 192.168.73.129
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
发现还是有问题,这个时候需要关闭服务器的防火墙
systemctl status firewalld --查看服务器防火墙状态
systemctl stop firewalld --关闭防火墙
systemctl status firewalld
这时再次查看客户端连接后的共享目录情况:
showmount -e 192.168.73.129
创建客户端挂载点:
mount -t nfs 192.168.73.129:/data/nfs_share /mnt/nfs
128客户端尝试创建文件发现没权限保存,回到129服务器端修改权限:
cd /data/nfs_share
cd ..
chmod 777 nfs_sahre
然后回到128客户端进行创建文件:
回到129服务器端查看客户端创建的文件:
说明NFS共享文件系统搭建成功!
小补充:在修改这里时,需要退出共享的目录,等待服务器那边挂载上来,要不然就不显示文件: