提高磁盘可靠性的技术
目录
参考资料:
容错技术是通过在系统中设置冗余部件的办法,来提高系统可靠性的一种技术。磁盘容错技术则是通过增加冗余的磁盘驱动器、磁盘控制器等方法来提高磁盘系统可靠性的一种技术。即当磁盘系统的某部分出现缺陷或故障时,磁盘仍能正常工作,且不致造成数据的丢失或错误。
磁盘容错技术往往也被人们称为系统容错技术 SFT。可把它分成三个级别:第一级是低级磁盘容错技术;第二级是中级磁盘容错技术;第三级是系统容错技术,它基于集群技术实现容错。
1 第一级容错技术 SFT-I
第一级容错技术(SFT-I)主要用于防止因磁盘表面缺陷所造成的数据丢失,它包含双份目录、双份文件分配表及写后读校验等措施。
1.1 双份目录和双份文件分配表
在磁盘上存放的文件目录和文件分配表 FAT,是文件管理所用的重要数据结构。为了防止这些表格被破坏,可在不同的磁盘上或在磁盘的不同区域中分别建立(双份)目录表和 FAT。其中一份为主目录及主 FAT,另一份为备份目录及备份 FAT。
一旦由于磁盘表面缺陷而造成主文件目录或主 FAT 的损坏时,系统便自动启用备份文件目录及备份 FAT,从而可以保证磁盘上的数据仍是可访问的。
1.2 热修复重定向和写后读校验
由于磁盘价格昂贵,在磁盘表面有少量缺陷的情况下,则可采取某种补救措施后继续使用。一般主要采取以下两个补救措施:
- 热修复重定向
系统将磁盘容量的很小一部分(例如 2%~3%)作为**热修复重定向区,**用于存放当发现磁盘有缺陷时的待写数据,并对写入该区的所有数据进行登记,以便于以后对数据进行访问。
分配一块专门的区域承载缺陷数据
- 写后读校验方式
为保证所有写入磁盘的数据都能写入到完好的盘块中,应该在每次向磁盘中写入一个数据块后,又立即将它读出,并送至另一缓冲区中,再将该缓冲区内容与内存缓冲区中在写后仍保留的数据进行比较,若两者一致,便认为此次写入成功。否则,再重写。若重写后两者仍不一致,则认为该盘块有缺陷,此时,便将应写入该盘块的数据写入到热修复重定向区中。
写完后,读取出来进行对比校验
2 第二级容错技术 SFT-II
第二级容错技术主要用于防止由磁盘驱动器和磁盘控制器故障所导致的系统不能正常工作,它具体又可分为磁盘镜像与磁盘双工。
2.1 磁盘镜像(Disk Mirroring)
为了避免磁盘驱动器发生故障而丢失数据,便增设了磁盘镜像功能。为实现该功能,须在同一磁盘控制器下,再增设一个完全相同的磁盘驱动器。
当采用磁盘镜像方式时,在每次向主磁盘写入数据后,都需要将数据再写到备份磁盘上,使两个磁盘上具有完全相同的位像图。把备份磁盘看作是主磁盘的一面镜子。当主磁盘驱动器发生故障时,由于有备份磁盘的存在,在进行切换后,使主机仍能正常工作。
磁盘镜像虽然实现了容错功能,却使磁盘的利用率降至 50%,也未能使服务器的磁盘 I/O 速度得到提高。
2.2 磁盘双工(Disk Duplexing)
如果控制这两台磁盘驱动器的磁盘控制器发生故障,或主机到磁盘控制器之间的通道发生故障,磁盘镜像功能便起不到数据保护的作用。因此,在第二级容错技术中,又增加了磁盘双工功能,即将两台磁盘驱动器分别接到两个磁盘控制器上,同样使这两台磁盘机镜像成对。
在磁盘双工时,文件服务器同时将数据写到两个处于不同控制器下的磁盘上,使两者有完全相同的位像图。如果某个通道或控制器发生故障时,另一通道上的磁盘仍能正常工作,不会造成数据的丢失。在磁盘双工时,由于每一个磁盘都有自己的独立通道,故可同时(并行)地将数据写入磁盘或读出数据。
3 基于集群技术的容错功能
所谓集群,是指由一组互连的自主计算机组成统一的计算机系统,给人们的感觉是,它们是一台机器。利用集群系统不仅可提高系统的并行处理能力,还可用于提高系统的可用性,它们是当前使用最广泛的一类具有容错功能的集群系统。其主要工作模式有三种:热备份模式、互为备份模式和公用磁盘模式。
3.1 双机热备份模式
在这种模式的系统中,备有两台服务器,两者的处理能力通常是完全相同的,一台作为主服务器,另一台作为备份服务器。平时主服务器运行,备份服务器则时刻监视着主服务器的运行,一旦主服务器出现故障,备份服务器便立即接替主服务器的工作而成为系统中的主服务器,修复后的服务器再作为备份服务器。
3.2 双机互为备份模式
在双机互为备份模式中,平时,两台服务器均为在线服务器,它们各自完成自己的任务,例如,一台作为数据库服务器,另一台作为电子邮件服务器。
在互为备份的模式中,最好在每台服务器内都配置两台硬盘,一个用于装载系统程序和应用程序,另一个用于接收由另一台服务器发来的备份数据,作为该服务器的镜像盘。在正常运行时,镜像盘对本地用户是锁死的,这样就较易于保证在镜像盘中数据的正确性。如果仅有一个硬盘,则可用建立虚拟盘的方式或分区方式来分别存放系统程序和应用程序,以及另一台服务器的备份数据。
如果通过专线链接检查到某台服务器发生了故障,此时,再通过路由器去验证这台服务器是否真的发生了故障。如果故障被证实,则由正常服务器向故障服务器的客户机发出广播信息,表明要进行切换。在切换成功后,客户机无须重新登录便可继续使用网络提供的服务,和访问服务器上的数据。而对于连接在非故障服务器上的客户机,则只会感觉到网络服务稍有减慢而已,不会有任何影响。当故障服务器修复并重新连到网上后,已被迁移到无故障服务器上的服务功能将被返回,恢复正常工作。
这种模式的优点是两台服务器都可用于处理任务,因而系统效率较高,现在已将这种模式从两台机器扩大到 4 台、8 台、16 台甚至更多。系统中所有的机器都可用于处理任务,当其中一台发生故障时,系统可指定另一台机器来接替它的工作。
现代集群
3.3 公用磁盘模式
为了减少信息复制的开销,可以将多台计算机连接到一台公共的磁盘系统上去。该公共磁盘被划分为若干个卷。每台计算机使用一个卷。如果某台计算机发生故障,此时系统将重新进行配置,根据某种调度策略来选择另一台替代机器,后者对发生故障的机器的卷拥有所有权,从而可接替故障计算机所承担的任务。这种模式的优点是消除了信息的复制时间,因而减少了网络和服务器的开销。
4 后备系统
在一个完整的系统中是必须配置后备系统的。这一方面是因为磁盘系统不够大,不可能将系统在运行过程中的所有数据都装在磁盘中,应当把暂时不需要但仍然有用的数据,存放在后备系统中保存起来。另一方面是为了防止系统发生故障或病毒的感染,把系统中的数据弄错或丢失,也需要将比较重要的数据存放在后备系统中。目前常用做后备系统的设备有磁带机、磁盘机、硬盘和光盘机。
即一些持久化设备,用来对数据进行物理存储和备份