王朝网络
分享
 
 
 

服务器的可用性

王朝厨房·作者佚名  2007-01-05
宽屏版  字体: |||超大  

服务器的可用性(Usability)其实就是要求服务器具有高的可靠性,具有高稳定性,不要时不时死机、出故障,尽量少出现停机待修现象。服务器因为多数情况下是要求连续工作的,所以它的可靠非常重要,普通的PC死机了大不了重启,数据的丢失损失也仅限于单台电脑;服务器则完全不同,许多重要的数据都保存在服务器上,许多网络服务都在服务器上运行,一旦服务器发生故障,将会造成大量数据丢失、许多重要业务和停顿,如代理上网、安全验证、电子邮件服务等都将失效,造成整个网络的瘫痪,其损失是难以估量的。各种品牌的服务器都有自己的一套独特的提高服务器可靠性的技术方法,但也有一些方法是属于标准性的方法,被大家共同采用。

目前,提高可靠性的一个普遍做法是部件的冗余配置和内存查、纠错技术。如服务器一般采用具有查、纠错能力的ECC内存,IBM的服务器有的还采用了专门的具有ChipKill超强查、纠错能力的内存、RAID技术、热插拔技术、冗余电源、冗余风扇、等方法使服务器具备容错能力、安全保护能力,从而提高可靠性。

硬件的设备冗余通常支持热插拔功能,如冗余CPU、RAM、PCI适配器、电源、风扇等,可以在单个部件失效的情况下自动切换到备用设备上,保证系统运行。RAID技术可保证硬盘出现问题时在线更换,保证数据的完整性。此外,独特的硬件管理总线(I2C)技术利用专门的硬件管理机制,可在系统出现异常情况时(如机箱温度超标、内存出错、机箱被异常开启等)迅速提出警报和予以处理。一般来说,PC服务器的冗余方案主要是磁盘、电源、网卡和风扇等冗余配置,有些产品还支持操作系统和应用软件的备份,并包含有用于数据紧急恢复的系统模块,从而大大提高了系统的可用性。

一、硬件冗余

在上面所讲的一些提高服务器可用性的方法中有一部分是通过硬件的冗余技术来实现的,这是一种比较基础,但却非常实用的方法,已被广泛采用。下面我们就来具体看看这几个方面。

1. 磁盘冗余技术

磁盘冗余实际上就是指RAID(磁盘陈列)技术,它的英文"Redundant Array of Independent Disks"的缩写,中文名为"独立磁盘冗余阵列",或简称磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为不同的RAID级别(RAID Levels),或RDID类型。

RAID技术经过不断的发展,现在已拥有了从 RAID 0 到 6 七种基本的RAID 级别,但最常用的是RAID 0、RAID 1、RAID0+1、RAID 5等几种方式。另外,还有一些基本RAID级别的组合形式,如RAID 10(RAID 0与RAID 1的组合),RAID 50(RAID 0与RAID 5的组合)等。不同RAID 级别代表着不同的存储性能、数据安全性和存储成本。下面就针对上述一些最为常用的 RAID级别做简单介绍。

RAID 0:RAID 0又称为Stripe或Striping(无差错控制磁盘阵列),它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。

图1显示的一个具有3个逻辑磁盘(Disk 0、Dsik 1、Disk 2)的数据存储的过程,系统向三个磁盘组成的逻辑硬盘(RADI 0 磁盘组)发出的I/O数据请求时整个数据存储过程被分成3部分,原先顺序的数据文件片段(D0、D1、D2、D3…)被分散到所有的三块硬盘中同时执行。从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了3倍。 但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果是显著的。

图1

但RAID 0方案并不提供数据冗余,因此一旦用户数据损坏,损坏的数据仍将无法得到一个备份数据进行恢复。它所实现数据冗余的功能是在用户某个硬盘上的数据一旦发生损坏后,利用其它两个硬盘上冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性,但我们可以知道这种冗余技术在数据恢复方面安全性较低。

RAID 1:RAID 1又称为Mirror或Mirroring(镜象磁盘阵列),它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘Disk 0的数据百分之百地自动复制到另外一个硬盘Disk 1上。当读取数据时,系统先从Disk 0的源盘读取数据,如果读取数据成功,则系统不去管备份盘Disk 1上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断,如图2所示。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回的数据损失。

图2

由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而Mirror阵列方案中磁盘空间的利用率较低,存储成本高。Mirror方案虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。

RAID 0+1:正如其名字一样,RAID 0+1就是RAID 0和RAID 1两种方案的组合形式,也称为RAID 10。以四个磁盘组成的RAID 0+1为例,数据在存储时不仅分文件片形式顺序保存在两个RAID 0中的Disk 0与Disk 2,或Disk 1与Disk 3中,同时还会用Disk 1与Disk 3 或者Disk 0与Disk 2完全备份保存Disk 0与Disk 2或Disk 1与Disk 3中的数据(整个数据备份过程如图3所示)。RAID 0+1是存储性能和数据安全兼顾的方案,它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。

图3

由于RAID 0+1也通过数据的100%备份提供数据安全保障,因此RAID 0+1的磁盘空间利用率与RAID 1相同,存储成本高。RAID 0+1的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。

RAID 2:又称为"纠错明码磁盘阵列。磁盘驱动器组中的第一个、第二个、第四个……第2n个磁盘驱动器是专门的校验盘,用于校验和纠错,例如七个磁盘驱动器的RAID2,第一、二、四个磁盘驱动器是纠错盘,其余的用于存放数据。使用的磁盘驱动器越多,校验盘在其中占的百分比越少。RAID2对大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。RAID2很少实际使用。

RAID 3和RAID 4:又称"奇校验或偶校验的磁盘阵列"。不论有多少数据盘,均使用一个校验盘,采用奇偶校验的方法检查错误,任何一个单独的磁盘驱动器损坏都可以恢复。RAID3和RAID4的数据读取速度很快,但写数据时要计算校验位的值以写入校验盘,速度有所下降。RAID3和RAID4的使用也不多。

RAID 5:RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。仍以四个硬盘组成的RAID 5为例,它的数据存储方式如下图4所示:图中,P0为D0,D1和D2的奇偶校验信息,P1为D3、D4的奇偶校验信息,其它以此类推。

由图中可以看出,RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。

图4

好了,关于磁盘的冗余技术就简单介绍到这里了。采用磁盘陈列技术后,在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样,不同的是,磁盘阵列的存储性能要比单个硬盘高很多,而且可以提供数据冗余。

2. 电源冗余

服务器的电源冗余一般是指配备双份或多份支持热插拔的电源。这种电源在正常工作时,各台电源各输出一部分功率,从而使每台电源都处于轻松的负荷状态,这样有利于电源稳定工作。若其中一台发生故障,则另外几台就会在没有任何影响的情况下接替服务器的工作,并通过灯光或声音告警。此时,系统管理员可以在不关闭系统的前提下更换损坏的电源,所以采用热插拔冗余电源可以避免系统因电源损坏而产生的停机现象。如图5左图所示的为双冗余的服务器电源;右图所示的为一台具有双电源的服务器。

图5

3. 风扇冗余

风扇冗余是指在服务器的关键发热部件上配置的降温风扇有主、备件两套,这两套风扇都具有自动切换功能,并支持风扇转速的实时监测、发现故障时可自动报警并启用备用风扇等功能。若系统正常,则备用风扇不工作,而当主风扇出现故障或转速低于规定要求时,备用风扇马上自动启动,从而避免由于系统风扇损坏而导致系统内部温度升高,使得服务器工作不稳定或停机。如图6为冗余散热风扇。

图6

其实在硬件冗余技术上有的品牌还提供了RAM、PCI适配器、网卡冗余等技术,在此就不一一细讲了。在服务器的可靠性方面,不仅体现在硬件的冗余上,还体现在一些硬件在线诊断技术上,因为硬件的冗余毕竟有限,我们不可能对所有配件都进行冗余,那样会大增加服务器的成本。在硬件在线诊断技术上我们仍以IBM的几项新技术为例来作一个详细的介绍。

二、硬件在线诊断技术

硬件在线诊断技术主要包括热插拔技术、内存保护、内存检查和纠错技术、内存镜像技术,内存热添加/交换技术、活动PCI技术,活动诊断技术等,下面我们分别介绍。

1. 热插拔技术

热插拔技术就是指有些部件可以在系统带电的情况下对部件进行插、拨操作。这非常重要,因为有时我们发现一些部件已损坏,但因为提供了硬件冗余,所以系统仍能继续保持良好运行。损坏的设备需要更换下来,这时如果这些硬件不支持热插拔技术,则必须关掉服务器的电源才能进行,这样就会严重影响服务器所管网络的正常长期不间断运行。一般来说具有热插拔性能的硬件主要有:硬盘、CPU、RAM、电源、风扇、PCI适配器、网卡等。

2. 内存查纠错技术

服务器中的内存我们知道一般来是采用带有ECC技术的,ECC的英文全称是“ Error Checking and Correcting”,中文名为“错误检查和纠正”,从这个名称就可以看出它的主要功能就是“发现并纠正错误”。

ECC比以前的奇偶校正技术更先进的方面体现在它不仅能发现错误,而且能纠正这些错误,这些错误纠正之后计算机才能正确执行下面的任务,确保服务器的正常运行。但要注意的是它不是一种内存型号,是一种内存技术,不仅以前的EDO内存可以有、SD内存也可有,现在主流的DDR内存同样可以有。那是因为并不是一种影响内存结构和存储速度的技术,它可以应用到不同的内存类型之中,就象我们在前讲到的“奇遇校正”内存。但ECC技术只能纠正单比特的内存错误,IBM还有一种更先进的特殊内存纠错技术,那就是ChipKill内存技术。

Chipkill内存最初是由20年前的IBM大型机发展过来的,ChipKill最初是为美国航空航天局(NASA)的“探路者”探测器赴火星探险而研制。它是IBM公司为了解决目前服务器内存中ECC技术的不足而开发的,是一种新的ECC内存保护标准。

ECC内存可以同时检测和纠正单一比特错误,但如果同时检测出两个以上比特的数据有错误,则一般不能纠正。但随着基于Intel处理器架构的服务器的CPU性能在以几何级的倍数提高,而硬盘驱动器的性能同期只提高了5倍,因此为了获得足够的性能。服务器需要大量的内存来临时保存在CPU上读取的数据,这样大的数据访问量就导致单一内存芯片上每次访问时通常要提供4(32位)或8(64位)比特以上的数据。一次性读取这么多数据,出现多位数据错误的可能性会大大地提高,而ECC又不能纠正双比特以上的错误,这样就很可能造成全部比特数据的丢失,系统就很快崩溃了。IBM的Chipkill技术是利用内存的子结构方法来解决这一难题。

Chipkill技术内存子系统的设计原理是这样的,单一芯片,无论数据宽度是多少,只对于一个给定的ECC识别码,它的影响最多为一比特。举个例子来说明的就是,如果使用4比特宽的DRAM,4比特中的每一位的奇偶性将分别组成不同的ECC识别码,每个ECC单元可单独用一个数据位来保存的,也就是说保存在不同的内存空间地址。因此,即使整个内存芯片出了故障,每个ECC单元也将最多出现一比特坏数据。这种情况完全可以通过ECC逻辑修复,从而保证内存子系统的容错性,保证了服务器在出现故障时,有强大的自我恢复能力。采用这种Chipkill内存技术的内存可以同时检查并修复4个错误数据位。

3. 内存保护(Memory ProteXion)

IBM的内存保护技术就是保护由于意外的内存错误而带来的损失,它比ECC内存错误纠正技术有效得多,同时它使用的是标准的ECC 168内存。它的工作方式有点像在Windows NT的NTFS文件系统下的在线备份磁盘扇区一样,当操作系统在磁盘上检测到坏的磁盘扇区时,它将在另外的扇区中写下这些数据放一边留作备用,我们可以认为内存保护就是提供在线备份数据位。这内存错误的纠正是通过内存控制器来完成的,所以不会增加操作系统的工作量,也不需要操作系统来提供支持,完全与操作系统无关。因为这是在标准的ECC 168线内存起作用的,无需为这种保护增加另外的开支。

内存保护(在其它系统中也有称“多余的数据位”)技术最初的发展是在IBM大型机上,而且在Z系列和I系列服务器上使用了许多年。IBM的高可靠性测试和分析使得带有内存保护技术的服务器每年因内存出错的机会比使用标准的ECC内存的少200倍。举个例子,给同样8GB内存的服务器多台,用户希望经过测试每132台使用ECC内存的服务器中每年只允许1台出现错误,而使用内存保护后就会看到每26042台服务器中每年只有1台因内存出错。

在一个2路交叉存取的内存系统中,每2片168线ECC内存包含144位,但是只有140位是用于数据存取和校验的。余下的4位是没有用上的,标准的ECC内存可以检测出2位的数据错误,但它只能纠正一位错误。如果在同时内存上有多位出错,那么这整个内存读取就失败了,此时唯有使系统临时挂起来,以尽量减少内存容量的需求,直到这个节点被更换。如果具有内存保护,那么就可以立即隔离这个失效的内存,重写数据在空余的数据位。通过这种方法可以在每4对(1个内存控制器,有的服务器不止包括一个内存控制器)168线内存中修复4个4位连续的内存错误。当服务器下次重启就会重新检查内存的状态,如果是内存软错误(临时的),系统重启后内存的这些用于在线数据备份的数据位就重新释放了,恢复空的状态。如果是属于硬故障,这些在线备份数据位还会继续用来备份,直到更换为止。这种先进技术可以使减少停机机时间,使服务器持续保持高效的计算平台。这对于大型的数据库系统中尤其重要。

4. 内存镜像 (Memory Mirroring)

另一种防止服务器因内存错误的发生而导致整个服务器不稳定性事件发生的措施就是内存镜像。或许有可能服务器不知什么原因遇到了许多内存保护和Chipkill修复技术都不能完全修复的情况,此时内存镜像就会开始在系统中运行。

内存镜像很像磁盘镜像,就是将数据同时写入到两个独立的内存卡中(每个内存卡的配置者是一样的),平时的内存数据读取只从激活的内存卡中进行。如图7所示的是CPU同时把数据写入到两片内存中的示意图。

图7

在图7中如果一个内存中有足以引起系统报警的软故障,频繁报告系统管理员警告说这个内存条将要出故障,或者整个内存条都要彻底损坏,服务器就会自动地切换到使用镜像内存卡,直到这个有故障的内存被更换。允许系统照常运行,直到方便的时候对出故障的内存单元进行检测。镜像内存允许进行热交换和在线添加内存(因为镜像内存的存在,所以对于软件系统来说也就只有整个内存的一半容量是可用的,如果不希望镜像,在BIOS中进行禁止即可。)

5. 内存热添加/热交换 (Hot-add/Hot swap Memory)

热交换技术就是允许在服务器运行中将失效的内存进行更换,热添加就是在需要的时候允许在服务器运行状态下添加新的内存。IBM X系列服务器已经允许服务人员在需要时在线进行热添加新的驱动器、适配器、电源和风扇。

在一个服务器上安装的内存越多,在系统中发生与内存有关的错误的可能性也就越大。现在,由于服务器可以容纳几十上百GB的内存,可靠性就显得比以前更重要了。就像磁盘容量的增加一样,现在的磁盘容量远远超过20年前用户希望寻找方法来提高硬盘性能和保护他们的数据时所作的希望。这些都需要一个确切的方法,如离线存储、磁带驱动器一样。Chipkill修复技术、内存保护、内存镜像和热交换性能属于纯硬件方法,并没有依靠操作系统,而内存热添加技术需要进一步的软件支持。

这些内存保护机制都是经过试验为可靠的技术,已在IBM大型机和其它大型系统中经过几年的考验。最重要的一点就是这些技术都在普通的工业标准ECC 168线内存实现的,所以内存也不会特别贵。

6. Active PCI-X(活动PCI-X)技术

在说明这一技术之前我们要明白什么是PCI-X,它是一种新的过渡型的总线标准,它的主频带宽可以比原来的PCI总线宽一倍,可以提供更高的I/O访问速度,现有一种更新的总线技术PCI-Express接口将全面替代PCI和PCI-X接口,当然不是现在。IBM在成功实现Active PCI(活动PCI)技术的基础之上,在基于企业级服务器X架构设计的一些X系列服务器中引入同时支持PCI和PCI-X两种适配器接口的Active PCI-X(活动PCI-X)技术。活动PCI-X总线技术就为IBM提供了提升服务器总体性能的另一个解决方案。活动PCI-X的主要特性如下:

·热交换 (Hot Swap)——允许在不用关闭和重启服务器的情况下更换适配器。

·热添加(Hot add)——提供了一种容易的升级方式,允许在服务器运行的状态下添加新的适配器(在工业标准中IBM是第一个提供这种性能的)。

·切换(Failover)——允许在主适配器出现故障的情况下极快地用另一个备用适配器接替原来适配器的工作继续运行。

7. Active Diagnostics(活动诊断)技术

活动诊断是IBM企业级服务器X架构的另一个特征,这种特征将会在使用这种芯片的服务器上得到整合提供。基于在通用信息模块的分布式任务管理面,活动诊断技术允许管理员在用户在工作的时候在系统上实施诊断,所以提高了系统的开机时间,使IBM客户真正接近“永远计算”的高性能水平。这在工业服务器市场中是很少见的特性,而这个空白被IBM企业级X架构技术填补了。

IBM在1999年与Intel 、PC-Doctor公司一起努力,引入工业标准中的扩展技术到通用信息模块来支持协作诊断。这个通用诊断模块是如何通过操作系统去分界面协同诊断标准化(也称“当前操作系统诊断”,或者叫做“在线诊断”),使所有通用信息模块诊断应用常规化。因为现在诊断扩展到通用信息模块,IBM正在与独立的硬件生产厂商一起努力去重新定义这种方法,建立协同诊断的工具,以使X系列服务器永远运行。IBM活动诊断是用通用诊断模块来执行的,结合IBM的预先失效分析技术,活动诊断和热交换组件那就意味着再也不必关闭的X系列服务器去运行诊断或者更换热交换部件。活动诊断可以通过IBM Director 管理软件来提供一致的、非常容易地用管理界面来控制许多系统功能。

以上通过IBM服务器的一些特性介绍了服务器的可用性特性的实现方法,通过这些技术可以看出,服务器与我们常用的PC机之间的确存在非常大的区别。下一篇将继续介绍服务器的另两个重要特性——Managbility(可管理性)和可利用性(Availability),敬请关注。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有