linuxnfs服务安装与配置实践

news2024/11/15 11:21:07

目录

一.NFS服务

二.NFS和RPC的概念

三.什么是RPC

四.工具

五.安装配置NFS环境

1.查看一下是否有nfs-utils和rpcbind软件包的安装rpm包

2.安装nfs-utils 、rpcbind

3.环境配置

1.nfs配置文件需要遵守如下规则:

2.nfs语法参数解释:

3.nfs客户端地址形式

4.nfs客户端权限参数

七、nfs服务端的文件目录共享实践

1.前提

2.nfs服务端部署

3.修改nfs服务端的配置文件,进行客户端授权

4.挂载


一.NFS服务

专用于linux和linux之间的专门的文件共享服务(NFS)服务,network filesystem网络文件系统

NFS服务可以把远程linux机器上面的文件目录数据,通过挂载的形式,映射到用户本地机器

本地/mnt ------------- 远方的一台服务器/sharedir

二.NFS和RPC的概念

NFS通过port传输数据,NFS服务在传输数据的时候,端口是随机选择的(自己重启NFS服务,查看端口是否在变化)

但是因为NFS的端口是随机的,既然端口不确定,客户端是无法链接NFS服务的

所以我们就需要一个另外的服务,进行NFS的端口注册,并且告知客户端NFS的工作端口是哪一个,以此让客户端能连接到服务器的NFS服务

三.什么是RPC

RPC(远程过程调用)

linux使用NFS服务必须启动2个服务

  • NFS服务
  • RPC服务

NFS服务通过RPC注册自己的端口功能

RPC服务功能就是记录每个NFS服务对应的端口号,并且RPC保证了NFS客户端发出请求的时候,把该功能对应的端口信息告知NFS客户端,保证客户端能够正确连接到NFS服务端的端口,达到数据传输目的

0c31c0eecac5455588167404f3ceeeac.png

四.工具

  • nfs-utils:NFS服务的主程序,包括了rpc.nfsd rpc.mountd这两个守护进程,相关配置文件信息
  • RPCBIND:

RPC在centos7系统平台下,实现的软件RPCBIND服务

NFS服务的配置,必须要先运行好RPCBIND服务才可以

如果RPCBIND服务重启了,原本注册的NFS服务端的信息也失效了,你还得再重启NFS服务端,重新注册信息才可以

如果仅仅修改了NFS配置文件,不需要重启NFS服务端,因为重启后,端口的信息就更新了,还得重新注册。

五.安装配置NFS环境

1.查看一下是否有nfs-utils和rpcbind软件包的安装rpm包

[root@localhost virtual_user_dir]# rpm -qa nfs-utils rpcbind
nfs-utils-1.3.0-0.68.el7.x86_64
rpcbind-0.2.0-49.el7.x86_64

66c9acac9d5b4a04b4ac38cd98b5a99a.png

2.安装nfs-utils 、rpcbind

yum install nfs-utils

31ddec9741c948269652a6387b19ac52.png

yum install rpcbind

82be20580af74c40858edbb5ee78e0c8.png

3.环境配置

NFS是c/s模式,准备一个nfs服务端,准备一个nfs客户端,两台linux机器

再nfsserver端创建一个 用于共享的文件夹,且设置相应的读写权限

mkdir /sharenfs
chmod -Rf 777 /sharenfs/

六、nfs的配置文件

vim /etc/exports

1.nfs配置文件需要遵守如下规则:

nfs共享目录 nfs客户端地址(参数1,参数2……) NFS客户端地址2(参数1,参数2……)

例如:

#把nfs服务端的根目录共享出去,且允许两个主机名为client1,client2的机器,可以进行rw读写权限 / client1(rw) client2(rw)

#允许任意的客户端,都能够挂载到此nfs /public *(rw)

#只允许指定的ip地址的服务器,能够挂载此NFS服务端的/home/nfsfile文件夹且是只读的 /home/nfsfile 101.1.16.61(ro)

2.nfs语法参数解释:

nfs共享目录是绝对路径

nfs客户端地址,也就是nfs服务器授权可以访问共享目录的地址,可以写主机名,可以写通配符,ip地址

权限参数对nfs授权的客户端,进行权限控制的参数

3.nfs客户端地址形式

单一客户端 10.1.1.1 ---用的很少

允许整个网段访问 10.1.1.0/24 ---局域网,用的较多

授权整个域名客户端 nfs.baidu.cn ---用的很少

授权子域名客户端 *.baidu.cn ---用的少

4.nfs客户端权限参数

ro ---只读

rw ---读写

root_squash ---当nfs客户端以root账号访问nfs服务端共享目录数据的时候,把该root映射为nfs服务端的一个匿名用户,该用户的uid,gid会变成nfsnobody的信息

no_root_squash ---几乎和上面一样,但是不安全,因为会映射成root账户

all_squash ---所有nfs客户端的用户都映射为匿名用户,很安全,生产环境常用

sync ---数据同步写入到内存和磁盘,有点是保证内存数据安全,但效率太低

async ---数据先写入内存,再写入到磁盘,但是内存是易失性存储,所以掉电可能会出问题

七、nfs服务端的文件目录共享实践

1.前提

nfs服务是基于rpc的111通信端口,必须要先确保已经启动了rpc服务

如果rpcbind服务停止了,111端口也不会挂掉,因为centos7还提供了rpcbind.socket服务运行着

其实也就是保证rpcbind服务正常运行

[root@localhost virtual_user_dir]# systemctl restart rpcbind
[root@localhost virtual_user_dir]# systemctl status rpcbind

b0de97f1803e4fa0be3e2554f3c041b7.png

[root@localhost virtual_user_dir]# netstat -tunlp|grep 111

92ad4806b7884f84bc673b969bfbe5ce.png

2.nfs服务端部署

前面已经确保了rpcbind服务正确启动

现在需要创建nfs服务端共享的目录

mkdir -p /sharenfs
chmod -Rf 777 /sharenfs/

我们再创建两个文件

touch /sharenfs/file1
touch /sharenfs/file2

33f128a99f1f40e4b09d84d14bd73ed9.png

防止出现权限问题,把目录所有人调整为nfsnobody

chown -R nfsnobody.nfsnobody /sharenfs/

3.修改nfs服务端的配置文件,进行客户端授权

vim /etc/exports
/sharenfs *(insecure,rw,sync:)

a2e6d931affb45459f848741bc39bb26.png

4.挂载

[root@localhost sharenfs]# mount -t nfs 127.0.0.1:/sharenfs /mnt
[root@localhost sharenfs]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 3.6G     0  3.6G   0% /dev
tmpfs                    3.6G   20M  3.6G   1% /dev/shm
tmpfs                    3.6G   13M  3.6G   1% /run
tmpfs                    3.6G     0  3.6G   0% /sys/fs/cgroup
/dev/mapper/centos-root   47G  8.0G   40G  17% /
/dev/sda1               1014M  185M  830M  19% /boot
tmpfs                    727M   36K  727M   1% /run/user/1000
/dev/sr0                 4.4G  4.4G     0 100% /run/media/o/CentOS 7 x86_64
127.0.0.1:/sharenfs       47G  8.0G   40G  17% /mnt
[root@localhost sharenfs]# cd /mnt/
[root@localhost mnt]# ls
file1  file2
[root@localhost mnt]# 

9a76ebcaef854e5cb981e57dd57b0ba7.png

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

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

相关文章

Python:实现日历到excel文档

背景 日历是一种常见的工具,用于记录事件和显示日期。在编程中,可以使用Python编码来制作日历。 Python提供了一些内置的模块和函数,使得制作日历变得更加简单。 在本文,我们将探讨如何使用Python制作日历,并将日历输出到excel文档中。 效果展示 实现 在代码中会用到cale…

springboot actuator 常用接口

概述 微服务作为一项在云中部署应用和服务的新技术是当下比较热门话题,而微服务的特点决定了功能模块的部署是分布式的,运行在不同的机器上相互通过服务调用进行交互,业务流会经过多个微服务的处理和传递,在这种框架下&#xff0…

轻松驾驭!Prometheus 如何监控指标,快速定位故障

Prometheus 监控业务指标 在 Kubernetes 已经成了事实上的容器编排标准之下,微服务的部署变得非常容易。但随着微服务规模的扩大,服务治理带来的挑战也会越来越大。在这样的背景下出现了服务可观测性(observability)的概念。 在…

vue 记账清单

通过发送请求来从后台获取更改数据&#xff0c;需要用到钩子函数。 使用ECharts来渲染饼图。 在渲染函数中setOption动态更新饼图&#xff08;map&#xff09; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" />&l…

linux-防火墙

目录 一、防火墙概念 1.软件防火墙 2.iptables默认规则 3.iptables的五链 4.iptables动作 5.四表五链 6.iptables实例 一、防火墙概念 linux下防火墙一般分为软件防火墙、硬件防火墙 硬件防火墙&#xff1a;在硬件的级别实现防火墙过滤功能&#xff0c;性能高&#xf…

360智慧生活旗舰产品率先接入“360智脑”能力实现升级

10月25日&#xff0c;360智慧生活秋季新品及视觉云方案发布会在深圳召开。360智能硬件产品&#xff0c;诸如 360可视门铃、360智能摄像机、360行车记录仪、360儿童手表和家庭防火墙等&#xff0c;都在各自的行业有着举足轻重得地位&#xff0c;而这次发布的系列新品&#xff0c…

使用Golang策略和最佳实践高效处理一百万个请求

有效处理一百万个请求的策略与最佳实践 在不断发展的Web应用程序领域&#xff0c;处理大规模请求的能力是成功的关键因素。作为一名全栈开发人员&#xff0c;您可能熟悉Golang的效率和性能。在本文中&#xff0c;我们将深入探讨如何利用Golang来优雅地处理处理一百万个请求的挑…

【ICLR23论文】Can CNNs Be More Robust Than Transformers?

文章目录 0 Abstract1 Introduction2 Related Works3 Settings3.1 CNN Block Instantiations3.2 Computational Cost3.3 Robustness Benchmarks3.4 Training Recipe3.5 Baseline Results 4 Component Diagnosis4.1 Patchief Stem4.2 Large Kernel Size4.3 Reducing Activation …

安装 tensorflow==1.15.2 遇见的问题

一、直接安装 命令&#xff1a;pip install tensorflow1.15.2 二、换 阿里云 镜像源 命令&#xff1a;pip install -i http://mirrors.aliyun.com/pypi/simple tensorflow1.15.2 三、换 豆瓣 镜像源 命令&#xff1a;pip install http://pypi.douban.com/simple tensorflow1…

Android Glide判断图像资源是否缓存onlyRetrieveFromCache,使用缓存数据,Kotlin

Android Glide判断图像资源是否缓存onlyRetrieveFromCache&#xff0c;使用缓存数据&#xff0c;Kotlin import android.graphics.Bitmap import android.os.Bundle import android.util.Log import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity…

“第五十天” 机组--数据的表示

数据的表示和运算&#xff1a; 进位计数制&#xff1a; 对于我们现在使用的如十进制计数法&#xff0c;二进制计数法等&#xff0c;符号反映权重&#xff0c;比如十进制的0~9&#xff0c;9这个符号的权重和0是不一样的&#xff0c;而且现在的计数法符号所在位置也反映权重&am…

去雨去雪去雾算法运行问题汇总记录

在进行去雨去雪去雾算法过程中&#xff0c;遇到了一个问题&#xff0c;这在先前的电脑运行是都没有出现过&#xff0c;但在博主新买的电脑上却出现了&#xff0c;讲道理是有点小抑郁的。 RuntimeWarning: invalid value encountered in scalar divideret ret.dtype.type(ret …

基于Or-Tools的线性规划问题求解

画出可行域如图所示&#xff1a; Python调用ortools求解 导入求解器 # 导入(或包含)or - tools线性求解器包装器&#xff0c;这是MIP求解器和线性求解器的接口&#xff0c;如下所示 from ortools.linear_solver import pywraplp声明线性规划求解器 MPsolver is a wrapper …

js双向绑定

题目来源&#xff1a; 双向绑定_牛客题霸_牛客网 (nowcoder.com) JS37 双向绑定 描述 请补全JavaScript代码&#xff0c;要求如下&#xff1a; 1. 监听对象属性的变化 2. 当"person"对象属性发生变化时&#xff0c;页面中与该属性相关的数据同步更新 3. 将输入框中…

【C++面向对象】8. 继承

文章目录 【 1. 基本原理 】【 2. 派生类的访问权限 】【 3. 派生类继承得到的成员的权限 】【 4. 多继承 】 继承允许我们依据另一个类来定义一个类&#xff0c;这使得创建和维护一个应用程序变得更容易。这样做&#xff0c;也达到了 重用代码功能 和 提高执行时间 的效果。当…

【Qt之QSetting】介绍及使用

概述 QSettings类提供了一种持久的、与平台无关的应用程序设置存储功能。 用户通常期望一个应用能在不同会话中记住其设置&#xff08;窗口大小和位置&#xff0c;选项等&#xff09;。在Windows上&#xff0c;这些信息通常存储在系统注册表中&#xff1b;在macOS和iOS上&…

MySQL数据库 #4

文章目录 一、MySQL外键基本概念1. 表与表之间的关系1.一对多的表关系2.多对多3.一对一注意事项 2.多表查询1.子查询2.数据准备3.连表查询&#xff08;重点&#xff09; 二、多表查询练习题1.习题试题的SQL文件2.Navicata可视化软件1.连接数据库2 操作数据库3.导入备份4.查询数…

01. 板载硬件资源和开发环境

一、板载硬件资源 STM32F4VGT6-DISCOVERY硬件资源如下&#xff1a; (1). STM32F407VGT6微控制器有1M的FLASH存储器&#xff0c;192K的RAM&#xff0c;LQFP100封装 (2). 板上的ST-LINK_V2可以使用选择的方式把套件切换成一个独立的ST-LINK/V2来 使用&#xff08;可以使用SWD…

UML中类之间的六种主要关系

UML中类之间的六种主要关系: 继承&#xff08;泛化&#xff09;&#xff08;Inheritance、Generalization&#xff09;, 实现&#xff08;Realization&#xff09;&#xff0c;关联&#xff08;Association)&#xff0c;聚合&#xff08;Aggregation&#xff09;&#xff0c;组…