1、概述

NFS(Network File System):是在 UNIX(Linux)系统中最流行的网络文件系统,其功能是通过网络让不同的机器(或操作系统)可以共享彼此的文件或目录。

2、相关依赖组件

在使用 NFS 之前,服务端(提供共享文件或目录的一方)和客户端(使用共享文件或目录的一方)都需要先安装 rpcbind 和 nfs-utils 依赖组件。

2.1、确认已安装rpcbind

rpm -qa | grep rpcbind

如果还没安装 rpcbind 依赖组件,请参考 CentOS-7离线安装rpcbind

2.2、确认已安装nfs-utils

rpm -qa | grep nfs-utils

如果还没安装 nfs-utils 依赖组件,请参考 CentOS-7离线安装nfs-utils

注意:在安装 nfs-utils 依赖组件之前,必须先安装 rpcbind 依赖组件;一般来说,CentOS-7 已默认安装 rpcbind 依赖组件,只需要 nfs-utils 依赖组件即可。

3、服务端操作

3.1、创建共享目录

如上图所示,(本例)在服务端(提供共享文件或目录的一方)的根目录“/”,创建了一个目录,用于和客户端共享。

mkdir 共享目录名称

3.2、编辑配置文件

vi /etc/exports

共享目录路径 *(rw,no_root_squash,insecure,sync)

注意:如果需要进行网段限制,“*”改为对应网段,例如:

共享目录路径 192.168.56.0/24(rw,no_root_squash,insecure,sync)

参数 说明
rw 共享目录的访问权限为可读可写(read-write),实际权限还和文件系统的 rwx 权限以及用户身份有关
ro 共享目录的访问权限为只读(read-only)
no_root_squash 允许客户端以 root 身份访问共享目录
root_squash 客户端的 root 身份会被切换成和 anonymous 匿名用户身份一样的权限
insecure 允许 nfs 服务使用比 1024 更大的端口号
secure nfs 服务只能使用 1024 以内的端口号
sync 数据同步写入到内存与硬盘中
async 数据先暂存在内存当中,不直接写入硬盘

3.3、确认rpcbind服务已开启

systemctl status rpcbind
命令 说明
systemctl status rpcbind 查看 rpcbind 服务运行状态
systemctl start rpcbind 启动 rpcbind 服务
systemctl restart rpcbind 重启 rpcbind 服务
systemctl enable rpcbind 设置 rpcbind 服务开机自启动

3.4、重启nfs服务

systemctl restart nfs
命令 说明
systemctl status nfs 查看 nfs 服务运行状态
systemctl start nfs 启动 nfs 服务
systemctl restart nfs 重启 nfs 服务
systemctl enable nfs 设置 nfs 服务开机自启动

3.5、开启防火墙

firewall-cmd --add-service=nfs --permanent
firewall-cmd --reload

3.6、相关监测命令

命令 说明
nfsstat 查看NFS的运行状态
rpcinfo 查看rpc执行信息,可以用于检测rpc运行情况的工具,利用rpcinfo -p 可查看出RPC开启的端口所提供的程序

4、客户端操作

4.1、确认rpcbind服务已开启

systemctl status rpcbind
命令 说明
systemctl status rpcbind 查看 rpcbind 服务运行状态
systemctl start rpcbind 启动 rpcbind 服务
systemctl restart rpcbind 重启 rpcbind 服务
systemctl enable rpcbind 设置 rpcbind 服务开机自启动

4.2、启动nfs服务

systemctl start nfs
命令 说明
systemctl status nfs 查看 nfs 服务运行状态
systemctl start nfs 启动 nfs 服务
systemctl restart nfs 重启 nfs 服务
systemctl enable nfs 设置 nfs 服务开机自启动

4.3、创建共享目录挂载点

如上图所示,(本例)在客户端(使用共享文件或目录的一方)的“/root”目录下,创建了一个目录,用于挂载服务端的共享目录。

mkdir 共享目录挂载点名称

4.4、挂载服务端共享目录

mount -t nfs 服务端IP地址:/服务端共享目录路径 客户端挂载点路径

注意:如果(普通用户)挂载共享目录时报错“mount.nfs: failed to apply fstab options”,则需要使用 sudo 权限执行该挂载命令。

4.5、确认挂载情况

如上图所示,已实现服务器之间的文件(目录)共享。

df -h

4.6、解除挂载的命令

umount 客户端挂载点路径

本文参考

【1】【Word哥】【Linux下NFS服务的安装与配置】【CSDN】【2020-08-05】

【2】【Jason_huawen】【NFS文件共享时报错的解决方法】【博客园】【2022-11-09】

【3】【我真的啥也不会】【NFS配置及开机自动挂载】【博客园】【2022-03-06】

CentOS-7 通过 NFS 实现服务器之间的文件(目录)共享的更多相关文章

  1. 如何在Linux上使用scp命令进行服务器之间的文件/目录传输

    1. 本地上传文件到远程: scp [local_file_path] [username]@[server_ip]:[remote_dir] 2. 本地上传目录到远程: scp -r [local_ ...

  2. Linux命令(20)linux服务器之间复制文件和目录

    linux的scp命令: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们需要获得远程服务器上 ...

  3. Linux 两台服务器之间传输文件和文件夹

    今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...

  4. 在linux服务器之间复制文件和目录命令scp

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  5. linux的scp命令可以在linux服务器之间复制文件和目录

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  6. Linux scp命令详解(服务器之间复制文件或目录)

    scp:服务器之间复制文件或目录 一.命令格式: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] ...

  7. linux服务器之间传输文件的四种方式

    linux文件传输在内网渗透中至关重要,所以我在此总结一下几种Linux服务器之间传输文件的四种方式 1. scp [优点]简单方便,安全可靠:支持限速参数[缺点]不支持排除目录[用法]scp就是se ...

  8. vm虚拟机Kali2.0实现与物理机之间的文件拖动共享

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

  9. CentOS 下实现两台服务器之间的共享NFS

    NFS的安装配置:centos 5 :yum install nfs-utils portmapcentos 6 :yum install nfs-utils rpcbind yum install ...

  10. 阿里云两台服务器之间拷贝文件命令scp

    参考:云栖社区 不同的Linux之间copy文件通常有4种方法 1.ftp 2.samba服务 3.sftp 4.scp 最简单的方法就是scp,可以理解为ssh管道下的cp命令 把当前一个文件cop ...

随机推荐

  1. Qt QHeaderView 添加复选框

    QT QTableView 表头添加复选框 最近在做表格,用QTableView,然后有一个需求是给表格添加表头,但是没有一个API能够在表头添加复选框,基本都是来重载QHeaderView,有两种方 ...

  2. [每日算法 - 华为机试] leetcode463. 岛屿的周长

    入口 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer.https://le ...

  3. python练习-爬虫

    场景: 1.网址hppt://xxx.yyy.zzz.cn2.打开网页后显示 : 3.填上姓名 身份证和验证码,点击查询后,返回查询结果. 4.页面有cookie. 方案一: 程序中嵌入浏览器根据网址 ...

  4. Hyperledger Fabric - 链码部署

    前提条件 启动测试网络 ./network-myself.sh up 创建通道 ./network-myself.sh createChannel 智能合约(链码) pom.xml文件 配置远程仓库 ...

  5. 比df更好用的命令!

    大家好,我是良许. 对于分析磁盘使用情况,有两个非常好用的命令:du 和 df .简单来说,这两个命令的作用是这样的: du 命令:它是英文单词 disk usage 的简写,主要用于查看文件与目录占 ...

  6. 🎀EXCEL-时间函数

    简介 在Excel中,时间函数用于处理和操作日期和时间数据; 以下是Excel中常用的时间函数及其常见应用场景的总结. 函数 时间函数基础 TIME 语法:TIME(hour, minute, sec ...

  7. stackbd:在一个块设备上堆叠另一个块设备

    stackbd 是一个虚拟的块设备,它作为另一个块设备的前端,如 USB 闪存盘或循环设备.它将I/O请求传递给底层设备,同时它打印请求信息用于调试.它还有可能修改请求. 堆叠块设备(stackbd) ...

  8. OAuth 2.0——微信授权登录

    一.参考链接: 理解OAuth 2.0 - 阮一峰的网络日志 (ruanyifeng.com) 使用微信授权登录: 参照:第三方平台使用微信登录流程 - 知乎 (zhihu.com) 基本概念介绍 | ...

  9. SpringBoot内容协商(Content Negotiation)

    内容协商 在 HTTP 协议中,内容协商是一种机制,用于为同一 URI 提供资源不同的表示形式,以帮助用户代理指定最适合用户的表示形式(例如,哪种文档语言.哪种图片格式或者哪种内容编码).[^1] S ...

  10. Java编程--多例设计模式

    多例设计模式 多例设计模式(Multiton Pattern),有时也被称为对象池(Object Pool)模式,是一种创建型设计模式.与单例模式不同,多例模式允许创建并管理多个实例,每个实例都有一个 ...