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 ...
随机推荐
- glib-2.60在win64,msys2下编译
前阵子,工作原因,需要在win7 64下的msys2来编译glib,下面是一些踩过的坑: 事先声明一下,这些个解决方式及纯粹是为了编译通过,可能有些做法不太适合一些需要正常使用的场合,烦请各位注意下. ...
- centos安装php环境
安装 PHP 所需扩展 yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcur ...
- bee must have one register DataBase alias named `default`
bee must have one register DataBase alias named default 在你初始化db,注册默认数据库时,看看你是否import初始化注册数据库驱动driver ...
- 当Kafka化身抽水马桶:论组件并发提升与系统可用性的量子纠缠关系
<当Kafka化身抽水马桶:论组件并发提升与系统可用性的量子纠缠关系> 引言:一场OOM引发的血案 某个月黑风高的夜晚,监控系统突然发出刺耳的警报--我们的数据发现流水线集体扑街.事后复盘 ...
- [每日算法 - 华为机试] 剑指 Offer 57 - II. 和为s的连续正数序列 「滑动窗口」
入口 力扣https://leetcode.cn/problems/he-wei-sde-lian-xu-zheng-shu-xu-lie-lcof/ 题目描述 输入一个正整数 target ,输出所 ...
- 区块链特辑——solidity语言基础(一)
Solidity语法基础学习 一.智能合约的结构: 首先以上是智能合约的结构,包含版权宣告.编译指示.Using for 宣告.错误定义.输入.列举与枚举.常数.合约.函数.注释.第一个注释不同于其他 ...
- FDMemtable如何增加一条自身复制的记录
procedure TFrame_Bill.CopyARecord; var lAFDmemtable : TFDMemTable; begin {$REGION '增加一条复制的记录'} try l ...
- go: no such tool "compile"(记录)
这是一次离谱问题和胡搞一通莫名解决的记录 背景:win11系统下,原有的go1.18更新到go1.19后出现了莫名的go: no sucn tool "compile"的情况. 当 ...
- Rocketmq 如何保证消息的可用性/可靠性/不丢失呢 ?
如何保证消息的可用性/可靠性/不丢失呢 ? 消息可能在哪些阶段丢失呢?可能会在这三个阶段发生丢失:生产阶段.存储阶段.消费阶段 生产阶段 在生产阶段,主要通过请求确认机制,来保证消息的可靠传递 1.同 ...
- python调用百度ocr接口,实现图片内文字识别
第一步,到百度智能云申请接口资源 打开地址:https://cloud.baidu.com/?from=console,点击产品下的通用场景文字识别 立即使用,跳转页领取免费资源(土豪可直接购买) 选 ...