NFS(Network File System 网络文件服务)

news2024/10/6 16:18:49

一,nfs 简介

1,nfs 性质

NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限 NFS 是一种基于 TCP/IP 传输的网络文件系统协议

通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议

NFS 它是文件系统,是操作系统内核来管理的

2,nfs 软件

在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务

nfs-utils (包括服务器端和客户端) 用于 NFS 共享发布和访问

rpcbind  用于 RPC 支持

手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

3,nfs 特点

采用TCP/IP传输网络文件; 安全性低 ;简单易操作 适合局域网环境

4,nfs 端口号

rpcbind 端口号111(固定)   nfs端口号不固定

5,nfs日志

日志:/var/lib/nfs/

6,nfs 配置文件

/etc/exports
/etc/exports.d/*.exports

二,nfs  原理

 NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率

rpcbind 端口号111(固定)   nfs端口号不固定

客户端先去找rpcbind rpcbind 告诉客户端端口号

三,NFS共享配置文件格式

/dir                  *     
共享目录      共享给哪个主机(权限)

(一)主机名格式

1,网段:

两种掩码格式均支持

 172.18.0.0/16  

172.18.0.0/255.255.0.0

2,  域名     

 *.kgc.com

3,*       

指共享所有人

(二)权限格式

默认选项:(ro,sync,root_squash,no_all_squash)

1,ro,rw

 只读和读写

2,async

异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性

3, sync(1.0.0后为默认)

同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高

4,root_squash (默认)

意思是压榨root

所有客户机root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody

5,no_root_squas

不压榨root

6,all_squash

所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody

7,no_all_squash

(默认)保留共享文件的UID和GID

8,anonuid和anongid

指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用

四,实验步骤nfs

(一)搭建nfs

1,   实验准备:

服务机下载nfs-utils、rpcbind

客户机下载nfs-utils

2,服务机新建一个专门用于共享的文件夹    /share    

放123.txt

3,手搓 服务机nfs  的配置文件

4, 启动nfs  服务  并重新加载配置文件

5, 去到客户机

showmount  -e  可显示nfs 服务器 加载的信息

6,  将服务机  /share    文件夹挂载到   /mnt 上

如果想永久挂载需要写道/etc/fstab文件中

此处写错!格式为192.168.217.77:/share

192.168.217.77:/share      /mnt               nfs                  defaults     _netdev           0            0
#IP地址:/共享文件名       #挂在点       #文件类型      #权限         #没网不加载   #不备份  #不检查

 

7, 客户机想创建文件,权限拒绝

原因:  /share   文件夹的权限不足

             nfs  软件权限不足

8,在服务机     给share 文件夹加上权限    让其他客户机(other)可以写入文件

 

并在  服务机nfs 配置文件   加上权限

重新加载配置文件

9,客户机再次写入345.txt  成功

注意:虽然客户机是root账户       但是文件的属主变成了  nfsnobody   (nfs匿名账户)

因为服务机nfs 配置文件有一条默认权限    root_squash

即压榨 root用户   只要是root用户创建的文件 都变成nfsnobody 

(二)更改服务机  nfs 配置文件权限

1,关闭压榨root

2,统一压榨

nonuid和anongid       配合all_squash使用

在服务机/data   这个共享文件夹       压榨所有的客户机用户,都变成uid 为1003   组id为1003 的用户

记得前提:服务机里要有  uid 为1003   组id为1003 的用户哦

五,NFS工具

1,exportfs

exportfs:可用于管理NFS导出的文件系统

常见选项:

-v #查看本机所有NFS共享
-r #重读配置文件,并共享目录
-a #输出本机所有共享
-au #停止本机所有共享

2, showmount

常见用法:

showmount -e hostname  

[root@centos7 ~]#showmount -e 10.0.0.8
Export list for 10.0.0.8:
/data/wordpress *

3, mount.nfs

客户端NFS挂载

NFS相关的挂载选项:man 5 nfs

fg #(默认)前台挂载
bg #后台挂载
hard #(默认)持续请求
soft   #非持续请求
intr   #和hard配合,请求可中断
rsize #和wsize 一次读和写数据最大字节数,rsize=32768
_netdev #无网络连接不挂载
vers    #指定版本,客户端centos8默认4.2 ,centos7默认4.1 centos6默认4.0

六,搭建一台NFS共享服务器

实验目的,电脑访问7-1  7-2看到的内容都是一样的,都是nfs 服务机共享文件夹的内容

这样7-2,7-3  这两台服务机只需要能接受很多人访问就可以,不需要很多存储空间,网页的内容都由7-1 nfs服务机  来提供

(一)httpd 原理

 httpd  主页面在  /var/www/html/

当我们在主页面    写入  hello my son

电脑访问对应ip

(二) 搭建一台NFS共享服务器

 7-1nfs 服务机:

1,安装软件

2,创建一个用于做nfs 文件分享

3, 手搓nfs  配置文件

 

4, 重新加载配置文件    给足权限

 

7-2,7-3  步骤:

1,启动httpd 网页服务

2,将   7-1的共享文件夹    挂载到     httpd  主页面 /var/www/html/    

再去到7-1 nfs服务机

在共享文件/share     写入

真实电脑操作:

不论是访问7-2   还是7-3    都会显示   7-1nfs 服务机的内容

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

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

相关文章

找不到msvcr100.dll怎么办?msvcr100.dll丢失的解决方法

在面对计算机系统中“msvcr100.dll”文件缺失这一常见问题时,用户可能会遇到应用程序无法正常启动或运行的情况。为了解决这一困扰广大用户的难题,本文将详细介绍并解析找不到“msvcr100.dll”文件的5种有效解决方法。 一、了解一下msvcr100.dll是什么&a…

[论文精读]Few-shot domain-adaptive anomaly detection for cross-site brain images

论文网址:Few-shot domain-adaptive anomaly detection for cross-site brain images | IEEE Journals & Magazine | IEEE Xplore 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有…

怎么修改或移除WordPress后台仪表盘概览底部的版权信息和主题信息?

前面跟大家分享『WordPress怎么把后台左上角的logo和评论图标移除?』和『WordPress后台底部版权信息“感谢使用 WordPress 进行创作”和版本号怎么修改或删除?』,其实在WordPress后台仪表盘的“概览”底部还有一个WordPress版权信息和所使用的…

鸿蒙入门实战-ArkTS开发

声明式UI基本概念 应用界面是由一个个页面组成,ArkTS是由ArkUI框架提供,用于以声明式开发范式开发界面的语言。 声明式UI构建页面的过程,其实是组合组件的过程,声明式UI的思想,主要体现在两个方面: 描述…

Simulink简介

Simulink 是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统级设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。Simulink 提供图形编辑器、可自定义的模块库以及求解器,能够进行动态系统建模和仿真。Simulink 与 MATLAB 相集成&am…

EChars

1.引入 Apache ECharts <!DOCTYPE html> <html><head><meta charset"utf-8" /><!-- 引入刚刚下载的 ECharts 文件 --><script src"echarts.js"></script></head> </html> 2. <!-- 为 ECharts 准…

浅谈电动汽车充电站箱变电气安全物联监测系统设计与应用

摘 要:基于物联网技术架构提出了一种适用于电动汽车充电站箱变的电气安全物联监测系统设计方案。该系统由电气安全智能感知设备、通信网关、电气安全物联网监测平台等构成&#xff0c;可支持充电站箱变充电桩出线回路电流、电缆 温度、剩余电流、故障电弧、短路电流等数据采集监…

zabbix其他配置

自动发现 zabbix server 主动的去发现所有的客户端&#xff0c;然后将客户端的信息登记在服务端上。 缺点是如果定义的网段中的主机数量多&#xff0c;zabbix server 登记耗时较久&#xff0c;且压力会较大。 systemctl disable --now firewalld setenforce 0 hostnamectl se…

C++I/O流——(4)格式化输入/输出(第一节)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 含泪播种的人一定能含笑收获&#xff…

搜维尔科技:SenseGlove Nova 2力反馈技术手套,虚拟培训的沉浸感达到新高度!

SenseGlove Nova 2-虚拟培训的沉浸感达到新高度&#xff01; 通过集成主动接触反馈&#xff0c;Nova 2 使用户能够在手掌中感知虚拟现实物体的感觉。虚拟训练、研究和多人互动现在感觉比以往更加自然。这项创新增强了与整个手掌接触的任何虚拟物体的真实感。使用第一款也是唯一…

HarmonyOS之sqlite数据库的使用

从API Version 9开始&#xff0c;鸿蒙开发中sqlite使用新接口ohos.data.relationalStore 但是 relationalStore在 getRdbStore操作时&#xff0c;在预览模式运行或者远程模拟器运行都会报错&#xff0c;导致无法使用。查了一圈说只有在真机上可以正常使用&#xff0c;因此这里…

redis原理(四)数据安全之数据持久化

一、将数据持久化至硬盘 1、介绍&#xff1a;Redis是一个基于内存的数据库&#xff0c;它的数据是存放在内存中&#xff0c;内存有个问题就是关闭服务或者断电会丢失。Redis的数据也支持写到硬盘中&#xff0c;这个过程就叫做持久化。 2、Redis持久化选项&#xff1a;Redis提…

Pycharm无法刷新远程解释器的框架: Can‘t get remote credentials for deployment server

在Pycharm上部署项目到远程服务器&#xff0c;有时候需要启动SSH会话&#xff0c;启动的时候发现没反应&#xff0c;且事件日志显示&#xff1a;无法刷新远程解释器的框架: Can’t get remote credentials for deployment server 观察pycharm界面最下边&#xff0c;发现“无默…

Typora概述

Typora概述 1 下载Typora2 Typra大纲视图3 标题4 引用5 列表6 代码7 图片 各位小伙伴想要博客相关资料的话关注公众号&#xff1a;chuanyeTry即可领取相关资料&#xff01; 作为程序员平时编写笔记和开发文档时一般都使用Markdown格式&#xff0c;为了让你能成为更加专业的程序…

DApp:去中心化的革命与挑战

DApp&#xff08;去中心化应用&#xff09;是一种基于区块链技术的应用程序&#xff0c;与传统的中心化应用程序不同&#xff0c;DApp具有去中心化、透明、不可篡改等特性。本文将介绍DApp的前世今生&#xff0c;以及它的优势和未来发展。 DApp的前世可以追溯到区块链技术的出现…

【华为 ICT HCIA eNSP 习题汇总】——题目集1

1、&#xff08;多选&#xff09;根据下面所示的命令输出&#xff0c;下列描述中正确的是&#xff1f; A、GigabitEthernet0/0/1 允许VLAN1通过 B、GigabitEthernet0/0/1 不允许VLAN1通过 C、如果要把 GigabitEthernet0/0/1 变为 Access 端口&#xff0c;首先 需要使用命令“un…

Linux系统——yum仓库及NFS共享

目录 一、yum仓库 1.yum简介 2.yum实现过程 3.如何实现安装服务 4.yum配置文件及命令 4.1yum配置文件 4.1.1主配置文件 4.1.2仓库设置文件 4.1.3日志文件 4.2yum命令详解 4.2.1查询 4.2.2yum安装升级 4.2.3软件卸载 4.2.4操作安装历史记录 5.搭建本地yum仓库 5…

vue2使用qiankun微前端(跟着步骤走可实现)

需求&#xff1a;做一个vue2的微前端&#xff0c;以vue2为主应用&#xff0c;其他技术栈为子应用&#xff0c;比如vue3&#xff0c;本文章只是做vue2一套的微前端应用实现&#xff0c;之后解决的一些问题。vue3子应用可以看我另一篇vue3vitets实现qiankun微前端子应用-CSDN博客…

WebKit工程组织与结构随笔

1.WebKit结构 1.1 三个模块 概括地说&#xff0c;WebKit由主要由三个模块组成&#xff1a;JavaScriptCore、WebCore 和 WebKit。WebKit作为了整个项目的名称。 1). WebCore&#xff0c; 2). WebKit&#xff0c; 3). JavaScriptCore。 WebCore&#xff1a;排版引擎核心&…

leetcode-344. 反转字符串、9. 回文数

题目1&#xff1a; 解题方法 直接用reverse()即可 代码&#xff1a; class Solution(object):def reverseString(self, s):""":type s: List[str]:rtype: None Do not return anything, modify s in-place instead."""return s.reverse()如果不…