【理论研究】漫谈传统IT基础设施09-存储(03)

2020年10月18日 阅读数:6
这篇文章主要向大家介绍【理论研究】漫谈传统IT基础设施09-存储(03),主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

本文欢迎转载,转载请注明出处和做者。git

存储类型

如同前面所讲的服务器同样,存储也有不少不一样维度的对比。
例如块存储、ISCSI、SAN,日常可能会听到不懂行的人拿这几个来对比,可是这根本不是一个维度上面的概念,根本没法进行对比。
如下咱们从几个维度来对存储类型进行对比。github

1-按照存储的链接方式

DAS:

特征:磁盘装在服务器内部,直连服务器的串行(SCSI)接口。(相似笔记本经过USB直接插入移动硬盘)sql

优势:部署简单,即插即用,价格便宜;数据库

缺点:只能单台设备使用,没法共享。服务器

NAS:

特色:磁盘阵列接入IP交换机,服务器经过IP网络访问存储;(相似Windows笔记本,文件夹右键属性建立共享文件夹,而后其余客户端能够经过\IP共享文件夹名称访问)微信

优势:磁盘阵列能够经过IP网络多台服务器共享访问,便宜;网络

缺点:传输数据速率较慢,对大量读写IO的支持较差。并发

SAN:

特色:磁盘阵列接入光纤交换机,服务器配置HBA卡接入光纤交换机访问存储。运维

优势:三者里面性能最优,IO读写性能最好,速度最快;nosql

缺点:价格较高,须要额外购置光纤交换机与HBA卡进行组网。

2-按照封装协议分类

SCSI协议:

对应DAS存储,硬盘经过IDE或SATA接口线链接服务器主板,数据经过SCSI协议进行封装,而后传输。

ISCSI协议(对应IPSAN网络):

对应NAS或是使用IP交换机的块存储,磁盘阵列设备有控制器,控制器上有NAS接口板(至关于以太网卡),经过以太网线与普通IP交换机互联,数据先经过SCSI协议封装,外层再封装IP协议,再通过IP网络传输。

FC协议(对应SAN网络):

对应SAN网络的存储(通常为块存储),磁盘阵列设备有控制器,控制器有光纤接口,经过光纤与光纤交换机互联,服务器须要特别配置HBA卡,链接光纤交换机访问磁盘阵列,数据经过FC协议进行封装。

FCOE协议:

对应SAN网络存储,但IP交换机采用具有FCoE功能的交换机,数据经过FC协议进行封装,外层再封装IP协议,再经过IP网络传输。

3-按照存储网络分类

4-按产品类型分类

一、集中式存储

集中式存储指采用单台/单套专用存储硬件,对数据进行集中存放,而后经过接入FC/IP网络的方式,共享给多台服务器同时访问的存储。此类存储的冗余一般经过该专用硬件里面各部分部件进行冗余配置来解决(如一般配置至少2个控制器,磁盘须要配置热备盘,磁盘组要作Raid,风扇、电源也冗余配置等)。(如IBM DS8000、EMC VMAX系统列 等)

优势是专用硬件,各部分部件冗余,性能强劲,能够经过增长扩展柜与磁盘扩容容量与性能。(Scale Up)

缺点是专用硬件价格昂贵,而且一般品牌绑定,不一样品牌之间的设备没法搭配扩容容量使用。甚至同品牌的不一样系列存储产品,都不会向下兼容。而就算再高端的系列产品,受限于控制器的性能,下面能够带的磁盘总数与扩展柜数,都是有限制的。所以一旦使用容量/性能超过最大值,就要弄一套新的存储,须要业务那边考虑如何将数据拆分到2套独立的存储中去。

集中式存储主要分如下两类:

0一、传统块存储:

基本对应SAN、IPSAN、DAS,指裸磁盘映射给服务器的操做系统,由操做系统对裸磁盘进行格式化(即安装文件系统)后才能使用。

优势是读写IO性能高,部分数据库必须采用这种方式的存储。缺点是不适合存储数据的共享,如Linux服务器的磁盘文件系统是EXT4,而Windows的服务器文件系统为NTFS,二者的磁盘数据没法共享。

0二、传统文件存储:

基本对应NAS存储,用普通服务器也能做为NAS使用,有专门的文件系统(NFS、CIFS),其余服务器只要IP可达,便可以使用其做为文件存储,访问的时候能看见一级级的文件目录,无需格式化便可以上传或下载文件。

优势是能够共享数据(Linux/Win的服务器都能访问),缺点是只适合存放文件(数据库不能用这种)以及IO性能差。

二、分布式存储

能够理解为服务器+DAS+软件:业界基本采用服务器装大硬盘,而后分布式部署,再经过几台管理服务器安装对象存储软件的方式实现。管理服务器有全部数据的元数据(即全部数据的属性,如大小,日期等),用户访问时先向管理服务器查询数据所在,而后直接访问实际存储数据的分布式对象存储服务器拿数据。

优势是分布式的服务器同时并行对外提供服务,提高了IO性能,理论上能够无限横向扩展。(Scale Out)

缺点是依赖于软件自己,操做、维护都有门槛,须要专门的技术人员去管理与运维。

分布式存储分别有分布式块存储、分布式文件存储、分布式对象存储。

对象存储:

对象存储适合存放一次上传,屡次读取,从不修改的数据。(例如如今移动互联网,你们抖音发的视频,微博、朋友圈发的文字、图片、视频,都有此属性)对象一旦上传是不能修改的。

对象存储与传统的存储不太同样,存放的东西叫对象。对象除了须要存储的数据自己,还包括一部分叫元数据的内容(用来描述数据自己属性的数据,例如最后修改时间,对象大小等)。对象存放在一个叫Bucket的存储空间下,没有文件系统、目录等概念,存储空间在对象存储内有惟一的全局ID,存储对象数据是经过KEY:VALUE的键值对的方式进行存储的。用户能够直接经过“存储空间对象KEY”的方式,经过网络读取与调用对象的VALUE。

与块存储与文件存储相比:

一、文件存储是树状索引式的,访问越深刻的目录,消耗的资源越大。对象存储使用key:value进行存储,读取开销很低。

二、块存储不方便进行数据共享,而文件存储能够将文件上传以后,其余用户有访问权限的状况下能够直接经过http/RestAPI等方式调用对象,从而达到数据共享。

三、NOSQL存储

nosql的全称是not-only-sql,以往经常使用的数据库都是关系型数据库,将业务逻辑经过抽象化的方式,具象成一堆具备关联关系的二维表,可是随着移动互联网的高速发展传统的关系型数据库在应付超大规模超大流量以及高并发的时候力不从心,特别是在SNS之类的应用,不少都是图片、视频等非结构化的数据。

NOSQL具备Key-Value存储、列式存储、对象存储等多种形式,在特定的应用场景可以提供更快的查询能力。
更多精彩内容,能够关注个人微信公众号Waiting的运维平常

本篇文章由一文多发平台ArtiPub自动发布