小白带你学习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

服务器

相关文章
|
27天前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
|
1月前
|
存储 安全 Linux
|
1月前
|
Linux Shell 数据安全/隐私保护
|
2月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
2月前
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
43 1
|
2月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
3月前
|
Linux
使用qemu来学习Linux的休眠和唤醒
使用qemu来学习Linux的休眠和唤醒
|
3月前
|
Linux
linux内核原子操作学习
linux内核原子操作学习
|
3月前
|
Ubuntu Linux
用crash工具学习Linux内核 —— 查看cgroup_roots
用crash工具学习Linux内核 —— 查看cgroup_roots
|
3月前
|
Ubuntu Linux 调度
Linux内核学习
Linux内核学习