网络服务器突然断电的应急措施

网络整理 - 08-07

我最近为了一个咨询项目,在一个偏远的小乡村里花了几周时间。因为打电话回家十分昂贵,妻子和我便用电邮联系。

但在离开美国几天后的一次,电源突然中断,虽然只一秒时间,我们的计算机却无法访问因特网了。最后我只能打电话到12000英里以外请求帮助。

虽然我们所有的计算机都是以UPS连接,但其中一个UPS没有及时工作,因而连接在那个UPS上的所有服务器都停止工作。这些服务器都配置成接通电源便会自动启动,但由于访问网络出现问题,我的DNS服务器无法重启。只有手动启动DNS服务器,问题才会得到解决。

如果你的公司断电会发生什么呢?多数情况下,你也会将所有服务器连接到UPS,但你也看到了我的情况,UPS也会失灵,尤其是使用了几年。

如果你遇到断电,服务器掉线,那么只需在恢复电源后启动服务器便能解决问题。

NTFS能起到保护作用

几年前,我是NetWare网络的一名管理员。每当出现断电情况,我通常得从停止工作的服务器备份中对其进行恢复。

但现在,当一个文件或打印服务器出现问题时,我们很少再使用恢复这种方法。很多人都没有意识到,但NT文件系统(NTFS)的确包含有断电时的防护措施。只有创建或修改一个文件,NTFS就将该操作认作处理程序。这意味着在操作写入磁盘以前就已经写入事务日志了。事实上,任何时候你想将文件写入一个NTFS中,Windows就会进行以下操作:

将处理的meta-data操作记录在RAM的日志文件中。

在RAM中记录实际的meta-data操作。

在日志里标记出该处理。

将日志转储到硬盘里。

在硬盘里写入实际的meta-data操作。

(注意:第四、第五步骤并不总是立即发生。)

只要进行这些步骤,一旦出现断电情况,Windows将自动运行CHKDSK,将其作为启动的一部分。CHKDSK将日志文件比作硬盘。如果日志文件中有处理情况发生,而该处理不在硬盘里或是不完整,Windows就会利用日志中有关信息重构处理,更新硬盘。唯一丢失的数据--通常都很小--是那些写入RAM日志,却未被转储到硬盘里的日志文件的处理程序。

将文档服务器重现连接入网相对比较简单,但应用服务器就需要更多工作。在断电后,我启动了一个应用服务器,并得手动开始一些服务,但除此之外,服务器一切良好。然而,在很多情况下,如果应用程序依赖于一个数据库,断电便会破坏该数据库。

Exchange Server就是依赖于数据库的应用服务器。它以类似NT文档系统的方式使用事务日志。尽管如此,在断电时还是会丢失一些数据。如果发生这种情况,当重启服务器时,数据库便处于矛盾的状态。那时你就得在装配数据库以前,使用一些内置的维护工具恢复数据库的协调。

依赖于数据库的应用程序有很多种。有些应用程序的数据库会用到事务日志,有些则不会。如果你的数据库服务程序发生断电,而其又没有使用事务日志进行保护,那么你不得不从备份中进行恢复了。