【nfs服务部署服务端和客户端搭建】

原理

NFS(Network File System)是文件服务器之一。它的功能是可以通过网络,让不同的机器、不同的操作系统可以彼此共享数据文件。
NFS服务器可以让服务端的共享目录挂载到本地端的文件系统中,其他服务器如果想访问共享目录,那可以在本地服务器上安装客户端,并在客户端上设置映射,这样在本地端的系统中看来,远程主机的目录就好像自己的一个磁盘分区(partition)一样,相互使用比较便利。

背景

平台导出的报告,期望生成的文件可以共享

环境配置

ip 用途
192.168.0.1 服务端
192.168.0.2 客户端,设置多个文件映射到同一个目录
192.168.0.3 客户端

步骤

服务端部署

##首先查看一下自己是否已下载nfs和rpc的安装包,如果安装了就不需要了,目前看麒麟操作系统有默认安装

rpm -qa nfs-utils rpcbind

1、在线安装rpc、nfs服务端,服务端有先后顺序

yum install  -y   rpcbind nfs-utils

2、执行命令启动 NFS 服务

systemctl start rpcbind
systemctl start nfs-server

3、执行命令将务设置为开机自启动

systemctl enable rpcbind
systemctl enable nfs-server

#查看是否启用成功
systemctl status rpcbind
systemctl status nfs-server

4、创建共享目录

1)服务端创建共享目录
mkdir -p /share
chmod -R 777 /share

2)配置文件设置
vi /etc/exports
#添加内容,设置客户端访问范围*代表所有,
/share 192.168.10.0/24(rw,no_root_squash,no_all_squash,sync)
/share *(rw,no_root_squash,sync)

#5、在服务端所在的服务器上

#查看NFS已开启目录
rpcinfo -p localhost
#查看NFS已加载共享目录
showmount -e ip地址#这里ip是服务端地址

6、在防火墙上添加开放端口

1. portmap 端口 111 udp/tcp;
2. nfsd 端口 2049 udp/tcp;
3. /etc/services查看,mountd 端口 20048


firewall-cmd --zone=public --add-port=111/tcp --permanent
firewall-cmd --zone=public --add-port=2049/tcp --permanent
firewall-cmd --zone=public --add-port=20048/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports


或者执行以下命令开放 NFS 服务的端口:
sudo firewall-cmd --permanent --zone=public --add-service=nfs
sudo firewall-cmd --permanent --zone=public --add-service=rpc-bind
sudo firewall-cmd --permanent --zone=public --add-service=mountd
sudo firewall-cmd --reload

客户端部署

1、客户端安装

yum install nfs-utils -y

2、启动服务

systemctl start nfs-server

3、执行命令将 NFS 服务设置为开机自启动

systemctl enable nfs-server

综合命令

yum install nfs-utils -y && systemctl start nfs-server && systemctl enable nfs-server

4、确认要共享到服务端的路径
/opt/pipt-flask-01/app/api/piptool/biz/assets
/opt/pipt-flask-01/app/api/piptool/
/opt/pipt-flask-02/app/api/piptool/biz/assets
/opt/pipt-flask-02/app/api/piptool/logs

5、配置vi /etc/fstab

服务器ip:服务器共享路径 客户端需要映射的路径 nfs defaults 0 0

如下示例
在这里插入图片描述
6、自动挂载

 mount -a

7、查看挂载是否成功

df -haT
-a, --all:显示所有文件系统,包括虚拟文件系统
-h, --human-readable:以人类可读的格式显示输出结果。
-T, --print-type:显示文件系统的类型。

在这里插入图片描述
8、验证
可以在客户端目录下创建文件,然后再服务端映射的共享目录下查看是否同步,反之亦然

问题

1、在服务端上不设置NFS主要开放port,那么客户端访问查看共享目录是看不到的,showmount -e ip地址#这里ip是服务端地址

1. portmap 端口 111 udp/tcp;
2. nfsd 端口 2049 udp/tcp;
3. /etc/services查看,mountd 端口 20048

2、如果在客户端共享的目录下存在文件,而在服务端创建的共享目录是空的,此时设置映射后,客户端的目录则同步清空,所以在设置映射之前需要把客户端对应的目录文件备份一下,映射之后再放进来。

相关推荐

  1. GRPC服务客户DEMO

    2024-05-16 04:58:03       20 阅读
  2. Qt建立服务客户

    2024-05-16 04:58:03       11 阅读
  3. NFS服务

    2024-05-16 04:58:03       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-16 04:58:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-16 04:58:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-16 04:58:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-16 04:58:03       18 阅读

热门阅读

  1. [力扣题解]122. 买卖股票的最佳时机 II

    2024-05-16 04:58:03       13 阅读
  2. python.有关素数的合集

    2024-05-16 04:58:03       13 阅读
  3. c语言之文件打开模式

    2024-05-16 04:58:03       10 阅读
  4. git 命令之 - revert

    2024-05-16 04:58:03       24 阅读
  5. Rust中的链式调用方法

    2024-05-16 04:58:03       28 阅读
  6. ANSYS Maxwell16 引导

    2024-05-16 04:58:03       6 阅读
  7. Django信号与扩展:深入理解与实践

    2024-05-16 04:58:03       13 阅读