第十章 云存储技术
1.云存储概述
云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管(hosting)公司运营大型的数据中心,需要数据存储托管的人,则透过向其购买或租赁存储空间的方式,来满足数据存储的需求。数据中心营运商根据客户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池(storage pool)的方式提供,客户便可自行使用此存储资源池来存放文件或对象。实际上,这些资源可能被分布在众多的服务器主机上。
云存储这项服务乃透过Web服务应用程序接口(API), 或是透过Web化的用户界面来访问。
存储历史:
存储技术是计算机的核心技术之一,计算机的存储技术(如硬盘、网络存储、虚拟化存储等技术)的总体趋势是存储容量和I/O速度不断增加。随着信息技术的发展,存储行业涌现出新的存储技术。重要历史如下:
第一台硬盘存储器。
世界上第一台硬盘存储器IBM 350RAMAC诞生,当时它的总容量只有5MB,但总共用了50个直径为24英寸的磁盘。
RAID技术出现。
SAN技术出现。
2.存储的分类
根据服务器类型可以将存储分为封闭系统的存储和开放系统的存储,开放系统的存储又分为内置存储和外挂存储。其中,外挂存储可以分为直连式存储(DAS)和网络存储(FAS)。根据组网形式不同,当前3种主流存储技术或存储解决方案为直连式存储(DAS)、存储区域网络(SAN)、网络接入存储(NAS)。
下面对DAS、NAS、SAN的比较:
直接连接存储是指将存储设备通过SCSI接口直接连接到一台服务器上使用。存储介质直接挂接在内部总线上,数据存储是整个服务器结构的一部分。
DAS的优点
安装简单,存储设备便宜。
DAS的缺点
不具备灾备能力,仅适合小规模(家用,小企业使用)。
不适合对性能要求高的场景。
NAS设备本质就是将本地主机的文件系统迁移到IP网络的设备上,多个用户节点可以共用一个NAS上的同一个文件系统。
NAS其实是一个网络上的瘦服务器,对用户提供文件系统访问的能力,管理存储介质和负责数据备份。平常我们在x86的服务器上开启samba服务,然后在windows上映射一个盘符到samba服务器上就可以像使用本地存储一样使用服务器上的存储,这时,这台服务器也可以看做是一台NAS服务器。
FTP服务器算不算NAS?不算, 因为客户访问FTP服务器上的文件,还需要先将完整文件下载到本地的文件系统目录里面。而NAS上的网络文件系统是可以不依赖本地文件系统,直接挂载使用的(例如目前常用的NFS, CIFS文件系统)。
SAN是通过专用高速网将一个或多个网络存储设备和服务器连接起来的专用存储系统。可以把SAN理解成一个网络,这个网络里包含着各种各样的元素,比如磁盘阵列,FC交换机。
SAN的类型划分
SAN可以分为FC_SAN和IP_SAN两种类型。
FC_SAN
SAN原本只有FC-SAN一种,一般说的SAN默认就是指FC_SAN。它使用光纤通道传输数据,其采用的是SCSI协议。
IP_SAN
IP_SAN是FC_SAN后产生的,它采用通过IP网络传输数据,采用iSCSI传输标准传输SCSI协议数据。FC_SAN与IP_SAN的对比
FC_SAN优势:
传输带宽高,目前有1,2,4和8Gb/s四种标准,主流的是4和8Gb/s
性能稳定可靠,技术成熟,是关键应用领域和大规模存储网络的不二选择。
FC_SAN缺点:
成本极其高昂,需要光纤交换机和大量的光纤布线;
维护及配置复杂,需要培训完全不同于LAN管理员的专业FC网络管理员。
IP_SAN优势:
成本低廉,购买的网线和交换机都是用以太网,甚至可以利用现有网络组建SAN;
部署简单,管理难度低;
万兆以太网的出现使得IP SAN在与FC SAN竞争时不再逊色于传输带宽;
基于IP网络的天生优势使得IP SAN很容易实现异地存储、远程容灾等穿越WAN才能时间的技术。
IP_SAN缺点:
IP_SAN在性能各方面FC_SAN还是有差别的。专有领域还是FC_SAN的天下。
DAS里,操作系统,文件系统,存储是一个整体。
NAS里,把文件系统和存储给分离出去了。
在SAN里, 仅仅把存储给独立出去,文件系统依然在访问端。
3.RAID
Raid0模式 总容量=磁盘数量*磁盘容量
优点:在raid0状态下,存储数据被分割成两部分,分别存储在两 硬盘上,此时移动硬盘的理论存储速度是单块硬盘的2倍,实际容量等于两块硬盘中最小的一块的2倍。
缺点:任何一块硬盘发生故障,整个raid上的数据将不可恢复。备注:存储高清电影比较适合。
raid1模式 总容量=(磁盘数量/2)*磁盘容量
优点:此模式下,两块硬盘互为镜像。当一个硬盘受损时,换上一块全新的硬盘(大于或者等于原来硬盘容量)替代原硬盘即可自动恢复资料和继续使用,移动硬盘的实际容量等于较小一块硬盘的容量,存储速度与单块硬盘相同。raid 1的优势在于任何一块硬盘出现故障时,所存储的数据都不会丢失。
缺点 :该模式可使用的硬盘实际容量比较小,仅仅为两颗硬盘中最小硬盘的容量。
备注:非常重要的资料,如数据库,个人资料,是万无一失的存储方案
raid 3 总容量=(磁盘数量—1)*磁盘容量
它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。
raid 5模式 总容量=(磁盘数量—1)*磁盘容量
raid5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到raid5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当raid5的一个磁盘数据发生损坏后,利用剩下的数据和相对应的奇偶校验信息去恢复被损坏的数据。
raid 6 总容量=(磁盘数量—2)*磁盘容量
RAID 6与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。
raid 10 总容量=(磁盘数量/2)*磁盘容量
raid10至少需要块硬盘才能完成。把两块硬盘组成一个raid1,然后两组raid1组成一个raid0。虽然raid10方案造成50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性。
raid 50 总容量=(磁盘数量—1)*磁盘容量
RAID50是RAID5与RAID0的结合。此配置在RAID5的子磁盘组的每个磁盘上进行包括奇偶信息在内的数据的剥离。每个RAID5子磁盘组要求三个硬盘。RAID50具备更高的容错能力,因为它允许某个组内有一个磁盘出现故障,而不会造成数据丢失。而且因为奇偶位分部于RAID5子磁盘组上,故重建速度有很大提高。优势:更高的容错能力,具备更快数据读取速率的潜力。需要注意的是:磁盘故障会影响吞吐量。故障后重建信息的时间比镜像配置情况下要长。
4.磁盘热备原理
那个热备盘相当于帮Raid阵列多做多个备份,如果Raid陈列里其中一个盘坏了,这个热备盘就会顶替Raid里的那个坏盘,同时利用异或校验算法,把坏盘上面的数据原样做出来并存储在热备盘中。这样一来就等于Raid没受到损坏,然后你再找个一个同样的盘把坏盘替换掉,Raid和热备盘的状态又正常了!
5.数据分级存储的概念
数据分级存储即把数据存放在不同类别的存储设备中,通过分级存储管理软件实现数据实体在存储设备之间的自动迁移;根据数据的访问频率、保留时间、容量、性能要求等因素确定最佳存储策略,从而控制数据迁移的规则。分级存储的优点:
1)最大限度地满足用户需求。
2)减少总体存储成本。
3)性能优化。
4)改善数据可用性。
5)数据迁移对应用透明
数据存储一般分为线(on-line)存储、近线(near-line)存储和离线(off-line)存储三种存储方式。
6.云存储的概念与技术原理
目前业界普遍认同云存储的两种主流技术解决方案:分布式存储和存储虚拟化。
分布式存储主要包括分布式块存储、分布式文件存储、分布式对象存储和分布式表存储4种类型。
分布式块存储。简单来说就是提供了块设备存储的接口。用户需要把块存储卷附加到虚拟机(或者裸机)上后才可以与其交互。这些卷都是持久的,它们可以被从运行实例上 解除或者重新附加而数据保持完整不变。
特点:简单。
应用场景:用来提高I/O技能
分布式文件存储。专为企业级应用定制的分布式文件存储系统,采用分布式架构实现,整体系统无单点,无性能瓶颈,支持灵活弹性扩容,支持目录级配额管理,智能化运维界面。
为企业各类应用提供替代传统NAS、FTP、POSIX新一代文件存储解决方案。有效为企业数据存储提升性能,提高可用性,降低运维成本。
分布式对象存储。采用分布式集群架构实现,为企业级海量非结构化数据提供数据存储解决方案。提供Amazon S3、OpenStack Swift标准对象存储协议,标准HTTP负载做到无单点,无瓶颈的高性能、弹性扩容、高可用的对象存储方案。可广泛用于企业网盘、影像数据、互联网应用、数据备份等各种非结构化数据存储场景。对象维护自己的属性,简化了存储系统的管理任务,增加了灵活性。
对象存储系统的组成部分
1)对象:对象存储的基本单元。
2)对象存储设备:对象存储系统的核心。
3)文件系统:对用户的文件操作进行解释,并在元数据服务器和对象存储设备间通信,完成所请求的操作。
4)元数据服务器:为客户端提供元数据。
5)网络连接:对象存储系统的重要组成部分。
分布式表存储。是阿里云自研的NoSQL多模型数据库,提供海量结构化数据存储以及快速的查询和分析服务。表格存储的分布式存储和强大的索引引擎能够支持PB级存储、千万TPS以及毫秒级延迟的服务能力。
7.对象存储技术
首先解释对象存储中的对象一词,它是一个数据存储单位,就像磁盘中的块一样。一个对象中不仅包含存储的数据本身,还包含描述数据的信息,也叫元数据,以及由存储数据和元数据生成的唯一 ID。对象存储技术通常用于存储非结构化的数据,比如音视频、图片和二进制构件等,其实也就是不适用于用数据库存储的数据。因为对象存储中的元数据可以自定义,所以用户可以使用自定义的元数据来描述这些不包含文本字段的、非结构化的数据。对象存储技术可以在硬件层面实现,比如对象存储设备,与磁盘不同,它的存储单元是对象而不是块。也可以在软件层面实现,即基于块设备的对象存储系统。
对象存储系统的组成
对象(Object)
包含了文件数据以及相关的属性信息,可以进行自我管理
OSD(Object-based Storage Device)
一个智能设备,是Object的集合
文件系统
文件系统运行在客户端上,将应用程序的文件系统请求传输到MDS和OSD上
元数据服务器(Metadata Server,MDS)
系统提供元数据、Cache一致性等服务
网络连接
1. 对象(Object)
对象存储的基本单元。每个Object是数据和数据属性集的综合体。数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。在传统的存储中,块设备要记录每个存储数据块在设备上的位置。Object维护自己的属性,从而简化了存储系统的管理任务,增加了灵活性。Object的大小可以不同,可以包含整个数据结构,如文件、数据库表项等。
2、OSD(Object-based Storage Device)
每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。
OSD的主要功能
数据存储和安全访问
OSD使用Object对所保存的数据进行管理。它将数据存放到磁盘的磁道和扇区,将若干磁道和扇区组合起来构成Object,并且通过此Object向外界提供对数据的访问。每个Object同传统的文件相似,使用同文件类似的访问接口,包括Open、Read、Write等。但是两者并不相同,每个Object可能包括若干个文件,也可能是某个文件的一部分,且是独立于操作系统的。除了具体的用户数据外,OSD还记录了每个Object的属性信息,主要是物理视图信息。将这些信息放到OSD上,大大减轻了元数据服务器的负担,增强了整个存储系统的并行访问性能和可扩展性。
3、文件系统
文件系统对用户的文件操作进行解释,并在元数据服务器和OSD间通信,完成所请求的操作。
现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,对象存储系统提供给用户的也是标准的POSIX文件访问接口。
接口具有和通用文件系统相同的访问方式,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致
文件系统读访问实例:
客户端应用发出读请求;
文件系统向元数据服务器发送请求,获取要读取的数据所在的OSD;
然后直接向每个OSD发送数据读取请求;
OSD得到请求以后,判断要读取的Object,并根据此Object要求的认证方式,对客户端进行认证,如果此客户端得到授权,则将Object的数据返回给客户端;
文件系统收到OSD返回的数据以后,读操作完成。
4.元数据服务器 (Metadata Server)
为客户端提供元数据,主要是文件的逻辑视图,包括文件与目录的组织关系、每个文件所对应的OSD等。
在传统的文件系统中,元数据由本机或者文件服务器负责维护,每次对数据块的操作都要获取元数据。
在对象存储系统中,由于每次操作只有一次对元数据的访问,具体的数据传输都由OSD和客户端通过直接连接进行,大大减少了元数据的操作,降低了元数据服务器的负担,从而为系统的扩展提供了可能性。
特点
客户端采用Cache来缓存数据
当多个客户端同时访问某些数据时,MDS提供分布的锁机制来确保Cache的一致性。
5. 网络连接
为客户端提供认证
为了增强系统的安全性,MDS为客户端提供认证方式。OSD将依据MDS的认证来决定是否为客户端提供服务。
网络连接是对象存储系统的重要组成部分。它将客户端、MDS和OSD连接起来,构成了一个完整的系统。
8.存储技术的发展趋势
存储虚拟化最早提出是1959-1960年
固态硬盘(SSD)。SSD与传统磁盘不同,它是一种电子器件而非物理机械装置,具有体积小、能耗小、抗干扰能力强、寻址时间小、IOPS高、I/O性能高等特点。
重复数据删除
SOHO存储。SOHO存储即家庭或个人存储。
ROBO存储
语义化检索。数据检索主要分为两类,一是基于文件名,二是基于文件内容
存储智能化。人工智能是计算机的发展方向,这是一个理想而艰巨的目标。