存储概述和相关名词
集群存储简介
在集群里,一组独立的节点或主机可以像一个系统一样步调一致地工作。它们不仅可以共享公用的存储阵列或者SAN(存储区域网文件系统),也可以拥有只有一个命名空间的公用文件系统。
集群存储是将多台存储设备中的存储空间聚合成一个能够给应用服务器提供统一访问接口和管理界面的存储池,应用可以通过该访问接口透明地访问和利用所有存储设备上的磁盘,可以充分发挥存储设备的性能和磁盘利用率。数据将会按照一定的规则从多台存储设备上存储和读取,以获得更高的并发访问性能。
存储的类型
- 块存储;
- 分布式存储;
- 网络存储;
- 文件存储;
- 块设备;
- 云存储;
- 存储桶;
- 对象存储;
- DAS;
- SAN
存储分类 - 网络拓扑(用于存储的网络技术)
1. DAS(Direct-Attached Storage 直接附加存储)
直接附加存储与服务器主机之间的连接通道通常采用SCSI连接,随着服务器CPU的处理能力越来越强,存储硬盘空间越来越大,阵列的硬盘数量越来越多,SCSI通道将会成为IO瓶颈;服务器主机SCSI ID资源有限,能够建立的SCSI通道连接有限。
直接附加存储依赖服务器主机操作系统进行数据的IO读写和存储维护管理, 数据备份和恢复要求占用服务器主机资源(包括CPU、系统IO等),数据流需要回流主机再到服务器连接着的 磁带机(库),数据备份通常占用服务器主机资源20-30%,因此许多企业用户的日常数据备份常常在深夜或业务系统不繁忙时进行,以免影响正常业务系统的运行。直接附加存储的数据量越大,备份和恢复的时间就越长,对服务器硬件的依赖性和影响就越大。
直接附加存储是指将存储设备通过SCSI接口直接连接到一台服务器上使用。DAS购置成本低,配置简单,使用过程和使用本机硬盘并无太大差别,对于服务器的要求仅仅是一个外接的SCSI口,因此对于小型企业很有吸引力。
直接附加存储是之后的存储技术的基石。
说明: 直接附加存储,等同于存储设备通过数据线、光缆、SATA 直连主机
优点:
- 技术简单
- 传输效率最高
缺点:
- 存储设备与主机相互绑定,不利于后期扩展与共享(服务器本身容易成为系统瓶颈)
- 数据备份操作复杂。
2. NAS(Network Attached Storage 网络附加存储)
network attached storage网络附加存储(NAS)是连接到计算机网络的文件级计算机数据存储服务器,其提供对异构客户端组的数据访问。NAS专门用于通过硬件,软件或配置提供文件。NAS系统是联网设备,包含一个或多个存储驱动器,通常安排在逻辑冗余存储容器或RAID中。网络附加存储消除了从网络上的其他服务器提供文件服务的责任。它们通常使用网络文件共享协议(如NFS,SMB或AFP)提供对文件的访问。
NAS网络存储知识:NAS实际是一种带有瘦服务器的存储设备。这个瘦服务器实际是一台网络文件服务器。NAS设备直接连接到TCP/IP网络上,网络服务器通过TCP/IP网络存取管理数据。NAS作为一种瘦服务器系统,易于安装和部署,管理使用也很方便。同时由于可以允许客户机不通过服务器直接在NAS中存取数据,因此对服务器来说可以减少系统开销。NAS为异构平台使用统一存储系统提供了解决方案。由于NAS只需要在一个基本的磁盘阵列柜外增加一套瘦服务器系统,对硬件要求很低,软件成本也不高,甚至可以使用免费的LINUX解决方案,成本只比直接附加存储略高。
网络拓扑
说明: 网络附加存储,通过网络在存储主机与使用主机之间传输数据
优点
- 技术相对简单(不需要格式化成文件系统,就可以直接使用)
- 不要求存储设备直连本机(与 DAS 相比),只需在局域网下即可(FTP 是可以在公网中使用)
缺点:
- 存储速率较慢,容易受到网络上其他流量的影响,当网络上有其他大数据流量时会严重影响系统性能。因为搭建NAS是为了给多个人使用,这样就造成存储空间和网络宽带传输效率均会被平分。
- 存储数据通过普通数据网络传输,容易产生数据泄密等安全问题。 存储只能以文件方式访问,而不能像普通文件系统一样直接访问物理数据块,因此会在某些情况下严重影响系统效率,比如大型数据库就不能使用NAS。
- 不容易进行扩展。
3. SAN (Storage Area Network 存储区域网络)
存储区域网络(Storage Area Network SAN),即通过特定的互连方式连接的若干台存储服务器组成一个单独的数据网络,提供企业级的数据存储服务。 SAN 是一种特殊的高速网络,连接网络服务器和诸如大磁盘阵列或备份磁带库的存储设备,SAN 置于 LAN 之下,而不涉及 LAN。利用 SAN,不仅可以提供大容量的存储数据,而且地域上可以分散,并缓解了大量数据传输对于局域网的影响。SAN 的结构允许任何服务器连接到任何存储阵列,不管数据置放在哪里,服务器都可直接存取所需的数据。
SAN网络存储知识:SAN实际是一种专门为存储建立的独立于TCP/IP网络之外的专用网络。目前一般的SAN提供2Gb/S到4Gb/S的传输数率,同时SAN网络独立于数据网络存在,因此存取速度很快,另外SAN一般采用高端的RAID阵列,使SAN的性能在几种专业存储方案中傲视群雄。SAN由于其基础是一个专用网络,因此扩展性很强,不管是在一个SAN系统中增加一定的存储空间还是增加几台使用存储空间的服务器都非常方便。通过SAN接口的磁带机,SAN系统可以方 便高效的实现数据的集中备份。SAN作为一种新兴的存储方式,是未来存储技术的发展方向。
iSCSI 客户机会发现标配两块网卡,主要是为了便于后期的利用,例如:聚合。
网络拓扑上的网络就分为了两个部分,一个是业务网络,一个是存储区域网络。
说明: 存储区域网络,将生产网络与存储网络进行隔离,有效增加各部效率,减轻网络设备压力,适合大并发业务。
优点
存储安全性较高 存储速率较高 缺点
造价昂贵。不论是SAN阵列柜还是SAN必须的光纤通道交换机价格都是十分昂贵的,就连服务器上使用的光通道卡的价格也是不容易被小型商业企业所接受的; 技术难度相对较高(相对于NAS,DAS),需要使用专门的存储技术; 需要单独建立光纤网络,异地扩展比较困难;
4. DAS,NAS,SAN特性对比
集群存储 - 存储技术(实现存储的技术分类)
1. 块存储
常见设备
优点
- 可用通过 Raid、LVM 等简单技术实现高可用
- 可独立使用
- 简单方便
缺点:
- 不利于在多台网络设备之间进行共享
- 不利于不同操作系统主机间的数据共享:另外一个原因是因为操作系统使用不同的文件系统,格式化完之后,不同文件系统间的数据是共享不了的。例如一台装了WIN7/XP,文件系统是FAT32/NTFS,而Linux是EXT4,EXT4是无法识别NTFS的文件系统的。就像一只NTFS格式的U盘,插进Linux的笔记本,根本无法识别出来。所以不利于文件共享。
2. 文件存储、网络存储
常见设备
Samba 是Linux 和 Windows共享,是跨平台的,但是属于是局域网技术。
FTP 是Linux 和 Windows共享,是跨平台的,可以应用于局域网和公网。
NFS 是只能用于 Linux 和 Unix 共享,可以应用于局域网和公网。
优点:
-
构建成本资金较低
-
可在不同主机之间共享存储
缺点:
- 读写效率低,传输效率慢
- 文件存储数据会被分为两部分:超级块,数据块。
超级块:存储的都是文件名,文件大小,属主属组,以及时间(访问时间,修改时间,改变时间)
数据块:存储的是文件的真实内容
3. 对象存储、分布式存储、存储桶
常见设备
优点
- 读写效率高
- 可在不同主机之间共享存储
容器无限大:可以到 EB 级别
缺点
- 造价昂贵
- 技术实现难度较高
- 对象存储则可以将数据的元数据信息单独存放到一台机器,然后将文件的真实数据内容存放到不同的机器。
访问对象存储的过程简述:
当用户提交访问到元数据信息,会告诉用户要去寻找的位置(例如:11的机器 中的第 264个分区中[ 存储块 ]。); 用户收到后,在去请求和访问到 11的机器的 第 264个分区的数据; 这样就得到了相关的数据内容。
4 常见的一些存储名词以及背后使用技术对应关系
文件存储、网络存储 FTP、SAMBA、Apache、Nginx
对象存储、分布式存储、云存储 CEPH、MooseFS、RHCS、ClusterFS
块存储 ISCSI
网络拓扑 + 存储技术(存储实现技术与网络存储之间的联系)
块存储 + DAS 结构描述: 块存储直连主机设备是最常见的存储方式,也是后边所有存储方式的基石。是标配,也是一般电脑和服务器使用最常见的方式。
结构拓扑
块存储 + NAS
结构描述: 将块设备通过局域网络共享至其它使用主机节点,提升空间利用率,便于后期扩展。
结构拓扑
传统方式:应用程序 → SCSI或者光纤驱动 → 主机控制器 → 光纤或者SCSI母线 → Storage存储设备。(传输的长度有限)
网络存储方式:应用程序 → SCSI驱动 → iSCSI驱动(互联网) → TCP协议 → 网卡驱动 → 网卡适配器 → IP网络 → Storage存储设备。
块存储 + SAN
结构描述: 将块设备通过局域网络共享至其它使用主机节点,提升空间利用率。并且将用户访问网络 与存储网络相隔离,利用提升存储效率以后后期维护扩展
结构拓扑
文件存储 + NAS
NFS:Network File System
结构描述: 利用共享服务将文件通过网络传输至使用设备,便于文件在多台机器之间的共享操作
结构拓扑
用的技术越简单,出现问题的几率就越小,出了问题的解决方法也比较简单。
对象存储 + SAN
MFS:MooseFS 驯鹿,RHCS:红帽集群套件,Ceph,GlusterFS。
结构描述: 利用分布式文件存储结构提升文件读写并发效率,并且将用户访问网络与存储网络相隔离, 利用提升存储效率以后后期维护扩展
结构拓扑
企业中是需要确定存储技术的选型和存储网络的选型,两者相结合。
传统的存储方式问题
-
存储处理能力不足
- 传统的 IDE 的值是100次/秒,SATA 固态硬盘 500次/秒,NVMe 固态硬盘达成 2000-4000次/秒,即使硬盘的IO能力再大数十倍,难道能够抗住网站访问高峰期的数十万,数百万甚至数亿用于的同时访问么?这同时还要受到主机网络IO能力的影响限制。
-
存储空间能力不足
- 单块磁盘的容量增大,也无法满足用户的正常访问所需的数据容量限制。
-
单点问题
- 单主机存储数据存在单点故障 SPOF(Single point of failure)问题
常见对象存储解决方案
对象存储是现代数据存储的一种重要形式,广泛应用于各种场景,如云存储、大数据分析等。Ceph、GlusterFS、TFS和MinIO是四种广泛使用的对象存储方案。下面我们将从技术架构、性能、可用性和可扩展性等方面对这些方案进行详细对比。
Ceph
Ceph是一个分布式对象存储系统,采用CRUSH算法实现数据分布和负载均衡。其架构包括监视器、对象存储设备和元数据服务器。Ceph具有高性能、高可用性和可扩展性,支持多种数据访问接口,如对象存储接口、块设备接口和文件系统接口。此外,Ceph还提供集中式管理界面,支持自动化的数据迁移和数据恢复。
GlusterFS
GlusterFS是一个分布式文件系统,采用基于卷的架构。其架构包括一个管理节点和多个存储节点,每个存储节点都可以独立运行。GlusterFS易于部署和管理,但在性能方面相对较弱,因为其存储节点之间的通信开销较大。此外,GlusterFS的数据一致性和冗余机制相对简单,可能存在数据丢失或损坏的风险。
TFS
TFS(Tencent File System)是腾讯云开发的一种分布式文件系统。它采用高可用、高性能、高扩展的设计理念,能够满足大规模云存储和大数据分析的需求。TFS通过多副本和数据条带化技术提供数据冗余和读写性能,并采用智能分片算法实现数据的均匀分布和负载均衡。此外,TFS还提供丰富的API接口和工具,方便用户进行数据管理和操作。
MinIO
MinIO是一个基于Apache License V2.0开源协议的对象存储服务,兼容亚马逊S3云存储服务。MinIO适用于存储大容量非结构化的数据,如图片、视频、日志文件等。它是一个轻量级的服务,可以很方便地与其他应用结合使用。MinIO默认不计算MD5,支持Windows系统,并具有Web管理界面。
总结:
Ceph、GlusterFS、TFS和MinIO各具特点,适用于不同的应用场景。在选择对象存储方案时,需要根据实际需求进行权衡。如果需要高性能、高可用性和可扩展性,Ceph是一个不错的选择;如果需要易于部署和管理的分布式文件系统,GlusterFS是一个不错的选择;如果需要满足大规模云存储和大数据分析的需求,TFS是一个不错的选择;如果需要兼容亚马逊S3云存储服务并适用于存储大容量非结构化的数据,MinIO是一个不错的选择。当然,实际应用中还需要根据具体情况进行细致的评估和测试,以确保所选方案能够满足实际需求并获得最佳的性能表现。