Skip to content

服务器RAID电源保护(一)

2013-12-23 09:21:32   来源:华军科技数据恢复

 当设备失败时,镜像和校验冗余提供了一个恢复数据的方法,然而,更大的危险不是影响单个的磁盘驱动器,而是整个阵列的故障。最常见的、最危险的数据威胁是电源失败。当电源失败时,所有未完成的I/O操作都将丢失,或变得不完整。在数据库系统中,经常出现的一种情况是,由于电源紧跟在写日志文件之后,所以,在日志文件中包含了写数据的记录,但事实上数据并没有写到磁盘。


为了防止RAID子系统中的数据丢失,主要使用以下两种技术:
冗余电源。
后备UPS系统。同时使用两者防止与电源有关的数据丢失是一个不错的想法。

1.使用冗余电源防止组件失败

RAID子系统也有自己的供电系统,控制和维护着系统内部电路的电压和电流。正像其他的组件一样,这些电源系统也经常会出毛病。当它们出毛病时,重要的是要保证数据的可访问性。

为了保证在电源失败的情况下,数据仍然可以访问,要满足三个要求:
应该使用冗余电源。
为了给整个子系统提供电源,每一个电源需要有必需的连接和足够大小的功率。
为了在失败发生时,能及时平滑地过渡,电源需要有电平诊断和失败切换的能力。

另外,在可能的情况下,尽量将不同的电源连接到不同的电路上,这能够防止一个建筑物中的电路的隔离问题。例如,当一个线路由于某种原因而断电时,另一个电路可能仍然正常工作,这解决了电路隔离问题。
在建筑物内部,甚至可以使用不同的电源格点,以防止断电。电源格点是电力公司为了实现分段的电力分配,按照服务的地理位置和街道建立的一些区域。有时,一个建筑物或校园环境可以建立多个电源格点的连接,假如这样的话,即使在断电期间,服务器及其存储子系统也依然能够运行。当然,必须要知道一个电路属于那一个格点,也要知道这些电路承担负荷的能力。

冗余电源既可以实现负载平衡,也可以设置为一个主电源、一个备用电源。负载平衡是指两个电源同时以大约相等的量给系统供电,这个方法减少了每一个电源的负担,可以延长电源的寿命。

假如冗余电源用作负载平衡,那么,必须小心地检查每一个电源的功率额定值以及系统的要求,保证灾难发生时,每一个电源都能为系统中的各组件提供必要的电力。
冗余电源的另一种配置是使用一个备用电源,当主电源失败时,备用电源将负责供电。

2.电源失败的电池后

备正像服务器使用UPS系统作为急救备用支持一样,RAID子系统也可以装备电池支持。电池支持既可以内置在子系统中,也可以作为外部产品实现。

使用RAID子系统的一个主要问题是保证内部的易失回写缓存内存的电力支持。如果不能给它供电,在以后重新启动系统时,所有的数据将被丢失;如果在缓存中有任何脏数据块,那么数据将被丢失,也有可能会损坏。

由于这个原因,一些磁盘子系统集成了对内部缓存内存的电池支持,以保证在电源失败的情况下,缓存能够被刷新到磁盘。此外,有序地关闭子系统也比突然关机更可取。电池支持提供了一定的额外时间,使当主机系统清理一些未完成的工作时,子系统仍然能继续运行。当电源突然断电时,后备电池还能保护缓存中的数据。例如,在电力供应恢复和事务处理被写到磁盘之前,后备电池能够将所有未完成的写都保存在缓存中,在电力供应恢复后,这些操作可以重新执行。

3.控制器和缓存冗余

有时RAID子系统装备有双内部RAID控制器和镜像缓存。双RAID控制器的实现方式有两种:其一,一个控制器做所有的工作,另一个什么也不做,即作为备用控制器使用;其二,两个控制器实现负载平衡或负载共享。对于负载分享或负载平衡的双RAID控制器,通常在主机系统中配置双主机I/O控制器,以达到协调工作的效果。使用了这样的双主机I/O控制器及电缆,就可以在主机和RAID子系统之间建立多条路径。图中并没有显示RAID子系统中I/O路径内部结构的细节,因为这些将在后面讨论。
 
Back To Top
Search