当前位置: 首页 > 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&…...

Phi-4-Reasoning-Vision开源大模型实践:图文多模态输入格式与Phi-4模型要求对齐

Phi-4-Reasoning-Vision开源大模型实践&#xff1a;图文多模态输入格式与Phi-4模型要求对齐 1. 项目概述 Phi-4-Reasoning-Vision是一款基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具&#xff0c;专为双卡RTX 4090环境优化。该工具严格遵循官方SYSTEM…...

别再死记硬背了!用‘快递寄送’和‘跨国通话’的比喻,5分钟搞懂OSI七层模型与TCP/IP五层模型

快递与越洋电话&#xff1a;用生活场景拆解网络分层模型 想象一下&#xff0c;你网购的商品从深圳工厂到北京家门口&#xff0c;要经过打包、装车、跨省运输、本地配送多个环节——这和网络数据传输的层层封装如出一辙。而当你给海外亲友视频通话时&#xff0c;双方手机自动协商…...

React篇——第一章 React的基础知识(上篇)

目录 1. React简介 1.1 什么是React 1.2 React的核心优势 组件化开发 虚拟DOM 丰富的生态系统 跨平台支持 1.3 React的市场地位 2. 开发环境搭建 2.1 使用create-react-app创建项目 2.2 其他创建React项目的方式 3. JSX基础 3.1 什么是JSX 3.2 JSX的优势 3.3 JS…...

2026最权威AI论文写作工具榜单:这些被高校和导师悄悄推荐的软件你还不知道?

AI论文写作工具正在重塑学术研究的效率与质量。依托权威检测平台、高校实测数据及广大师生的真实反馈&#xff0c;这些工具已逐步成为科研工作者不可或缺的助手。本文基于多维测评与实际应用效果&#xff0c;盘点2026年最受高校和导师推荐的AI论文写作软件&#xff0c;带你了解…...

企业必看:致远OA密码重置漏洞修复指南(附官方补丁下载与安装教程)

致远OA密码重置漏洞全面修复指南&#xff1a;从补丁部署到安全加固 1. 漏洞背景与影响范围 近期致远OA协同办公平台曝出的密码重置漏洞&#xff0c;已成为企业IT安全团队亟需应对的高危风险。该漏洞允许攻击者在仅获取用户名的情况下&#xff0c;通过构造特定HTTP请求绕过短信…...

AdGuard浏览器扩展:企业级隐私保护与广告拦截解决方案

AdGuard浏览器扩展&#xff1a;企业级隐私保护与广告拦截解决方案 【免费下载链接】AdguardBrowserExtension AdGuard browser extension 项目地址: https://gitcode.com/gh_mirrors/ad/AdguardBrowserExtension AdGuard浏览器扩展是一款专注于隐私保护和广告拦截的开源…...

2K2000龙芯主板以科技创新为驱动力,赋能产业高质量发展

当前&#xff0c;新一轮科技革命和产业变革深入演进&#xff0c;科技创新已成为引领产业高质量发展的核心引擎&#xff0c;更是实现高水平科技自立自强、掌握产业发展主动权的关键支撑。科技创新作为新质生产力的核心驱动力&#xff0c;早已成为引领产业高质量发展的“第一引擎…...

AI教材生成法宝!低查重完成教材编写,快来获取高性价比方案!

选择AI教材生成工具&#xff0c;摆脱创作难题 在编写教材的过程中&#xff0c;选择合适的工具真是个让人头疼的问题&#xff01;如果用办公软件&#xff0c;功能局限&#xff0c;很多格式和框架都需要自己手动调整&#xff1b;而如果试图使用一些专业的AI写教材工具&#xff0…...

RePKG:解锁Wallpaper Engine壁纸资源的三大核心功能

RePKG&#xff1a;解锁Wallpaper Engine壁纸资源的三大核心功能 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 你是否曾经看着Wallpaper Engine里精美的动态壁纸&#xff0c;想要提…...

归并排序:稳定排序的典范

归并排序&#xff1a;稳定排序的典范 算法原理 核心思路 归并排序是一种基于分治思想的稳定排序算法&#xff0c;其核心思想是&#xff1a; 分解&#xff1a;将数组分成两个子数组&#xff0c;递归地对两个子数组进行排序合并&#xff1a;将两个已排序的子数组合并成一个有序数…...