CentOS-7 通过 NFS 实现服务器之间的文件(目录)共享
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 实现服务器之间的文件(目录)共享的更多相关文章
- 如何在Linux上使用scp命令进行服务器之间的文件/目录传输
1. 本地上传文件到远程: scp [local_file_path] [username]@[server_ip]:[remote_dir] 2. 本地上传目录到远程: scp -r [local_ ...
- Linux命令(20)linux服务器之间复制文件和目录
linux的scp命令: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们需要获得远程服务器上 ...
- Linux 两台服务器之间传输文件和文件夹
今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...
- 在linux服务器之间复制文件和目录命令scp
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- linux的scp命令可以在linux服务器之间复制文件和目录
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- Linux scp命令详解(服务器之间复制文件或目录)
scp:服务器之间复制文件或目录 一.命令格式: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] ...
- linux服务器之间传输文件的四种方式
linux文件传输在内网渗透中至关重要,所以我在此总结一下几种Linux服务器之间传输文件的四种方式 1. scp [优点]简单方便,安全可靠:支持限速参数[缺点]不支持排除目录[用法]scp就是se ...
- vm虚拟机Kali2.0实现与物理机之间的文件拖动共享
MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...
- CentOS 下实现两台服务器之间的共享NFS
NFS的安装配置:centos 5 :yum install nfs-utils portmapcentos 6 :yum install nfs-utils rpcbind yum install ...
- 阿里云两台服务器之间拷贝文件命令scp
参考:云栖社区 不同的Linux之间copy文件通常有4种方法 1.ftp 2.samba服务 3.sftp 4.scp 最简单的方法就是scp,可以理解为ssh管道下的cp命令 把当前一个文件cop ...
随机推荐
- Qt QHeaderView 添加复选框
QT QTableView 表头添加复选框 最近在做表格,用QTableView,然后有一个需求是给表格添加表头,但是没有一个API能够在表头添加复选框,基本都是来重载QHeaderView,有两种方 ...
- [每日算法 - 华为机试] leetcode463. 岛屿的周长
入口 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer.https://le ...
- python练习-爬虫
场景: 1.网址hppt://xxx.yyy.zzz.cn2.打开网页后显示 : 3.填上姓名 身份证和验证码,点击查询后,返回查询结果. 4.页面有cookie. 方案一: 程序中嵌入浏览器根据网址 ...
- Hyperledger Fabric - 链码部署
前提条件 启动测试网络 ./network-myself.sh up 创建通道 ./network-myself.sh createChannel 智能合约(链码) pom.xml文件 配置远程仓库 ...
- 比df更好用的命令!
大家好,我是良许. 对于分析磁盘使用情况,有两个非常好用的命令:du 和 df .简单来说,这两个命令的作用是这样的: du 命令:它是英文单词 disk usage 的简写,主要用于查看文件与目录占 ...
- 🎀EXCEL-时间函数
简介 在Excel中,时间函数用于处理和操作日期和时间数据; 以下是Excel中常用的时间函数及其常见应用场景的总结. 函数 时间函数基础 TIME 语法:TIME(hour, minute, sec ...
- stackbd:在一个块设备上堆叠另一个块设备
stackbd 是一个虚拟的块设备,它作为另一个块设备的前端,如 USB 闪存盘或循环设备.它将I/O请求传递给底层设备,同时它打印请求信息用于调试.它还有可能修改请求. 堆叠块设备(stackbd) ...
- OAuth 2.0——微信授权登录
一.参考链接: 理解OAuth 2.0 - 阮一峰的网络日志 (ruanyifeng.com) 使用微信授权登录: 参照:第三方平台使用微信登录流程 - 知乎 (zhihu.com) 基本概念介绍 | ...
- SpringBoot内容协商(Content Negotiation)
内容协商 在 HTTP 协议中,内容协商是一种机制,用于为同一 URI 提供资源不同的表示形式,以帮助用户代理指定最适合用户的表示形式(例如,哪种文档语言.哪种图片格式或者哪种内容编码).[^1] S ...
- Java编程--多例设计模式
多例设计模式 多例设计模式(Multiton Pattern),有时也被称为对象池(Object Pool)模式,是一种创建型设计模式.与单例模式不同,多例模式允许创建并管理多个实例,每个实例都有一个 ...