大型网站的存储
2014-01-04 15:22:17 点击:

本文主要论述一下常用的存储产品和技术。1.1 存储存储设备是网站后台架构中,最底层的部分。也是最重要的部分。因为一旦存储设备出现问题...


1.1 存储

存储设备是网站后台架构中,最底层的部分。也是最重要的部分。因为一旦存储设备出现问题,将直接导致上层的数据层和应用层的服务停止。严重的存储设 备的损坏以及不可恢复的数据丢失会给企业造成巨大的经济损失。所以企业在数据的存储上的经济投入非常多,甚至在大型的公司中专门有存储工程师对底层存储进 行管理、配置、优化。常用的存储设备有机械磁盘和SSD(Solid State Disk)固态硬盘。机械磁盘是最常用的、也是在大规模部署系统中最常用的存储介质,而固态硬盘因为其价格昂贵所以很少在大的数据存储中应用。但固态硬盘 因其读写速度快于机械硬盘,所以很多公司开发一些软件加速产品部署在SSD上,以加快系统的访问速度。

结合存储介质(如机械磁盘)和网络协议,产生出很多种存储解决方案。典型的存储解决方案有DAS、SAN、NAS和iSCSI。(关于SAN\NAS\DAS\等请看http://blog.csdn.net/longxibendi/article/details/6400262)虽然以上几种解决方案具体结构不是很相同,但在底层的存储冗余中,很多方案使用了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



相关热词搜索:大型 网站

上一篇:Linux下DRBD配置
下一篇:浅议DAS、NAS、SAN三种模式