存储和NFS共享

news/2024/9/24 11:23:43/

存储类型

存储类型分为三种

  • 直连式存储:Direct-Attached Storage,简称DAS
  • 网络附加存储:Network-Attached Storage,简称NAS
  • 存储区域网络:Storage Area Network,简称SAN

DAS:存储和主机是直连的,家用电脑,服务和硬盘直连,存储和主机在一台机器

SAN:有一定距离,主机核存储设备距离先对较远 ,只提供空间不提供文件系统,管理等其他软件服务,只相当于多了一块硬盘

NAS:存储在远程,文件系统也在远程,这块空间,你可以直接访问上面的文件,你只能看到文件,文件共享NFS  FTP 等都是NAS

三种存储架构的应用场景

  • DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
  • NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
  • SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂

ftp文件传输协议

ftp 工作原理

主动模式:

命令(控制):客户端:随机port--->服务器:21/tcp

数据:客户端:随机port<---服务器:20/tcp

首先 客户机会随机产生一个端口号,主动去链接 服务器的tcp21端口,如果服务器是主动模式那么服务器会主动开启 20端口和客户端相连,然后再传输数据

被动模式:

命令(控制):客户端:随机port--->服务器:21/tcp

数据:客户端:随机port --->服务器:随机port /tcp

首先 客户机会随机产生一个端口号,主动去链接 服务器的tcp21端口 , 如果服务器是被动模式,那么服务器会产生一个随机的端口早被动等待客户机来连接后再发送数据

协议:tcp

端口号:20 2121是命令端口 20是数据端口

ftp服务端软件:    vsftpd     filezilla

ftp客户端:   ftp

可以登录用户

1匿名用户:  anonymous  或者   ftp

2系统用户:在 /etc/passwd 中

3虚拟用户: 只可以用来登录ftp

NFS简介

NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限 NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。 通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议

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

NAS存储:

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(远端过程调用:自己没有这种功能,调用别人的功能)

NFS 也是 NAS 存储 设备必然支持的一种协议

以完成远 程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,

前者用于 NFS 共享发布和访问,后者用于 RPC 支持。

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

特点:

采用TCP/IP传输网络文件

安全性低

简单易操作

适合局域网环境

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

NFS软件介绍

软件包:nfs-utils(包括服务器端和客户端)

相关软件包:rpcbind(必须)

nfs端口号不固定

RPC端口号111

NFS服务主要进程:

  • rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
  • rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
  • rpc.lockd 非必要,管理文件锁,避免同时写出错
  • rpc.statd 非必要,检查文件一致性,可修复文件

日志:/var/lib/nfs/

NFS共享配置文件格式

/dir             主机1(opt1,opt2)          主机2(opt1,opt2)...

共享目录      共享给哪个主机

格式说明:

  • 以#开始的行为注释
  • 主机格式

anonymous:表示使用*通配所有客户端

单个主机:ipv4,ipv6,FQDN

IP networks:两种掩码格式均支持

172.18.0.0/255.255.0.0

172.18.0.0/16

wildcards:主机名通配,例如:*.magedu.com,IP不可以

netgroups:NIS域的主机组,@group_name

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

ro,rw 只读和读写

async 异步

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

sync(1.0.0后为默认)同步

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

压缩权限

root_squash (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS

7以前的版本为nfsnobody

no_root_squash 远程root映射成NFS服务器的root用户

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

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

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

/data/nfs1        *(rw,all_squash,anonuid=1002,anongid=1002)

NFS工具

exportfs

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

exportfs -v       #查看当前共享信息

exportfs -r       #重新加载服务配置

 showmount

showmount用以查询NFS网络服务器的基本信息

showmount -e                          // 查看本机发布的NFS共享目录

showmount -e 服务器的ip        //查看NFS服务器上哪些目录被共享

showmount -e 172.16.235.55  //显示IP地址为172.16.235.55的NFS服务器上的所有共享目录

实验

实验内容: 把7-1服务端的share文件夹共享到7-2客户端

实验环境:

服务端:172.16.88.4

客户端:172.16.88.3

实验步骤:

服务器配置:

systemctl stop firewalld                          //关闭防火墙和selinux

setenforce 0

yum install nfs-utils.x86_64-y                 //安装nfs-utils软件包

mkdir /share                                           //新建共享目录/share

vim /etc/exports                                    //编辑nfs配置文件

systemctl start  nfs    //开启服务

exportfs  -r               //重新读取配置

exportfs -v               //查看NFS共享目录的详细信息

客户端设置:

systemctl stop firewalld //关闭防火墙和selinux

setenforce 0

yum install nfs-utils.x86_64-y

showmount -e 172.16.88.4             //显示IP地址为172.16.88.4的NFS服务器上的所有共享目录

远端用户永久挂载

vim/etc/fstab
172.16.88.4:/share    /mnt    nfs    defaults,_netdev(如果网络不通,就不挂载了) 0   0


http://www.ppmy.cn/news/1461251.html

相关文章

vue+sortablejs来实现列表拖拽——sortablejs的使用

sortablejs官网:https://sortablejs.com/ 最近在看form-builder组件&#xff0c;发现里面有用到sortablejs插件&#xff0c;用于实现拖拽效果。 但是这个官网中的配置&#xff0c;实在是看不懂&#xff0c;太简单又太复杂&#xff0c;不实用。 下面记录一下我的使用&#xff…

C++——超简单登录项目

程序入口文件 #include <QtWidgets/QApplication> // 包含登录页面头文件 #include "DlgLogin.h"int main(int argc, char *argv[]) {QApplication a(argc, argv);// 程序入口// 调页面起来//DlgMain w;//w.show();// 换成登录页面DlgLogin w;w.show();return…

飞天使-k8s知识点30-kubernetes安装1.28.0版本-使用containerd方式

文章目录 安装前准备containerd 配置内核参数优化安装nerdctl以上是所有机器全部安装开始安装初始化&#xff0c;这步骤容易出问题&#xff01;安装flannel 结果展示 安装前准备 内核升级包的md5,本人已验证&#xff0c;只要是这个md5值&#xff0c;放心升级 1ea91ea41eedb35c…

泰迪科技2024中职大数据实训室方案解读

中职在大数据专业建设所遇到的困难 数据、信息安全、人工智能等新信息技术产业发展迅猛&#xff0c;人才极其匮乏&#xff0c;各个中职院校纷纷开设相应的专业方向。但是&#xff0c;绝大多数院校因为师资和积累问题&#xff0c;在专业建设规划、办学特色提炼、创新教学模…

微信加粉计数器

1.采用非注入式开发&#xff0c;支持无限多开 2.每个账号都有独立的分组&#xff0c;实时远程网页数据分享 3.后台功能强大&#xff0c;操作简单&#xff0c;自动去重复&#xff0c;准确计数分秒不差

工厂策略模式

工厂模式用于干掉大量的if-else &#xff0c;策略模式用于挪去臃肿的业务代码&#xff0c;还可以进一步升级加上模板模式&#xff0c;以及抽取成Starter public interface HandlerStrategy extends InitializingBean {void findSyncOrders(); }public class SalesPlatformFact…

使用双指针解决问题题集(二)

1. 有效三角形的个数 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 示例 2: 输入: nums [4,2,3,4] 输出: 4 题解&a…

Linux进程控制——Linux进程等待

前言&#xff1a;接着前面进程终止&#xff0c;话不多说我们进入Linux进程等待的学习&#xff0c;如果你还不了解进程终止建议先了解&#xff1a; Linux进程终止 本篇主要内容&#xff1a; 什么是进程等待 为什么要进行进程等待 如何进程等待 进程等待 1. 进程等待的概念2. 进…