Forefront不仅要保护企业内部信息的安全,同时其自身的容错能力也不容忽视。当Forefront作为企业的网关存在,对于网络企业内部信息资源的安全起着至关重要的作用。但是突然有一天,其不能够正常工作了。那么会导致什么后果呢?要么就是内网用户不能够访问互联网或者外部用户不能够访问企业内部资源,又或者就是安全网关只成了摆设,不能够起到应有的保护作用。无论出现哪一种情况,都是企业所不能够允许的。为此如何提高系统在发生故障时的继续工作的能力,也是衡量Forefront产品可用性的一个重要方面。Forefront产品在容错性上提供了许多可圈可点的方法,笔者就借这个机会跟大家分享一下自己在这方面的经验。
措施一:单点故障最小化
单点故障最小化,简单的说,就是如何有效降低单点故障发生的机率。在Forefront产品中,推荐使用都是重复部署硬件设置,来为其提供部分容错能力,从而实现单点故障最小化的目标。采用这种策略的话,能够应对大部分的单点故障。如假设现某个数据输入输出路径或者某个服务器的物理硬件组件发生故障,则重复部署的硬件配置能够让硬件继续进行工作。这个原理跟服务器冗余类似。这里只是采用了硬件的冗余策略。
一般来说,用来减少单点故障的硬件根据创建冗余的所使用的组件不同而有所不同。特别是有些比较重视容错性的厂商,会将重复的硬件部署(硬件冗余方案)作为其可用性的一个重要组成部分。
对于Forefront安全系统(包括安全网关与服务器),笔者建议对于一些比较关键的设备尽量采取冗余的策略。特别是对于网卡来说,要使用双网络适配器。因为根据笔者的经验,由于Forefront服务器往往是24小时不间断的工作,网络适配器的工作负荷比较大。而且这个设备也比较脆弱,容易受到电压、雷电等外界因素的影响。平时出现故障的几率比较高。为此最好给Forefront服务器配置稳定性比较高的网络适配器,并在可能的情况下对其实现冗余,即实现双网络适配器配置。
措施二:有条件的需要电源备份
要让Forefront长时间的不间断的提供保护服务,不仅仅软件自身需要有比较高的稳定性,对于服务器也有这方面的要求。其实大部分管理员都会有这方面的认识。长期运作的稳定性大部分时候关口都在于硬件。也就是说,硬件能否365*24小时不间断的工作。这对于服务器来说,压力特别的大。
根据笔者的经验,在这种长时间运作的情况下,往往电源是最先受不了的。这主要是多方面的原因造成的。一方面现在国内的电压稳定性并不是很高。当电压上下浮动的频率过高的话,会对电源产生致命的打击。如由于用电的关系,大部分企业白天的电压会比较低,而且随着大型机械的启动,上下波动幅度很大。而到了晚上,电压又会比较高。同时,一年四个季度,也有所差别。如夏天用电负荷大,电压比较低。同时电压的变化也比较大。这些因素对于电源会造成比较大的负面影响,大大降低电源的寿命。
为了保护电源,让其能够为Forefront服务器不间断的提供供电,笔者有两个建议。
一是在服务器层面使用双电源供电。现在很多品牌的服务器,如IBM服务器,都提供双电源系统。其实这也是一个硬件的冗余操作。在服务器中部署两个电源。当其中一个电源出现问题的时候,另外一个电源能够马上启用,向服务器供电。如此的话,就可以避免因为电源出现问题而导致服务器断电,Forefront系统无法正常工作。同时在必要的情况下,要让服务器能够自动报警。即当某个电源不能够供电的时候,即使告知管理员采取必要的措施,如更换电源。特别是需要查清楚电源损坏的原因。如是电源正常的老化,还是电压不稳所造成的。如果电压不稳的话,要及时采取必要的措施,以免下次再次发生这种情况。
二是有条件的企业,要采用UPS不间断电源。UPS不简单电源在这里有两方面的作用,一是UPS电源往往有稳压的作用。也就是说,通过一定的机制,可以为服务器电源提供比较稳定的电压。避免外界电压不稳给电源造成的负面影响。另外一个作用就是可以防止断电,让服务器突然当机。由于种种原因,突然断电的情况在企业中比较常见。如企业可能部署了空气开关,当某个线路的电荷超过规定负荷的时候,就会自动跳闸,此时就会发生断电的情况。这不仅会给服务器带来比较大的负面影响,而且也会导致服务器当机。而UPS通过蓄电池在外界断电的情况下,仍然可以在一定时间内为服务器持续供电。这可以给管理员留足比较充裕的时间,来进行相关的应急处理。如手工关闭服务器,或者采用后备电源等等。
措施三:推荐使用RAID磁盘阵列配置
众所周知,对于服务器的硬盘实现RAID配置的话,能够带来很多方面的好处。如可以提升数据的读取效率,降低磁盘的I/O冲突。在数据库服务器或者文件服务器中,这已经是推荐的配置。其实RAID磁盘阵列的作用不仅仅表现在这些方面。在容错能力上也有非常不错的表现。
对于Forefront服务器来说,笔者就建议采用RAID配置。因为通过使用RAID,可以提高Forefront部署的容错能力。这主要是因为RAID在多个磁盘上保存相同的数据用于冗余、提高性能并延长平均故障时间。这主要是RAID的特性决定的。因为在RAID配置中,部分物理存储空间包含硬盘中保存数据的冗余信息。如对于RAID5来说,即使由于某种原因,一块硬盘出现了物理故障,服务器仍然可以正常使用。因为磁盘阵列系统会根据其他硬盘上的冗余信息来恢复故障硬盘中的数据,从而提高服务器的容错能力。
为此笔者建议,为了确保Forefront服务器在单个磁盘出现故障的使用仍然能够正常为企业提供服务,最好能够利用RAID磁盘镜像或者带奇偶校验的磁盘分段来防止单个物理硬盘故障而导致数据丢失。
不过笔者需要提醒的是,RAID配置并不能够防止文件损坏或者其他文件错误。如某个配置文件被意外删除或者更改,此时RAID不能够恢复。因为只要其被更改或者删除之后,相应的信息会写入到各块磁盘中。另外,采用RAID只能够避免单块硬盘的故障。如服务器中如果同时有两块硬盘出现故障(虽然这个几率并不是很高),此时数据仍然会丢失。因为同时两块硬盘出现故障的话,RAID就无法修复故障硬盘上的数据。出于这些方面的考虑,笔者建议在使用 RAID的同时,还有必要做好服务器上数据的备份工作。或者说让RAID与数据备份相辅相成,共同提高Forefront服务器的可用性。
措施四:学会使用SQLServer日志传送
数据库日志传送则主要从保护数据的层面来提高Forefront的容错能力。简单的说,SQLServer日志传送可以将事务日志从一个数据库传送到另外一个数据库(这个传送是实时的)。从而当某个数据库出现故障无法正常使用的时候,另外一个数据库可以马上启用。因为这个数据库通过日志传送功能,其内容跟故障的数据库一模一样。如此的话,就可以在另一数据库出现故障时,仍然可以持续的为企业用户服务。