本文主要论述一下常用的存储产品和技术。
1.1 存储
存储设备是网站后台架构中,最底层的部分。也是最重要的部分。因为一旦存储设备出现问题,将直接导致上层的数据层和应用层的服务停止。严重的存储设备的损坏以及不可恢复的数据丢失会给企业造成巨大的经济损失。所以企业在数据的存储上的经济投入非常多,甚至在大型的公司中专门有存储工程师对底层存储进行管理、配置、优化。常用的存储设备有机械磁盘和SSD(Solid State Disk)固态硬盘。机械磁盘是最常用的、也是在大规模部署系统中最常用的存储介质,而固态硬盘因为其价格昂贵所以很少在大的数据存储中应用。但固态硬盘因其读写速度快于机械硬盘,所以很多公司开发一些软件加速产品部署在SSD上,以加快系统的访问速度。
结合存储介质(如机械磁盘)和网络协议,产生出很多种存储解决方案。典型的存储解决方案有DAS、SAN、NAS和iSCSI。(关于SAN\NAS\DAS\等请看)虽然以上几种解决方案具体结构不是很相同,但在底层的存储冗余中,很多方案使用了RAID技术。所以下面一节主要分析一下RAID技术。
1.2 RAID技术
RAID(RedundantArray of Independent Disk),独立冗余磁盘阵列。就是将多个独立的磁盘按照某种方式组合成一个磁盘组。(注意,也可以按磁盘的分区组成一个磁盘组)。
在具体应用中,分别有基于软件实现的软RAID和基于硬件实现的硬RAID。但底层数据存取策略是一样的。只是基于硬件实现的RAID有专用的RAID芯片及相应的缓存和电池。
常用的RAID技术有RAID0、RAID1、RAID5,在企业应用中,将RAID0、RAID1和RAID5结合其中两种技术进行使用。
1.2.1 RAID0、RAID1、RAID5、RAID10、RAID0+1
下面主要分析一下常用的RAID0、RAID1、RAID5以及结合两种RAID技术的存储冗余方案。
1.2.1.1 RAID0技术
RAID0技术,通过将数据按一定的策略,均匀的写入到不同的底层磁盘内。这样做的好处在于可以更快的写入数据。因为在不同磁盘中,磁头的移动互不影响,甚至做到并行写入。原理如图7-2-1-1所示。
图7-2-1-1
如图7-2-1-1所示,当应用层有数据比如字符串ABCDEF要写入磁盘时,分别按A、C、E的顺序写入到磁盘A;按B、D、F的顺序写入磁盘 B。这样在讲A写入磁盘A时,不影响B写入磁盘B。实际上,做到了数据的并行写入。这也是底层存储的负载均衡策略。所以RAID0至少需要两块磁盘。我们称RAID0为分带技术。
1.2.1.2 RAID1技术
RAID1技术,通过将数据按一定的策略,把数据同时写入两个磁盘中,这样实现了数据的备份。如图7-2-1-2所示。
图 7-2-1-2
如图7-2-1-2所示,当数据ABCDEFG需要写入磁盘时,会将数据写入磁盘A和磁盘B,而且写入的数据一模一样。这样实现了数据的备份。同样,RAID1需要至少两块磁盘。我们称RAID1为做镜像技术。
1.2.1.3 RAID5技术
RAID5技术,将数据均匀的写入到各个磁盘中,并把不存于某个磁盘的数据相应的校验码写入到其他磁盘中。原理如图7-2-1-3所示。
图7-2-1-3
如图7-2-1-3所示,A1、A2、A3数据分别写入磁盘0(Disk0)而,字符串A1A2A3对应的校验码Ap写入磁盘3(Disk3)。这样当其中任何一个磁盘毁坏,都可以从相应的其他磁盘中恢复数据。所以RAID5至少需要3块磁盘。
RAID5相比RAID0,增加了数据的安全性,允许一个磁盘损坏而不会丢失数据。同样和RAID0一样有很好的并行性。RAID5相比RAID1,数据写入存在并行性。同样和RAID1一样可以做到数据的部分安全。允许其中某块磁盘损坏而不丢失数据。
1.2.1.4 RAID10技术
顾名思义,RAID10采用先RAID1,然后再RAID0技术实现。这样,先对数据进行做镜像操作,对数据进行了备份,然后对数据进行分带操作,实现了并行写入。很多企业的RAID级别采用RAID10,比如国内的网游公司搜狐畅游游戏数据库采用RAID10技术。RAID10技术至少需要4块磁盘。结构图如图7-2-1-4所示。
图7-2-1-4
1.2.1.5 RAID0+1技术
顾名思义,RAID0+1采用先RAID0,然后再RAID1技术实现。这样,先对数据进行做分带操作,实现了并行写入,然后对数据进行做镜像操作,对数据进行了备份。RAID0+1至少需要4块磁盘。结构图如图7-2-1-5所示。
图7-2-1-5
1.3 本文小结
本文主要分析了存储介质以及常用的存储技术。详细分析了各个级别的独立磁盘冗余RAID技术,通过本章,可以对企业的存储方案有所认识。结合本章的分析,可以提供一个企业级的存储解决方案。满足企业底层存储的业务需求。
声明:本文档可以随意更改,但必须署名原作者
作者:凤凰舞者 qq:578989855