【教程】配置NFS共享直接访问目标服务器的存储目录

news2024/11/28 19:43:40

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]

目录

前景提要

NFS安装教程

旧服务器上

新服务器上

验证安装

优缺点

扩展


前景提要

        我们新服务器的硬盘容量很小,但旧服务器的硬盘容量很大。如何在不拔硬盘的情况下,直接已本地目录的方式,将旧服务器的硬盘空间挂载到新服务器下?可以通过NFS共享实现。

NFS安装教程

旧服务器上

安装NFS服务端,比如228:

# 安装NFS服务端
sudo apt install nfs-kernel-server
# 检查是否已经启动
sudo systemctl status nfs-server
# 查看可用容量
df -h
# 创建一个NFS共享目录
sudo mkdir -p /mnt/share
# 给目录权限
sudo chown nobody:nogroup /mnt/share/ -R
sudo chmod 777 /mnt/share/* -R

编辑exports配置文件,控制访问权限:

sudo cp /etc/exports  /etc/exports.bak
sudo vim /etc/exports
# 如果只允许一个客户端访问,可以只写一个客户端的IP地址
/mnt/share 192.168.43.131(rw,sync,no_subtree_check)

# 如果只允许多个客户端访问,可以如下一样写
/mnt/share 192.168.43.131(rw,sync,no_subtree_check)
/mnt/share 192.168.43.171(rw,sync,no_subtree_check)
/mnt/share 192.168.43.137(rw,sync,no_subtree_check)

# 如果运行一个网段的客户端访问,可以这样写:
/mnt/share 192.168.43.*(rw,sync,no_subtree_check)
或者
/mnt/share 192.168.43.0/24(rw,sync,no_subtree_check)

我们设置允许一个网段的访问:

/mnt/share 202.66.266.*(rw,sync,no_subtree_check,no_root_squash,crossmnt,fsid=0)

解释:

  • rw:表示共享是可读可写的,即NFS客户端可以对共享目录进行读取和写入操作。
  • sync:表示数据写入操作需要同步完成后才返回确认。当NFS客户端进行写入操作时,NFS服务器会等待数据完全写入到硬盘之后才返回确认给客户端。这样可以确保数据的一致性和可靠性,但也可能降低写入性能。
  • no_root_squash:当使用no_root_squash选项时,NFS服务器将不会将来自NFS客户端的root用户权限限制为匿名用户权限。具体而言,如果客户端使用root权限访问NFS共享目录,那么服务器上的root用户将保持其完整的权限,包括对共享目录的读写权限。这个选项对于需要在NFS共享中保留root用户权限的场景非常有用,但也需要谨慎使用,因为它可能导致安全风险。
  • no_subtree_check:当使用no_subtree_check选项时,NFS服务器将不会检查客户端请求的子目录是否在共享目录的子树范围内。默认情况下,NFS服务器会检查客户端请求的路径是否在共享目录的子树范围内,以确保安全性。但在某些情况下,特别是当共享的目录结构包含符号链接时,这可能会导致问题。使用no_subtree_check选项可以禁用这种检查,但同样需要谨慎使用,以确保共享目录的安全性。
  • crossmnt:是NFS服务器配置选项之一,用于指定NFS共享的子目录的交叉挂载。当在NFS服务器上配置了交叉挂载时,可以允许NFS客户端挂载共享目录的子目录,而不仅仅是共享目录本身。通常情况下,NFS服务器只允许NFS客户端挂载共享目录本身,而不允许挂载共享目录的子目录。但通过使用crossmnt选项,可以在共享目录中启用子目录的挂载。
  • fsid=0:是NFS(Network File System)服务器配置选项之一,用于指定NFS共享的文件系统标识符(File System Identifier)。在NFS配置中,每个共享的文件系统都需要一个唯一的标识符。默认情况下,NFS使用共享目录的inode号作为标识符,但这可能会导致一些问题,尤其是在重新挂载共享时。通过使用fsid=0选项,可以显式地指定NFS共享的标识符为0。这样做的目的是确保每个共享都具有相同的标识符,从而消除重新挂载导致的问题。当存在多个共享目录时,为每个共享目录设置fsid选项是一个良好的实践,尤其是当使用NFSv4或更高版本时。设置fsid可以确保每个共享目录具有唯一的标识符,避免潜在的冲突和问题。

重启服务

sudo exportfs -arv
sudo /etc/init.d/rpcbind restart
sudo /etc/init.d/nfs-kernel-server restart
# 查看端口监听
netstat -tl | grep nfs

添加防火墙

sudo iptables -A INPUT -p tcp --dport 111 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 111 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 2049 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 58327 -j ACCEPT
sudo iptables -L INPUT -n -v

有可能是运行的firewall

# 查看运行状态,如果是running就表示激活
sudo firewall-cmd --state
# 已经放行的端口
sudo firewall-cmd --list-ports
# 已经放行的服务
sudo firewall-cmd --list-services
# 放行nfs、rpc服务
sudo firewall-cmd --add-service=nfs --add-service=rpc-bind --permanent
# 放行指定端口
# sudo firewall-cmd --add-port=2049/tcp --permanent
# 重新加载配置
sudo firewall-cmd --reload

# 如果还有问题,建议直接禁止firewalld(手动狗头)
sudo systemctl stop firewalld
sudo systemctl disable firewalld

新服务器上

安装NFS客户端,比如108:

# 安装NFS客户端
sudo apt install nfs-common -y
# 创建目录,准备挂载228
mkdir -p /mnt/share_228
# 或者
mkdir /home/data1/share_228
# 查看rpc连接信息
rpcinfo -p 202.66.266.228
# 挂载NFS
sudo mount -t nfs -o vers=4 -v 202.66.266.228:/mnt/share /home/data1/share_228
# 卸载NFS
# sudo umount nfs /home/data1/share_228
# 自动挂载NFS
sudo vim /etc/fstab
# 写入:
# 202.66.266.228:/mnt/share /home/data1/share_228   nfs   defaults,vers=4,timeo=300,retrans=3,_netdev  0 0
# 重新加载已配置
sudo mount -a

验证安装

在新服务器上的/home/data1/share_228下添加文件,在旧服务器的/mnt/share下能同步显示;反向亦然。

优缺点

优点:就跟本地目录一样,使用非常方便。

缺点:当文件很大时候,传输就需要很久😢读取也就要很久。后知后觉。

扩展

        samba也可以实现类似效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/528490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分区计量管理项目应用

为充分发挥分区计量管理项目在漏损控制的效用,应构建科学完备的应用体系,如下图 分区计量应用体系 1. 基于水量平衡分析的漏损现状评估方法 分区计量管理项目通过监控分析DMA 分区内流量、压力、水质、大用户用水等情况,结合营业抄收系统的营…

【内网渗透】春秋云镜 Tsclient WP

前言 mssql连接和攻击、windows提权、令牌窃取、镜像劫持 flag1 上来就扫给的地址 nmap: 结合题目的mssql知识点,估计是从这里入手了,尝试爆破用户名和密码,这里先用fscan来爆,可以直接爆出来(别的工具也可&#x…

0.96寸oled显示坏苹果(badapple)

前言 俗话说:有屏幕的地方就会有badapple。 下面带来使用0.96寸OLED屏幕显示badapple的教程。 1、获取视频 首先从网上下载badapple的视频,下载地址:badapple 2、抓取视频图片 使用OLED播放视频的思想就是将视频分成一张一张的图片然后进行…

叉乘在图形学中的几何意义 ---- 判断一个点是否在三角形内

1 叉乘是什么 先简单介绍一下叉乘(cross product): a → b → \overrightarrow{a} \times \overrightarrow{b} a b ,其结果,还是一个向量。 其方向,符合右手螺旋定则(右手手指头从a转向b,看大拇指指向哪…

声音合成——Foley Sound——DECASE项目——多模态智能感知与应用——VariantAutoencoder(VAE)代码实现(7)

文章目录 概述VAE代码实现关闭eager execution修改bottlenectk组件修改loss损失函数 Preprocessline模块实现Loader模块Padder模块LogSpectrogramExtractor模块MinMaxNormaliser模块Saver模块PreprocessPipeLine模块知识补充property修饰词 train训练模块load_fsdd模块train模块…

针对基于智能卡进行认证的活动目录攻击

最近,我参与了一项攻击基于智能卡的活动目录的工作。实际上,你根本不需要使用物理智能卡来验证登录这个活动目录。证书的属性决定了它是否可以用于基于智能卡进行登录。因此,如果你能获得相应的私钥,那么就可以绕过智能卡的验证实…

ubuntu 22.04 安装 Docker Desktop 及docker介绍

目录 一、Docker Desktop 安装 1、我们先去官网下载安装包 2、Install Docker Desktop on Ubuntu 3、Launch Docker Desktop 二、Docker 介绍 什么是docker 如何使用docker docker是如何工作的 docker build docker run docker pull 一、Docker Desktop 安装 1、我们先…

网络应用技术师技能考试试题+讲解

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 前言 本章将会讲解网络应用技术师技能考试试题 一.正文 一、单选题(每题1分,满分50分) 1. 设信号的波特率为800Baud,采用幅度…

肠道微生物群:心力衰竭的新治疗靶点

谷禾健康 心力衰竭 Heart Failure(HF) 心力衰竭是一种严重的心血管疾病,其特点是较高的发病率和死亡率,同时也会带来高昂的医疗成本。 一般都认为心力衰竭是老年人的疾病,但其实心力衰竭已经呈现年轻化趋势。 以上症状…

a标签属性href的多种写法

众所周知,a标签的最重要功能是实现超链接和锚点。而且,大多数人认为a标签最重要的作用是实现超链接,其实不单单是实现超链接的方法,今天新起点博客就来整理下a标签中href的几种用法。 1、a href“[removed]js_method();” 这是常用…

即拼七人拼团系统开发模式,为什么这么火?

即拼七人拼团模式主要是结合了拼团模式的奖励机制和二二复制系统的排位玩法,将产品销售中的利润最大化让利于拼团的用户,刺激用户主动分享推广,以解决平台引流和用户活跃度的问题。 具体来说,即拼七人拼团模式就是用户进入平台购买…

崩坏:星穹铁道私人服务器搭建教程

准备工具: 一台 Windows 系统服务器 《崩坏:星穹铁道》启动器 《崩坏:星穹铁道》客户端 如果以上各项你都准备好了的话,现在就开始吧! 首先完全解压你的《崩坏:星穹铁道》客户端以及SR启动器。 解压完成…

你不知道的JavaScript的事件循环

JavaScript的事件循环 JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。这也与它的用途有关。作为浏览器脚本语言,JavaScript的主要…

Kubernetes二进制部署 单节点

目录 1.环境准备 1.关闭防火墙和selinux 2.关闭swap 3.设置主机名 4.在master添加hosts 5.桥接的IPv4流量传递到iptables的链 6.时间同步 2.部署etcd集群 1.master节点部署 2.在node1与node2节点修改 3.在master1节点上进行启动 4.部署docker引擎 3.部署 Master 组…

麻了,同样是科班出身,学弟月薪却是我的3倍

我有个同学大学毕业,因为却少工作经验,又不愿意去正经的互联网企业做实习生,他嫌工资太低,于是进了家外包公司,那时候感觉待遇还可以。可现在五年过去了,他想跳槽却鲜有人问津。最可气的是比他晚一年毕业的…

Java中的七种设计原则

1.开闭原则 对扩展开放,对修改关闭。在程序需要进行扩展的时候,不能去修改原有的代码,要去实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。 下面是输入法设置皮肤的例子: // 抽象皮…

Linux入门---缓冲区模拟实现

前言 有了前面的基础我们知道c语言的缓冲区本质上就是FILE结构体的一部分,我们每次使用stdout将数据打印到屏幕上时,本质上是先将数据拷贝到FILE结构体的缓冲区中,然后再拷贝到内核缓冲区中也就是file结构体里面的缓冲区,最后再刷…

TSN网络流量记录器:一种经济高效的解决方案,用于验证汽车网络中的以太网融合。

在未来几年,汽车线束将从不同协议的异构网络转变为分层的同构以太网网络。在这种新情况下,模拟真实车辆网络的实验室测试台将需要分析工具以支持它们在车内通信验证过程中进行验证。 汽车向以太网融合原因 随着汽车内部技术变得越来越复杂,相…

信息调查的观念

每次做一件事前都要把这件事调查清楚,比如考一门科目我们要把和这门科目有关的资源都收集起来,然后把再从中筛选出有用的信息,如数值计算方法我们在考试前就可以把b站有关的学习资源网课或者前人总结的考试经验做个收集总结,做出对…

正则表达式 - 量词

目录 一、贪心、懒惰和占有 二、用 *、 和 ? 进行匹配 三、匹配特定次数 四、懒惰量词 五、占有量词 六、示例——括号字符串计数 {m,n} 是通用形式的量词,正则表达式还有三个常用量词,分别是 、?、*。它们的形态虽然不同于 {m,n},功…