存储网络架构——DAS、NAS、SAN、分布式存储组网架构

2023-11-08 20:30

本文主要是介绍存储网络架构——DAS、NAS、SAN、分布式存储组网架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

物理存储的类型

存储网络架构

DAS直连式存储

NAS网络附加存储

SAN存储区域网络

分布式存储组网


物理存储的类型

存储的类型主要包含块存储、文件存储、对象存储、表格存储等

常用的为块存储和文件存储(文件存储可以直接进行文件读写,块存储需要进行文件系统格式化后才可以进行文件读写)

存储网络架构

按照服务器类型分为封闭系统和开放系统的存储

       封闭系统的存储:主要指的是大型计算机系统

       开放系统的存储:指基于Windows、Linux等操作系统的服务器

对于开放系统的存储按照存储的连接方式分为内置存储和外置存储

       内置存储:一般指直接和计算机的CPU或主板相连的存储,例如内存、高速缓存等

       外置存储:非内置存储就是外置内存

外置存储根据连接的方式分为DAS直连式存储和FAS网络接入存储

FAS网络接入存储又根据网络传输协议分为NAS网络接入存储、SAN存储区域网络

DAS直连式存储

DAS是一种存储设备与使用存储空间的服务器通过总线适配器和SCSI/FC线缆直接相连的技术

DAS的分类

内置DAS

存储设备通过服务器机箱内部的并行/串行总线与服务器相连接(常用IDE和SATA连接协议)

外置DAS

存储设备与服务器基于总线直接连接,通过FC、SASI协议进行通信

通过将JBOD(磁盘簇)做RAID,然后与服务器连接,提高数据安全性

DAS的优点

本地数据供给优势明显、成本低、见效快、系统可靠性高

DAS的缺点

存在数据传输距离有限、存储所能连接的设备数量有限、资源共享受限等问题

NAS网络附加存储

NAS是一种将存储设备连接到网络上,通过网络共享协议向主机提供数据和文件服务的一种存储网络架构

特点

文件系统由存储设备维护,用户访问文件系统,不直接访问底层存储

拥有所有主机上文件与底层存储空间的映射,所以此模式非常利于共享

NAS一般使用用户的业务网络来传输存储数据,可能会影响业务传输

NAS组网

最常用的网络共享协议

CIFS(Window)、NFS(Linux)、FTP、HTTP、NDMP等


SAN存储区域网络

SAN是一种高可用性、高性能的专用存储网络,用于安全的连接服务器和存储设备

特点

SAN向主机提供块存储,主机访问块存储(LUN),然后在其中创建文件,文件存储由主机端维护,主机与主机之间的文件系统没有同步

例如:当用户1与用户2访问存储数据时,对于用户2来说,他不知道用户1使用的哪些存储资源,那用户2就有可能写入资源覆盖了用户1的资源

为了使得主机之间使用了哪些存储资源进行同步,这个数据同步的而过程我们称为集群文件系统,是通过在主机上安装相应的软件来实现的;但是集群文件系统使用有限制:所支持主机同步的最大数量为128台主机左右

搭建专用于存储的网络,安全性高,成本高

SAN组网架构

最常用的SAN存储网络

IP SAN(主机通过IP网络可以获取到存储设备上的块存储)

FC SAN(主机通过FC网络可以获取到存储设备上的块存储)

FCoE SAN(RCoE网络是将FC帧封装到以太网种,实现在以太网基础设施上传输光纤信号的功能,成本降低)

IP SAN 与 FC SAN的区别


分布式存储组网

传统存储存在的问题

1、性能瓶颈

集中存储都是使用的专用的存储设备,而专用存储设备主要有控制单元和存储单元组成;控制单元中直接与外界交流的机头,会有数据吞吐量的限制,影响性能瓶颈;存储单元中RAID卡或总线的带宽都有一个上限,这个上限在一定程度上也会影响集中存储的性能瓶颈
2、不同厂家传统存储之间具有差异性,不方便同一管理

3、专用存储设备的成本高(远高于x86服务器价格)

4、传统的SAN、NAS扩展能力受限,不能满足大规模存储应用的需要

分布式存储基本概念--存储资源虚拟化

分布式存储是通过在服务器(称之为存储服务器)上安装相应软件(例如FusionStorage),将各个服务器上的HDD、SSD等存储介质资源虚拟成一个大的存储资源池,将分散的存储资源整合到一起,在保证可靠性的同时提供多种存储服务;在使用分布式存储时一般都会配合使用存储虚拟化

分布式存储组网架构

主要分为前端业务网络、管理网络和后端存储网络

前端业务/租户组网:用于分布式网络与用户网络对接,提供给租户使用

后端存储组网:        用于后端存储连接

管理网络:               与用户维护网络对接

分布式存储后端网络一般采用10GE,25GE和IB网络;前端网络一般采用GE,10GE,25GE网络

分布式存储如何保证数据的可靠性

传统的RAID在分布式存储中遇到了瓶颈,因此提出了多副本和纠错码等新的数据保护方式

1、多副本

多副本就是创建多个副本,也就是在保存数据时,会将一个数据拷贝多份完全一样的副本,然后分别存放在多个不同的节点上;当某个副本丢失时,可以通过另一个副本复制来恢复数据

一般创建双副本和三副本

2、纠错码(nDxP)

纠删码就是一种纠正数据丢失的校验码,通过校验的方式来恢复数据

nDxP:n个数据盘和x个校验盘

4D2P:4块存储数据,2块做校验

 双副本三副本纠删码(2D1P)
存储空间利用率50%33.33%D/D+P
整体IO效率50%33%D/D+P
最低配置要求23D+P
可靠性允许1块坏允许2块坏P块盘

特点

分布式存储通过存储虚拟化将存储设备进行抽象,以逻辑资源的方式呈现,统一提供全面的存储服务

可以在不同的存储形态或者设备类型之间提供统一的功能(即物理资源可以是服务器存储资源、专用存储设备的存储资源等,将其虚拟为统一的逻辑资源)

成本降低、横向扩展能力强、资源部利用率更高、管理方便

这篇关于存储网络架构——DAS、NAS、SAN、分布式存储组网架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/m0_49864110/article/details/130449735
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/372334

相关文章

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

SpringBoot项目中Redis存储Session对象序列化处理

《SpringBoot项目中Redis存储Session对象序列化处理》在SpringBoot项目中使用Redis存储Session时,对象的序列化和反序列化是关键步骤,下面我们就来讲讲如何在Spri... 目录一、为什么需要序列化处理二、Spring Boot 集成 Redis 存储 Session2.1

基于MongoDB实现文件的分布式存储

《基于MongoDB实现文件的分布式存储》分布式文件存储的方案有很多,今天分享一个基于mongodb数据库来实现文件的存储,mongodb支持分布式部署,以此来实现文件的分布式存储,需要的朋友可以参考... 目录一、引言二、GridFS 原理剖析三、Spring Boot 集成 GridFS3.1 添加依赖

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑