小白带你学习Linux的NFS存储(二十五)

简介: 小白带你学习Linux的NFS存储(二十五)

前言

NFS(Network File System)是一种网络文件系统协议,允许在不同计算机系统之间共享文件和目录。它允许远程计算机通过网络访问和操作共享的文件,就像它们本地存在一样。NFS通常用于在UNIX或类UNIX系统之间共享文件和目录。它基于客户端-服务器模型,其中一个或多个服务器提供文件共享,而客户端通过网络连接到服务器来访问和使用这些共享文件。NFS提供了一种透明的访问方式,使得远程文件就像本地文件一样进行读写、修改和执行操作。

一、概述

1、network filesystem

2、tcp/ip协议传输

3、rpc

远程过程调用

管理nfs端口

111    端口号

4、 nfs         2049

netstat -anptl

二、应用场景

用于集群架构中的数据存储

网站的静态文件(图片,文本、视频、音频)

用于局域网

三、安装

yum install -y rpcbind

yum install -y rpcbind

yum install -y nfs-utils

yum install -y nfs-utils

四、启动服务

1、先启动nfs服务

2、再启动rpcbind服务

如果报错,把这两个服务停掉,然后按照顺序启动

关闭防火墙 ,改为宽容模式

systemctl stop firewalld.service
setenforce 0

一般系统上都有这个服务只要是重启一下就OK了

systemctl restart nfs
systemctl restart rpcbind

vim /etc/exports 配置文件

vim /etc/exports

五、目录结构

1、/etc/nfs.conf

vim /etc/nfs.conf

nfs的主配置文件

2、/etc/exports

vim /etc/exports

存储配置文件

2.1语法

dirPath        IP/Prefix(argument1,argument2...)

2.2参数

rw:指定共享目录具备可读写权限

ro:指定只读

sync:立即同步

async:异步同步  数据存储信息-->内存中-->写入磁盘,容易造成数据丢失

all_squash: 将所有用户的操作文件全部映射为指定的用户nobody

no_all_squash: 所有用户操作文件是什么用户就保留什么用户权限,不转换用户身份

root_squash: 指定root用户需要转换身份

no_root_squash: root用户不需要转换身份

anonuid:用于指定用户身份映射到的用户的uid

anongid:用于指定用户组身份映射到的用户组的gid

六、命令解析

1、exportfs

exportfs

共享存储管理命令

2、showmount

-e:显示nfs共享目录

showmount -e 192.168.28.1

七、配置

vim  /etc/exports

vim  /etc/exports

/share        192.168.115.0/24(rw,sync,no_root_squash)

八、客户端访问

1、查看nfs服务器的共享目录

showmount -e 192.168.115.128(nfs服务器IP)

创建个共享目录进去

服务器看一眼

2、挂载

手动挂载

mount 192.168.115.128:/share /mnt

自动挂载

vim /etc/fstab

192.168.115.128:/share    /mnt    nfs4    defaults,_netdev    0 0

mount -a

九、实验

实验一

1、3台主机:1台服务器,2台客户端

服务器:拥有zhangsan、lisi两个用户

客户端1:拥有zhangsan用户

客户端2:拥有lisi用户

要求:实现用户家目录共享

服务器端设置共享文件

vim /etc/exports

创建用户zhangsan和lisi

查看nfs服务器的共享目录重新启动一下服务

systemctl  restart  nfs
showmount -e 192.1668.28.1

去第一台客户机查看一下创建用户

useradd zhangsan
systemctl  restart  nfs
showmount -e 192.1668.28.1
mount 192.168.28.1:/home/zhangsan /home/zhangsan
cd /home/zhangsan/
touch 1

回主机查看一下

回到客户机2   创建lisi用户

回服务器

实验二  

 2、3台主机:1台服务器,2台客户端

     服务器:将/test目录共享

     客户端1、客户端2:在/mnt目录下实现资源共享

服务器设置

回客户端1

回客户端三

看服务器和客户机l

服务器

相关文章
|
2天前
|
存储 Linux
Linux的学习之路:16、文件(3)
Linux的学习之路:16、文件(3)
28 0
|
2天前
|
Linux C语言 C++
Linux的学习之路:14、文件(1)
Linux的学习之路:14、文件(1)
25 0
|
2天前
|
Linux 开发工具 C语言
Linux的学习之路:7、yum与git
Linux的学习之路:7、yum与git
15 0
|
2天前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
15 0
|
2天前
|
域名解析 Unix Linux
AIX上如何正确挂载Linux 的nfs共享目录分享篇
AIX上如何正确挂载Linux 的nfs共享目录分享篇
|
2天前
|
自然语言处理 Java Linux
【Linux】开始学习进程替换吧!
通过学习进程替换,我们可以体会到多语言混搭的快乐,可以从C语言直接蹦到python ,也可以从c++里运行java代码。是不是很厉害!这是通过调度多个进程的效果,联系我们之前学习的进程,进程控制等概念。我们可以想要运行其他代码可以通过创建子进程来实现,但是这样也肯定是同一种语言,如果想要运行其他语言,那是不是有种方法可以调度一个进程来当做子进程呢??? 我们开始今天的学习吧!
11 0
|
2天前
|
存储 Kubernetes 数据安全/隐私保护
|
2天前
|
Ubuntu 算法 Linux
嵌入式Linux的学习误区
该文指出了学习嵌入式Linux开发的两个常见误区。一是过分专注于学习桌面或服务器版Linux,而非关注嵌入式开发本身,实际上只需熟悉基本操作即可。二是试图在没有基础的情况下直接阅读Linux内核源代码,这是不切实际的,应先建立基础知识再进行源码学习。文章还提到了在嵌入式系统中获取和处理屏幕数据的示例,包括使用gsnap工具将framebuffer数据转为图像,以及涉及的交叉编译过程。
11 0
|
2天前
|
编解码 Linux 数据安全/隐私保护
【Linux学习】​​学习Linux的准备工作和Linux的基本指令
【Linux学习】​​学习Linux的准备工作和Linux的基本指令
|
2天前
|
Linux Shell 虚拟化
【Linux学习】Linux 的虚拟化和容器化技术
【Linux学习】Linux 的虚拟化和容器化技术