中小银行运维架构:解密与实战
上QQ阅读APP看书,第一时间看更新

3.5.1 分:直连存储

计算、存储和网络是组成计算机的三大关键部分。计算一般指的是CPU和内存的搭配组合,这也是为什么虚拟化资源池往往被称为计算资源;网络指的是本机网卡设备;存储一般指本地硬盘,这也是最常见的存储设备。

如图3-11所示,原始存储架构可以参照PC,计算、网络、存储介质设备均在一个机箱中,所有部件通过主板总线连接在一起,这种使用服务器内置存储的架构是最原始的DAS架构,我们的PC及数据中心级服务器均使用此架构。这种最原始的DAS存储为最常见的一种存储方式。

图3-11 直连存储

前面说到我们常见的内置存储就是我们PC上的本地硬盘,假如小明打开自己的主机机箱,发现里面是一块900GB的硬盘,他立刻有了两个疑问:如果仅有的这块硬盘坏了,他的资料怎么办?如果以后硬盘容量不够,怎么办?为了解决以上两个问题,人们发明了独立磁盘冗余阵列(Redundant Arrays of Independent Disk, RAID)技术,即通过多块独立磁盘组成具有冗余特性的阵列,多块磁盘容量累加可以解决容量不够的问题,磁盘组冗余特性可以解决磁盘故障数据丢失的问题。除了解决以上两个问题,RAID阵列技术可以在更换故障磁盘后进行数据重构,还可以让系统并行读写多块磁盘以此提高读写效率。

如图3-12所示,通过对RAID 0、RAID 1、RAID 5为代表的RAID数据分布分析,我们可以大致理解RAID的工作原理。

图3-12 RAID技术

RAID 0称为条带(Stripe),通过把连续的数据块分散到多个磁盘中,数据请求可以在多块磁盘中并行执行,具备最高级别的存储性能并增加了整体容量,但由于数据块未做镜像,所以RAID 0并未提高整体冗余能力。RAID 1通过数据块镜像实现数据冗余能力,同一数据块会同时分布在两块磁盘上,任意磁盘故障均不会导致数据丢失,具备最高安全性,但整体容量未增加。RAID 5则兼备RAID 0性能和RAID 1容错的优点,通过奇偶校验信息在磁盘故障后可以以此重建磁盘数据,提高了读写能力和整体冗余度,同时在磁盘空间利用率上,因为使用单盘空间存放奇偶校验信息,所以整体容量为总磁盘容量减去校验盘容量。

可是服务器的物理空间终归是有限的,内置磁盘空间扩容很快就会遇到瓶颈。所以人们思考能否将存储独立出去:在服务器和存储之间通过SCSI(Small Computer System Interface)总线通信即可。人们不断把想法落地,首先把磁盘放到单独的存储机箱,为机箱提供单独的电源和散热系统,这样的存储设备我们称为JBOD(Just a Bunch Of Disk)。后来人们又思考能否将RAID控制器迁移到JBOD设备中,服务器只需要SCSI控制器连接存储机箱即可,在调整RAID时也无须重启服务器,这种自带RAID控制器的JBOD设备称为“磁盘阵列”或者机头,不带控制器的JBOD设备也可以称为磁盘扩展柜,这一套下来,已然有了现代独立存储设备的雏形。

当人们发现磁盘阵列带来的优势之后,就开始不断开发它的潜能,想着如何不断提高阵列整体容量,如何提高阵列的高可用性。开始时,一个SCSI总线最多允许16个设备接入,所以无法在同一个SCSI总线下继续添加磁盘,但RAID控制器却能分配多个通道,一个通道对应一个SCSI总线,所以控制器上分配多个通道就能以15的倍数扩容。有人会问为什么不是16的倍数,因为控制器会占用SCSI总线的一个资源。而在一个带有控制器的磁盘阵列机柜无法满足扩展空间需求时,就可以添加单独的JBOD磁盘扩展柜,磁盘阵列机头通过外置SCSI线缆与磁盘扩展柜的SCSI总线相连实现扩展柜的接入。

在阵列高可用性方面,为提高此磁盘阵列冗余性,人们为其配置双控制器,控制器之间保持心跳检测和缓存同步,以保障任意控制器故障均不会影响阵列整体可用性,至此服务器和存储设备完美分离。如图3-13所示,此时的磁盘阵列仅为一台服务器提供服务,所以此架构仍然属于DAS架构。

图3-13 JBOD扩展柜

DAS架构下无论使用内置存储,还是外置的JBOD、磁盘阵列,服务器和存储设备直连,存储设备只与单台服务器连接,这样每个系统均使用了独立分散的存储设备,各个存储设备之间没有交互。这就好比三国三分天下之前的各方势力,各自具备独立的军政、民政体系。DAS架构下的存储设备为服务器提供由连续扇区组成的数据块,所以也属于数据块存储的范畴。