Centos离线部署nfs操作

centos离线部署nfs操作

文档信息

  • 系统版本:CentOS 7.x
  • 测试组件:nfs、rpcbind
  • 测试节点:3 台物理机
  • 测试环境:不能访问公网,集群内实现客户端向服务端文件同步

nfs文件同步,主要用于k8s环境,纯手写,感谢支持

一、测试环境说明

1. 节点规划

主机名 ip 角色 作用
master-01 192.168.3.101 NTP Client(客户端) 挂载 NFS 共享目录,读写文件
node-01 192.168.3.102 NTP Client(客户端) 挂载 NFS 共享目录,读写文件
node-02 192.168.3.103 NTP Master(服务端) 提供 NFS 文件共享服务

二、服务端安装

回到192.168.3.103服务器中

  • 在线安装

    yum -y install nfs-utils rpcbind

  • 离线安装
    准备以下文件

    gssproxy-0.7.0-29.el7.x86_64.rpm
    keyutils-1.5.8-3.el7.x86_64.rpm
    libbasicobjects-0.1.1-32.el7.x86_64.rpm
    libcollection-0.7.0-32.el7.x86_64.rpm
    libevent-2.0.21-4.el7.x86_64.rpm
    libini_config-1.3.1-32.el7.x86_64.rpm
    libnfsidmap-0.25-19.el7.x86_64.rpm
    libpath_utils-0.2.1-32.el7.x86_64.rpm
    libref_array-0.1.5-32.el7.x86_64.rpm
    libtirpc-0.2.4-0.16.el7.x86_64.rpm
    libverto-libevent-0.2.5-4.el7.x86_64.rpm
    nfs-utils-1.3.0-0.68.el7.x86_64.rpm
    quota-4.01-19.el7.x86_64.rpm
    quota-nls-4.01-19.el7.noarch.rpm
    rpcbind-0.2.0-49.el7.x86_64.rpm
    tcp_wrappers-7.6-77.el7.x86_64.rpm

离线运行

shell 复制代码
yum localinstall *.rpm -y
# 实在报错再谨慎使用:rpm -ivh *.rpm --nodeps(尽量不带--force)

设置共享目录的权限

shell 复制代码
[root@node-02 nfs]# mkdir -p /data/nfsdata
# K8s场景常用
[root@node-02 nfs]# chmod 755 /data/nfsdata
# 如果需要容器root写入,配合no_root_squash目录权限不需要特别宽松

配置 NFS,NFS 的默认配置文件在/etc/exports文件下,在该文件中添加下面的配置信息:

复制代码
[root@node-02 nfs]# vi /etc/exports

#本项目可以用
/data/nfsdata  192.168.3.0/24(rw,sync,no_root_squash)

以下*代表所有IP都符合

/data/nfsdata *(rw,sync,no_root_squash)

启动rpcbind服务

复制代码
[root@node-02 nfs]# systemctl start rpcbind.service
[root@node-02 nfs]# systemctl enable rpcbind
[root@node-02 nfs]# systemctl status rpcbind
● rpcbind.service - RPC bind service
   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
   Active: active (running) since 三 2026-07-22 23:32:57 CST; 15s ago

启动nfs

复制代码
[root@node-02 nfs]# systemctl start nfs.service
[root@node-02 nfs]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@node-02 nfs]# systemctl status nfs
● nfs-server.service - NFS server and services

三、客户端安装

  • 在线安装

    yum -y install nfs-utils rpcbind

  • 离线安装
    准备以下文件

    gssproxy-0.7.0-29.el7.x86_64.rpm
    keyutils-1.5.8-3.el7.x86_64.rpm
    libbasicobjects-0.1.1-32.el7.x86_64.rpm
    libcollection-0.7.0-32.el7.x86_64.rpm
    libevent-2.0.21-4.el7.x86_64.rpm
    libini_config-1.3.1-32.el7.x86_64.rpm
    libnfsidmap-0.25-19.el7.x86_64.rpm
    libpath_utils-0.2.1-32.el7.x86_64.rpm
    libref_array-0.1.5-32.el7.x86_64.rpm
    libtirpc-0.2.4-0.16.el7.x86_64.rpm
    libverto-libevent-0.2.5-4.el7.x86_64.rpm
    nfs-utils-1.3.0-0.68.el7.x86_64.rpm
    quota-4.01-19.el7.x86_64.rpm
    quota-nls-4.01-19.el7.noarch.rpm
    rpcbind-0.2.0-49.el7.x86_64.rpm
    tcp_wrappers-7.6-77.el7.x86_64.rpm

离线运行

shell 复制代码
yum localinstall *.rpm -y
# 实在报错再谨慎使用:rpm -ivh *.rpm --nodeps(尽量不带--force)

NFS 客户端只依赖:rpcbind + nfs-utils(提供 mount.nfs 工具)

客户端不需要启动 nfs.service,启动了也没用,属于多余操作。

启动rpcbind服务

复制代码
[root@node-01 nfs]# systemctl start rpcbind.service
[root@node-01 nfs]# systemctl enable rpcbind
[root@node-01 nfs]# systemctl status rpcbind
● rpcbind.service - RPC bind service
   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
   Active: active (running) since 三 2026-07-22 23:32:57 CST; 15s ago

四、挂载测试

在客户端运行

复制代码
showmount -e 192.168.3.103

[root@node-01 nfs]# showmount -e 192.168.3.103
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

发现是防火墙的问题,所以关闭服务端的服务端口

复制代码
# 放行nfs全套服务(包含rpc-bind、mountd)
firewall-cmd --add-service=nfs --permanent
firewall-cmd --add-service=rpc-bind --permanent
firewall-cmd --add-service=mountd --permanent
firewall-cmd --reload

# 查看放行规则
firewall-cmd --list-all

继续运行

复制代码
[root@node-01 nfs]# showmount -e 192.168.3.103
Export list for 192.168.3.103:
/data/nfsdata 192.168.3.0/24

以上提示基本没问题了。

  • 继续进行测试

在192.168.3.101 nfs的client上执行命令

复制代码
[root@master-01 nfs]# mkdir -p /mnt/nfs-test
[root@master-01 nfs]# mount -t nfs 192.168.3.103:/data/nfsdata /mnt/nfs-test
[root@master-01 nfs]# touch /mnt/nfs-test/test.file

在192.168.3.103 nfs的master上执行命令

复制代码
[root@node-02 nfs]# ls /data/nfsdata/
test.file

可以看出,已经挂载成功了

在192.168.3.101 nfs的client上执行命令

复制代码
# 卸载
umount /mnt/nfs-test
相关推荐
Kina_C1 小时前
Apache HTTP Server 安装、配置与高级功能详解
linux·http·apache
治愈系贝壳1 小时前
ARM --- day 6 时钟
linux·arm开发·学习
FII工业富联科技服务1 小时前
从灯塔工厂到AI Factory新模式:AI正在重构制造业的四大核心能力
大数据·运维·人工智能·重构·ar·制造
小五传输1 小时前
自主可控建设指南:Serv-u替代方案,实现平滑迁移业务不中断
大数据·运维·安全
jun_bai1 小时前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器
BullSmall2 小时前
Anolis OS 8.10 Docker 部署 SonarQube 9.9 完整教程
运维·docker·容器
AAA@峥2 小时前
CentOS7 搭建 ELK 企业级日志集群:从部署到日志可视化完整实战
运维·elk·centos
ZKNOW甄知科技2 小时前
燕千云深度集成飞书:以AI之力,开启无感IT运维体验
大数据·运维·网络·数据库·人工智能·低代码·集成学习
叮咚侠2 小时前
docker安装的kibana+elasticsearch,突然kibana界面打不开了
运维·jenkins