当前位置: 首页 > news >正文

Linux - nfs服务器

五、nfs服务器

1、基础

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

由于NFS支持的功能比较多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些 端口来传输数据,因此NFS的功能所对应的端口并不固定,而是随机取用一些未被使用的小于1024的端 口用于传输。但如此一来就会产生客户端连接服务器的问题,因为客户端需要知道服务器端的相关端口 才能够连接。 此时就需要RPC(Remote Procedure Call,远程过程调用)的服务。由于当服务器在启动NFS时会随机 选取数个端口号,并主动向RPC注册,所以RPC知道每个NFS功能所对应的端口号,RPC将端口号通知给 客户端,让客户端可以连接到正确的端口上去。RPC采用固定端口号port 111来监听客户端的需求并向 客户端响应正确的端口号。 注:在启动NFS之前,要先启动RPC,否则NFS会无法向RPC注册。另外,RPC若重新启动,原来注册的 数据会消失不见,因此RPC重启后,它管理的所有服务都需要重新启动以重新向RPC注册。

安装

#nfs
yum install nfs-utils
#rpc
yum install rpcbind

2、简单配置

创建共享文件

[root@server ~]# mkdir /share -v
mkdir: 已创建目录 '/share'

开启目录共享(编辑配置文件)

[root@server ~]# vim /etc/exports
#编辑文件内容
/share	共享文件目录          192.168.5.0/24(rw)	共享的主机(网段,可以使用*代表所有)以及共享权限
#权限参数可以写多个,使用逗号隔开

相关权限参数

参数说明
rw,ro该目录共享的权限是可读写还是只读,但最终能否读写,还是与 文件系统的 rwx有关
sync,asyncsync代表数据会同步写入到内存与硬盘中,async则代表数据会先暂存于内存 当中,而非直接写入硬盘
no_root_squash root_squash若客户端在共享目录里创建的文件的所属者和所属组是root用户 和root组, 那么显示文件的属主和属组时有以下两种情况: no_root_squash表示,文件 的所属者和所属组是root用户和 root组;root_squash表示将root用户和组 映射为匿名用户和组 (默认设置)。
all_squash no_all_squashall_squash表示客户端所有用户创建文件时,客户端会将文件的用户 和组映射为 匿名用户和组,而no_all_squash表示客户端普通用户创建的 文件的UID和GID是多 少,服务端就显示为多少(默认设置)
anonuid= anongid=将文件的用户和组映射为指定的UID和GID,若不指定默认为 65534(nfsnobody)

客户端挂载

#查看可挂载的主机及其目录
[root@client ~]# showmount -e 192.168.5.100
Export list for 192.168.5.100:
/share 192.168.5.0
#创建文件并挂载
[root@client ~]# mount 192.168.5.100:/share /nfs

测试

#在服务端创建目录
[root@server ~]# mkdir /share/{1,2,3} -pv
mkdir: 已创建目录 '/share/1'
mkdir: 已创建目录 '/share/2'
mkdir: 已创建目录 '/share/3'
[root@server ~]# tree /share
/share
├── 1
│   └── test
├── 2
└── 33 directories, 1 file
[root@server ~]# echo hello > /share/1/test
#客户端查看
[root@client ~]# tree /nfs
/nfs
├── 1
│   └── test
├── 2
└── 33 directories, 1 file
[root@client ~]# cat /nfs/1/test 
hello
#查看挂载情况
[root@client ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               4.0M     0  4.0M    0% /dev
tmpfs                  866M     0  866M    0% /dev/shm
tmpfs                  347M  7.0M  340M    3% /run
/dev/mapper/rhel-root   17G  4.3G   13G   27% /
/dev/nvme0n1p2         960M  292M  669M   31% /boot
/dev/nvme0n1p1         599M  7.0M  592M    2% /boot/efi
tmpfs                  174M   52K  174M    1% /run/user/42
tmpfs                  174M   36K  174M    1% /run/user/0
192.168.5.100:/share    17G  4.4G   12G   27% /nfs	#挂载的服务器目录
#若客户端在具备该目录的写权限后,在该目录下创建的文件(在不指定anonuid=和anongid=两个参数的情况下)用户和用户组都为nobody
#服务器给权限
[root@server ~]# chmod 777 /share
#客户端修改目录
[root@client ~]# mkdir /nfs/{4,5,6} -pv
mkdir: 已创建目录 '/nfs/4'
mkdir: 已创建目录 '/nfs/5'
mkdir: 已创建目录 '/nfs/6'
#在客户端看
[root@client ~]# ll /nfs
总用量 0
drwxr-xr-x. 2 root   root   18 118 20:24 1
drwxr-xr-x. 2 root   root    6 118 20:23 2
drwxr-xr-x. 2 root   root    6 118 20:23 3
drwxr-xr-x. 2 nobody nobody  6 118 20:35 4
drwxr-xr-x. 2 nobody nobody  6 118 20:35 5
drwxr-xr-x. 2 nobody nobody  6 118 20:35 6
#服务端看
[root@server ~]# ll /share
总用量 0
drwxr-xr-x. 2 root   root   18 118 12:24 1
drwxr-xr-x. 2 root   root    6 118 12:23 2
drwxr-xr-x. 2 root   root    6 118 12:23 3
drwxr-xr-x. 2 nobody nobody  6 118 12:35 4
drwxr-xr-x. 2 nobody nobody  6 118 12:35 5
drwxr-xr-x. 2 nobody nobody  6 118 12:35 6

3、autofs自动挂载

在一般NFS文件系统的使用过程中,如果客户端要使用服务端所提供的文件系统,可以在 /etc/rc.d/rc.local 中设置开机时自动挂载( /etc/rc.d/rc.local 文件中写入的命令,在每次启动系统用户 登录之前都会执行一次)。但若对端宕机或根本没有启动,会导致主机超时等待。所以我们需要当客户端在有使用NFS文件系统的需求时才让系统自动挂载。当NFS文件系统使用完毕后,让NFS自动卸载。

autofs这个服务是在客户端的上面,它会持续的检测某个指定的目录,并预先设置当使用到该目录的某 个子目录时,将会取得来自服务器端的NFS文件系统资源,并进行自动挂载的操作。

安装软件(客户端)

yum install autofs -y

编辑配置文件

[root@client ~]# vim /etc/auto.master	主配置文件,定义了挂载点和自动挂载的规则
文件内添加:/nfs/test         /etc/auto.suibian#本地端目录    具体挂载配置文件
[root@client ~]# vim /etc/auto.suibian	挂载点的具体配置文件
添加:
*	192.168.5.100:/share	#*表示所有对/nfs/test目录的访问都会触发自动挂载 192.168.5.100:/share

重启服务开启自动挂载

[root@client ~]# systemctl restart nfs-server
[root@client test]# systemctl status autofs
[root@client ~]# cd /nfs/test/
[root@client test]# ll
总用量 0
drwxrwxrwx. 8 root root 60 118 20:35 share
[root@client test]# tree
.
└── share├── 1│   └── test├── 2├── 3├── 4├── 5└── 67 directories, 1 file
[root@client test]# 
#注意:以上操作在关闭防火墙以及selinux的情况下进行

相关文章:

Linux - nfs服务器

五、nfs服务器 1、基础 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统 中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。 由于NFS支持的功能比较多,而不同的功能都会使用不同的程…...

uniapp图片上传预览uni.chooseImage、uni.previewImage

文章目录 1.上传图片2.预览图片 1.上传图片 uni.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照。 App端如需要更丰富的相机拍照API(如直接调用前置摄像头),参考plus.camera 微信小程序从基础库 2.21.0 开始, wx.choos…...

C++ 字符串中数字识别

【问题描述】 输入一个字符串,含有数字和非数字字符,如“sumabc234;while(abc700)tab{ass346;bssabc267;}”,将其中连续的数字作为一个整数,依次存放到一个数组nums中。例如,234放在nums[0],700放在nums[1…...

学术中常见理论归纳总结-不定期更新

1.信息传播类 1.1 扩散创新理论 创新扩散理论是传播效果研究的经典理论之一,是由美国学者埃弗雷特罗杰斯(E.M.Rogers)于20世纪60年代提出的一个关于通过媒介劝服人们接受新观念、新事物、新产品的理论,侧重大众传播对社会和文化的影响。 1927-1941年进行的“艾奥瓦杂交玉…...

ModelSim怎么修改字体及大小

点击TOOLS 选择PERFERENCES选择下一级菜单的TEXTFONT/CHOOSE/选择字体和大小最后不要忘记点apply再退出...

图片预处理技术介绍4——降噪

图片预处理 大家好,我是阿赵。   这一篇将两种基础的降噪算法。   之前介绍过均值模糊和高斯模糊。如果从降噪的角度来说,模糊算法也算是降噪的一类,所以之前介绍的两种模糊可以称呼为均值降噪和高斯降噪。不过模糊算法对原来的图像特征的…...

Scrapy管道设置和数据保存

1.1 介绍部分: 文字提到常用的Web框架有Django和Flask,接下来将学习一个全球范围内流行的爬虫框架Scrapy。 1.2 内容部分: Scrapy的概念、作用和工作流程 Scrapy的入门使用 Scrapy构造并发送请求 Scrapy模拟登陆 Scrapy管道的使用 Scrapy中…...

D84【python 接口自动化学习】- pytest基础用法

day84 pytest常用断言类型 学习日期&#xff1a;20241130 学习目标&#xff1a;pytest基础用法 -- pytest常用断言类型 学习笔记&#xff1a; 常用断言类型 代码实践 def test_assert():assert 11assert 1!2assert 1<2assert 2>1assert 1>1assert 1<1assert a…...

如何正确书写sh文件/sh任务?bash任务

正确书写xx.sh文件的方式为&#xff1a; source /usr/local/miniconda3/bin/activate condaEnv export CUDA_VISIBLE_DEVICES0 cd /hy-tmp/test export PYTHONPATH"xxx:$PYTHONPATH" python AAA.py python BBB.py python CCC.py 直接运行&#xff1a; bash xx.sh 即可…...

多线程篇-5--线程分类(线程类型,springboot中常见线程类型,异步任务线程)

常见的线程类型包括用户线程&#xff08;User Threads&#xff09;、守护线程&#xff08;Daemon Threads&#xff09;、主线程&#xff08;Main Thread&#xff09;、工作线程&#xff08;Worker Threads&#xff09;和线程池中的线程。 一、用户线程&#xff08;User Thread…...

docker快速部署gitlab

文章目录 场景部署步骤默认账号密码效果 场景 新增了一台机器, 在初始化本地开发环境&#xff0c;docker快速部署gitlab 部署步骤 编写dockerfile version: 3.7services:gitlab:image: gitlab/gitlab-ce:latestcontainer_name: gitlabrestart: alwayshostname: gitlabenviron…...

C# 数据类型详解:掌握数据类型及操作为高效编码奠定基础

本文将带你深入了解C#中各种数据类型的特点、用途和最佳实践&#xff0c;让你不仅能熟练运用基本类型&#xff0c;还能掌握如何在实际项目中做出最合适的选择。 目录 C#基本语法 C#数据类型 C#类型转换 C#变量常量 C#基本语法 在学习C#之前我们要先知道C#的基础构建是由哪些…...

burp2

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…...

[ACTF2020 新生赛]BackupFile--详细解析

信息搜集 让我们寻找源文件&#xff0c;目录扫描&#xff1a; 找到了/index.php.bak文件&#xff0c;也就是index.php的备份文件。 后缀名是.bak的文件是备份文件&#xff0c;是文件格式的扩展名。 我们访问这个路径&#xff0c;就会直接下载该备份文件。 我们把.bak后缀删掉…...

循环神经网络(RNN)简述

RNN及其变体 1、概述 (一)、概念 RNN(Recurrent Neural Network), 中文称作循环神经网络, 它一般以序列数据为输入, 通过网络内部的结构设计有效捕捉序列之间的关系特征, 一般也是以序列形式进行输出。 RNN的循环机制使模型隐层**上一时间步产生的结果, 能够作为当下时间步…...

九、Ubuntu Linux操作系统

一、Ubuntu简介 Ubuntu Linux是由南非人马克沙特尔沃思(Mark Shutteworth)创办的基于Debian Linux的操作系统&#xff0c;于2004年10月公布Ubuntu是一个以桌面应用为主的Linux发行版操作系统Ubuntu拥有庞大的社区力量&#xff0c;用户可以方便地从社区获得帮助其官方网站:http…...

SpringBoot 新冠密接者跟踪系统:校园疫情防控的智能守护者

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自古…...

【Ubuntu】E: Unable to locate package xxx

报错描述 在 Ubuntu 上 执行 apt install xxx 出现下面的报错&#xff1a; 即无法定位到该 Package&#xff0c;一般形式如下&#xff1a; # apt install xxx Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable …...

vue多页面应用集成时权限处理问题

在多页面应用&#xff08;MPA&#xff09;中&#xff0c;权限管理通常会涉及到每个页面的访问控制、身份验证、以及权限校验。以下是几种常见的权限处理方式&#xff1a; 1. 前端路由权限控制 原理&#xff1a;虽然是多页面应用&#xff0c;通常每个页面会独立加载和渲染&…...

Socket编程(TCP/UDP详解)

前言&#xff1a;之前因为做项目和找实习没得空&#xff0c;计算机网络模块并没有写成博客&#xff0c;最近得闲了&#xff0c;把计算机网络模块博客补上。 目录 一&#xff0c;UDP编程 1&#xff09;创建套接字 2&#xff09;绑定端口号 3&#xff09;发送与接收数据 4&…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...

CTF show 数学不及格

拿到题目先查一下壳&#xff0c;看一下信息 发现是一个ELF文件&#xff0c;64位的 ​ 用IDA Pro 64 打开这个文件 ​ 然后点击F5进行伪代码转换 可以看到有五个if判断&#xff0c;第一个argc ! 5这个判断并没有起太大作用&#xff0c;主要是下面四个if判断 ​ 根据题目…...

新版NANO下载烧录过程

一、序言 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统。此处使用 18.04 LTS。 二、环境搭建 1、安装库 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建环境的过程需要这个应用库来将某些 NVIDIA 软件组件安装到 Je…...

ubuntu清理垃圾

windows和ubuntu 双系统&#xff0c;ubuntu 150GB&#xff0c;开发用&#xff0c;基本不装太多软件。但是磁盘基本用完。 1、查看home目录 sudo du -h -d 1 $HOME | grep -v K 上面的命令查看$HOME一级目录大小&#xff0c;发现 .cache 有26GB&#xff0c;.local 有几个GB&am…...

JS设计模式(5): 发布订阅模式

解锁JavaScript发布订阅模式&#xff1a;让代码沟通更优雅 在JavaScript的世界里&#xff0c;我们常常会遇到这样的场景&#xff1a;多个模块之间需要相互通信&#xff0c;但是又不想让它们产生过于紧密的耦合。这时候&#xff0c;发布订阅模式就像一位优雅的信使&#xff0c;…...

2025年上海市“星光计划”第十一届职业院校技能大赛 网络安全赛项技能操作模块样题

2025年上海市“星光计划”第十一届职业院校技能大赛 网络安全赛项技能操作模块样题 &#xff08;二&#xff09;模块 A&#xff1a;安全事件响应、网络安全数据取证、应用安全、系统安全任务一&#xff1a;漏洞扫描与利用:任务二&#xff1a;Windows 操作系统渗透测试 :任务三&…...