
基于磁盘系统的复制
IBM System Storage DS4000是IBM中端存储系列产品的代表。用IBM System Storage DS4000构成双机,可以大幅提高存储系统的可靠性。
磁盘阵列(RAID)的一个基本特征就是高可靠。然而,存储的可靠性至今没有一个统一的标准。许多存储厂商宣称的产品具有99.99%或99.999%的可靠性,大多是厂商自己测试的数据。其实,除了存储产品本身之外,优良的存储架构同样可以有效提升存储系统的可靠性。IBM提倡的存储高可用性(High Availability,HA),或称存储双机,就是这种思路的具体体现。
从单机到双机
存储的可靠性就是要求系统始终可用,并且不会因为故障而丢失数据。在服务器领域,采用服务器的双机集群方式就是为了保证系统具有高可靠性。目前,在各主流操作系统平台上,许多软件都可以实现服务器的双机集群。
既然双机可以保证系统的高可靠性,为什么存储系统仍然普遍使用单机的方式呢?因为磁盘阵列采用RAID保护方式,磁盘阵列本身没有单点故障(不会出现一个部件出错,影响整台机器运行的情况),而且磁盘阵列不像服务器系统那么复杂,不容易宕机。
在新的IT环境下,上述观点并不完全正确。
由于越来越多的关键应用要求24×7小时运行,磁盘系统的使用强度大大增加。用户没有时间对存储系统进行定期维修和保养,所有备件更换必须在线完成。因此,当使用一段时间后,磁盘存储系统的部件连续或同时出现故障的可能性增加。此外,随着存储系统的功能和性能越来越强,存储系统内部的存储控制软件系统也日趋复杂,就像一个操作系统,其本身也会出现故障或漏洞。因此,虽然硬件可以轻易实现无单点故障,但是对软件来说,要保证万无一失是十分困难的。
综上所述,由于存储系统的使用强度增大,对可靠性的要求不断提高,存储系统有必要采用双机的模式,即采用类似服务器集群的方式,使用两台独立的磁盘阵列执行同样的存储任务。
两种实现方式
从技术层面看,存储双机的实现方式有两种,即采用基于服务器的卷管理软件或通过磁盘系统的控制器进行复制。
基于服务器的卷管理软件 这种方式至少已经有10年以上的历史了。许多操作系统,包括AIX、Windows都具备逻辑卷镜像功能。用户也可以采用专门的卷管理软件来实现这一功能。
其工作方式是:在服务器的卷管理软件层面指定某逻辑卷,如Vol A (类似Windows中的E盘)是由分布在两台磁盘阵列(如IBM System Storage DS4000)上的卷组成的;操作系统对Vol A执行写操作时,由卷管理软件同时写到两台IBM System Storage DS4000磁盘阵列中;进行读操作时,则可以任意读取一个IBM System Storage DS4000中的数据卷。这个过程对应用程序,比如数据库是透明的。数据库使用的仍然是一个Vol A的卷。
当任何一台IBM System Storage DS4000发生故障或因其他问题无法工作时,卷管理软件会识别出这一错误,然后只对一台IBM System Storage DS4000进行读写,上层应用不会被迫中断。当故障恢复后,卷管理软件重新同步两台IBM System Storage DS4000上的数据。该过程对上层应用也是透明的。
基于磁盘系统的复制功能 一些中高端磁盘存储系统,比如IBM System Storage DS4000,具备控制器之间的复制功能。
其工作模式是:当有数据写入一台IBM System Storage DS4000(主磁盘阵列)的磁盘控制器时,此磁盘控制器会将数据送往另一台IBM System Storage DS4000(目标磁盘阵列);当两台IBM System Storage DS4000都记录了数据后,主磁盘阵列向服务器汇报数据写结束。整个数据复制过程对服务器是完全透明的,即服务器完全不知道数据被复制。换言之,数据复制不需要服务器的干预。这与采用基于服务器的卷管理软件方式是不同的。
两种方式的异同
以上两种方式在存储高可靠性的效果上是不同的。
假设主磁盘阵列突然损坏,比如某个报错触发了控制系统软件的漏洞,那么会发生什么情况呢?
如果采用基于服务器的卷管理软件的方式,卷管理软件发现一个设备不可用,该软件会冻结I/O几秒或几十秒时间,用于确认故障的发生和中止对故障设备的I/O请求,然后继续运行。因此,外部引用不会被迫中断,用户也基本感觉不到磁盘系统故障的发生。当损坏的磁盘系统修复后,系统可以透明地重新回到原来的镜像状态。
如果采用基于磁盘系统的复制功能,当主磁盘阵列突然损坏时,由于没有I/O设备,应用程序一般会被迫停止。此时,用户需要切换到备用存储上,重新启动应用,然后继续运行。
从上面的描述看,采用基于卷管理软件的方式似乎要优于采用基于磁盘系统的复制功能。但是,在一个复杂的环境中,当多台服务器需要共享磁盘阵列时,采用基于卷管理软件的方式需要在每台服务器上做卷管理软件的设置和管理,而采用磁盘系统的复制功能,只要在集中的存储系统上(一般是 1~2台磁盘阵列)实现即可。
此外,考虑到今后的远程灾备需要,采用基于磁盘系统的复制功能会方便一些(存储的异步远程复制功能比较适合远程灾备复制的需要)。
存储双机的高可靠优势
提高存储系统的可靠性 如果一台磁盘阵列的故障率是0.1%,那么两台存储设备同时发生故障的概率就是0.0001%,系统的可靠性大大增强。
可以对设备进行定期检修 用户可以对两台存储设备轮流进行定期检修,避免硬件过度使用产生故障。
随时有一份可用的数据备份 当需要执行一些特殊操作时,如软件升级或系统调整,可将两台存储设备间的镜像暂时中止。一旦软件调整的过程中发生问题,备用磁盘随时可用。
针对那些需要实行24×7小时运行或有高可靠性要求的应用,用户可以考虑采用基于磁盘阵列的高可用性架构。

存储双机的两种实现方式对比
|