NFS共享服务器

目录

任务要求

思路总结

1.NFS共享服务

服务端  (ip   192.168.48.128)

客户端 (ip    192.168.48.130)

 2.配置autofs自动挂载


任务要求

        1.NFS服务器,可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。

注意:在启动NFS之前,要先启动RPC,否则NFS会无法向RPC注册。另外,RPC若重新启动,原来注册的数据会消失不见,因此RPC重启后,它管理的所有服务都需要重新启动以重新向RPC注册。

        2.配置autofs自动挂载,由于网络的问题,NFS服务器与客户端的连接不会一直存在,当我们挂载了NFS服务器之后,任何一方脱机都可能造成另外一方等待超时。为了解决这样的问题,就出现了下面的想法:
- 当客户端在有使用NFS文件系统的需求时才让系统自动挂载。
- 当NFS文件系统使用完毕后,让NFS自动卸载。于是就产生了autofs这个服务。

思路总结

        NFS 服务端(192.168.48.128)安装服务、关防火墙和 SELinux,配置 /etc/exports 后重启。客户端(192.168.48.130)装服务、关防火墙,查看共享,建 /nfsclient/client-data 并挂载服务端 /data,不用时需要断开。autofs自动挂载是在客户端装 autofs,改主和子配置文件,重启服务,卸载,遇忙时用 fuser 查占用程序。

1.NFS共享服务

服务端  (ip   192.168.48.128)

NFS服务安装,关闭防火墙和SElinux

yum install rpcbind    
yum install nfs-utils

setenforce 0 #关闭selinux
systemctl stop firewalld.service

 开放共享文件

su root                                 #切换身份
mkdir /data                          #创建共享目录
chmod 777 /data                 #开放共享文件权限

cat /etc/exports                   #查看nfs服务配置,如果没有内容就新建并写入如下

 重启服务

systemctl restart nfs-server          #重启nfs服务器
showmount -e 192.168.42.128    #查看共享是否生效

 参数说明

#可以使用完整的IP或者是网络号,
例如172.24.8.128或172.24.8.0/24或者172.24.8.128/255.255.255.0;也可以使用*表示所有主机
/mnt/nfs *(ro,sync,no_root_squash,no_subtree_check)
/mnt/zuoye *(rw,sync,no_root_squash,no_subtree_check)

#权限相关参数可以写多个,多个参数之间用逗号隔开,具体相关参数说明如下:
1、rw和ro:该目录分享的权限是可擦写 (read-write) 或只读 (read-only),
但最终能不能读写,还是与文件系统的 rwx 及身份有关。

2、sync和async:sync 代表数据会同步写入到内存与硬盘中,
async 则代表数据会先暂存于内存当中,而非直接写入硬盘!

3、no_root_squash和root_squash:
想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行。
而all_squash,不论登入 NFS 的使用者身份为何都会被压缩成为匿名用户,就是 nobody(nfsnobody) 。

4、anonuid和anongid
anonuid 指的是 UID,而 anongid 则是群组的GID

5、subtree_check和no_subtree_check
可选参数。当使用'subtree_check'选项时,NFS导出系统将确保每个客户端都只能访问其访问的目录
及其下的子目录,并防止客户端访问树外的目录。这会增加一些额外的性能开销,但通常是推荐的
安全性设置。
而当使用'no_subtree_check'选项时,NFS导出系统将不会检查客户端访问的目录是否在其访问的树内,
这意味着客户端将能够访问其访问范围之外的目录,但也会减少导出系统的负载并提高性能。
请注意,这些选项的默认行为已在较新版本的nfs-utils中更改。在没有指定这些选项的情况下,
将会默认使用'no_subtree_check'

客户端 (ip    192.168.48.130)

1.  服务安装,关闭防火墙

yum install rpcbind
yum install nfs-utils
setenforce 0                                 #关闭selinux
systemctl stop firewalld.service

2.  查看共享是否生效

3.   在客户端机器上一次创建两个层级目录,分别如下

        mkdir -p /nfsclient/client-data/

4.  将服务器 192.168.42.128的 data 目录映射(挂载) 到本机(客户机的)
/nfsclient/client-data 下面,以后在客户端操作这个目录就相当于远程操作服务器
的 /data 目录。

mount 192.168.42.128:/data /nfsclient/client-data/ 

5.  查看共享目录是否生效

ls /nfsclient/client-data/ 共享生效

         #看的是本机的目录,但是实际内容却是远程服务器上的共享目录。可以在本机的增,删,改,查 映射到目标服务器上。

6.  不用内容的时候记得 及时断开映射关系,不要长时间连接。

cd ~
umount /nfsclient/client-data
ls /nfsclient/client-data                         空了,恢复到原来的内容 

 2.配置autofs自动挂载

        autofs这个服务是在客户端的上面,它会持续的检测某个指定的目录,并预先设置当使用到该目录的某个子目录时,将会取得来自服务器端的NFS文件系统资源,并进行自动挂载的操作。
        autofs的工作原理基于Linux内核的automount功能。当用户试图访问autofs挂载的目录时,
automount守护进程会捕获这个访问请求,然后根据配置文件挂载相应的文件系统。当这个文件系统一段时间没有被访问,automount会自动将其卸载。

1、安装服务

yum install autofs -y
mkdir /mnt/m2 #建立本地文件m2 用来同步服务器信息
mkdir /tmp/a1 #建立本地文件a1 用来同步光盘信息 

2、修改主配置文件

vim /etc/auto.master                                  #autofs 的配置文件
添加:/mnt                 /etc/mnt.guazai       # 挂载目录         子配置文件 

#mnt.guazai                 是远程服务器的配置
#med.guazai                是本地光盘的配置 

 

3、修改子配置文件

 vim /etc/mnt.guazai                 #远程服务器的mount参数 

 vim /etc/med.guazai

添加:a1 -fstype=iso9660,ro,nosuid,nodev :/dev/sr0 #光盘的挂载参数

 

4、重启服务

systemctl restart autofs #启动自动挂载服务
systemctl enable autofs #使自动挂载开机启动 

注意:挂载成功后,ls看不到,必须进行cd切换到目录中才能看到文件。
或者直接通过 mount 查看

 5、卸载服务

systemctl stop autofs
systemctl disable autofs
umount /mnt

提示/data 目标忙,原因是:设备被一些升程序占用。
接下来通过fuser 命令查找那些程序

fuser -mv             /mnt    

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

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

相关文章

FreeRTOS学习笔记之队列

小编正在学习嵌入式软件,目前建立了一个交流群,可以留下你的评论,我拉你进群一、简介队列是为了任务与任务、任务与中断之间的通信而准备的,可以在任务与任务、任务与中断之间消息传递,队列中可以存储有限的、大小固定…

垃圾收集器-ZGC

前言在Java开发中,垃圾收集器的选择对系统性能有着致命的影响。Java 8后,虽然G1 GC成为默认,但是它在延迟性控制上仍有限。ZGC作为最新一代高性能低延迟垃圾收集器,解决了CMS和G1在延迟、垃圾堆容量和吞吐量方面的重大突破。本文将…

计算机“十万个为什么”之跨域

计算机“十万个为什么”之跨域 本文是计算机“十万个为什么”系列的第五篇,主要是介绍跨域的相关知识。 作者:无限大 推荐阅读时间:10 分钟 一、引言:为什么会有跨域这个“拦路虎”? 想象你正在参观一座戒备森严的城堡…

C语言:20250719笔记

字符数组在C语言中,支持字符串常量,不支持字符串变量。如果想要实现类似的字符串变量,C语言提供了两种实现方式:字符数组:char name[] “哪吒”;字符指针:char *name "娜吒"&#x…

decltype是什么,什么作用?

基本概念decltype 是 C11 引入的关键字,用于推导表达式的类型,且会完整保留类型的细节(包括 const、引用 &、指针 * 等)。语法:decltype(表达式) 变量名核心特点1.推导依据是表达式本身,而非表达式的结果&#xff…

RPC 与 Feign 的区别笔记

一、基本概念 1.1 RPC(Remote Procedure Call) 定义:远程过程调用,允许像调用本地方法一样调用远程服务的方法。 本质:跨进程通信,隐藏了底层网络通信的复杂性。 常见实现: Java 原生 RMIDub…

高防IP能够防御CC攻击吗?它具备哪些显著优势?

摘要: 面对日益复杂的网络攻击,高防IP作为重要的安全工具,不仅能防御常见的DDoS攻击,还能有效应对CC攻击。本文将解析高防IP防御CC攻击的原理及其核心优势,帮助读者了解其在网络安全中的关键作用。一、高防IP能否防御C…

TypeScript 类型注解(一)

一、TypeScript 类型注解1、什么是TpyeScript类型注解- 是否还记得TypeScript的两个重要特性?- 类型系统、适用于任何规模- 可以说,TS的类型系统是TS最重要的功能;那么什么是类型注解呢?其实就是在声明变量时,将变量的…

弗兰肯斯坦式的人工智能与GTM策略的崩溃

2025 年上半年已经明确了一件事:B2B 市场营销团队被工具淹没,但缺乏策略。人工智能无处不在。收入领导者在进行无休止的试点。营销团队拼凑各种点解决方案,希望能实现规模扩张。然而,销售线索的增长停滞不前。信誉正在受损。曾经承…

NAND闪存(NAND Flash)是什么?

NAND闪存(NAND Flash)是什么? NAND闪存(NAND Flash)详解 NAND闪存是一种非易失性存储介质(断电不丢失数据),广泛应用于SSD、U盘、手机存储等设备中。NAND Flash 的全称是 “Negative-AND Flash”(与非型闪存),其名称源自其底层存储单元的电路结构——基于**“与非门…

Android性能优化之UI渲染优化

一、UI渲染核心瓶颈深度解析 1. 渲染管线关键阶段阶段CPU工作GPU工作潜在卡顿点Measure计算View尺寸-嵌套布局多次测量Layout计算View位置-频繁重排(Relayout)Draw构建DisplayList指令集-复杂自定义View.onDraw()Sync & Upload资源上传到GPU内存纹理上传大图/未压缩资源Ras…

基于Spring AI Alibaba的智能知识助手系统:从零到一的RAG实战开发

📖 项目概述 在人工智能快速发展的今天,RAG(Retrieval-Augmented Generation)技术已成为构建智能问答系统的核心技术。本文将详细介绍一个基于Spring AI Alibaba DashScope深度集成的智能知识助手系统的完整开发过程,…

VirtualBox + CentOS:启用 DHCP 获取 IPv4 地址

标题: VirtualBox CentOS:启用 DHCP 获取 IPv4 地址 日期: 2025-07-18 一、问题现象 最小化安装的 CentOS 7 虚拟机里敲: ip addr输出只有 lo 的 127.0.0.1 以及 enp0s3 的 IPv6 链路本地地址,没有 IPv4&#xff0…

Git

Git简介Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git 仓库来存储和管理这些文件,Git 仓库分为两种:本地仓库:开发人员自己电脑上的 Git仓库。远程仓库:远程服务器上的 Git 仓库。commit: 提交, 将本地文件和版本…

通信算法之294:LTE系统中的整数倍频偏估计

在LTE系统中,整数倍频偏估计主要通过以下方法实现:一、最大似然估计法(ML)通过遍历预设的整数倍频偏范围(如30kHz),将接收信号与本地的PSS序列在不同频偏点上进行相关运算,选择相关峰…

数字人直播:开启直播行业新纪元​

​原始尺寸更换图片p9-flow-imagex-sign.byteimg.com​​在科技日新月异的当下,直播行业正经历着一场深刻变革,数字人直播的兴起,宛如一颗璀璨新星,照亮了直播领域的新征程。数字人直播,是利用先进的人工智能技术&…

朝鲜升级供应链恶意软件XORIndex,再次瞄准npm生态系统

Socket威胁研究团队最新披露,朝鲜国家支持的黑客组织在"传染性面试"攻击活动中采用了新型恶意软件加载器XORIndex,该恶意程序专门通过npm软件包注册表渗透软件供应链。攻击规模与持续性此次攻击并非孤立事件,而是针对开发者、求职者…

Windows 下 VS2019 编译 libevent-2.1.10 库

1. 你需要VS2019 编译好openssl-1.1.1 ,这个具体编译或者下载可以参考我的博客openssl生成的库是这两个文件接下来,打开CMake ,主要是下面的需要设置好最后Config Generate即可;全部成功生成 22个然后INSTALL右键生成 最后看下生…

Vim多列操作指南

我们在使用 Vim 时,经常需要同时编辑多个文件,或者同一个文件的不同部分。Vim 提供了分割窗口(split)和垂直分割窗口(vsplit)的功能,允许我们在同一个 Vim 会话中查看多个缓冲区(buf…

Python网络爬虫实现selenium对百度识图二次开发以及批量保存Excel

一.百度识图自动上传图片from selenium import webdriver from selenium.webdriver.edge.options import Options from selenium.webdriver.common.by import By edge_options Options() edge_options.binary_location r"C:\Program Files (x86)\Microsoft\Edge\Applica…