Windows 2000的可靠性2
Device Path Exerciser
Device Path Exerciser (Devctl)测试设备驱动程序如何处理错误。它利用各种各样的用户模式I/O接口同步或者异步调用驱动程序,并且测试驱动程序如何处理错误的请求。例如,它可能连接到网络驱动程序并且请求它回卷磁带。可能连接到打印驱动程序并且请求它重新同步通信线路。或者,它也可能使用一个错误的缓冲区请求某个设备功能。这样的测试帮助开发人员使得驱动程序在错误的条件下更强壮
用户模式代码开发
Windows 2000 包括一个新的工具---PageHeap。它可以帮助开发人员在开发非核心模式代码的时候找到内存访问错误。
PageHeap
Heap(堆)指的是用于临时存放代码的内存。堆错误在应用程序开发中是一个经常遇到的问题。最典型的发生堆错误的情况是一个应用程序分配了一个特定大小的内存块,但是却在该范围之外进行写操作。另一个发生错误的原因是正在写的内存块已经被释放掉了。在这些情况下,可能会出现两个应用程序写同一部分内存,从而导致系统失败。Windows 2000中新添加的PageHeap特性就可以帮助开发人员发现它们的内存错误。
当PageHeap 被激活时,该应用程序的所有的堆分配被放到内存中,这样堆的边界就与虚拟内存的边界排在一起了。与堆相邻的虚拟内存页面被设置为NO_ACCESS。在该应用程序中对堆后面的空间的访问就会立刻引起错误,这就可以在一个调试工具中被捕获,开发人员就可以找到出错的代码。
在释放堆时,过程与之类似。PageHeap修改释放的应用程序虚拟页面为NO_ACCESS,这样,如果应用程序试图读写该内存时就会发生访问错误。
如果为一个应用程序运行PageHeap特性,应用程序要比正常时运行得慢,并且需要更多的虚拟内存,因为每一个堆的分配都需要两个完整的虚拟内存页面。随着应用程序对堆的使用的增加,可能需要增加系统的虚拟内存的大小,否则会出现虚拟内存不够的错误信息。除非系统有相当大的虚拟内存,否则建议不要同时运行两个以上的激活了PageHeap特性的应用程序。
可用性的改进
Windows 2000中对可用性的改进减少了为了正常的维护工作而导致系统离线的时间。它还提高了恢复速度,增强了数据存储功能。
既然系统失败是不可避免的,管理员就必须能够快速的备份重要的数据,在系统崩溃时能够迅速抽取信息以确定发生错误的原因---不管这个问题是硬件的,操作系统的,还是第三方的产品。相似的,企业级的关键任务的应用程序还需要能够在发生错误的情况下快速的保存关键的数据,并且能够自动定位响应组件。
下面的特性减少了为了维护而必须使系统离线的时间,也减少了诊断系统错误和重新启动系统的时间:
 减少维护宕机时间
 改进的诊断能力
 更快的系统恢复和重新启动
 提高的存储管理
 改进的集群
减少维护宕机时间
Service Pack Slipstreaming
Service Pack (SP) 可以非常容易得添加到基本得操作系统中,这就意味着客户不需要在安装完新的组件后重新安装SP。Sp可以作为安装共享,这样就总是可以使用正确的文件和注册表入口。这样就允许用户创建自己的Windows 2000的软件包,其中包含适当的SP和Hotfix。
减少了维护所需要的重新启动的次数
在Windows NT 4.0中有许多配置修改需要重新启动计算机,在Windows 2000中不再需要了。这些工作包括:
文件系统维护
 扩展一个NTFS卷
 镜像一个NTFS卷
硬件安装和维护
 将笔记本计算机插入或移出坞站(dock)
 激活网卡或者使网卡失效
 安装或者删除PCMCIA设备.
 安装或删除即插即用存储设备
 安装或删除即插即用调制解调器
 安装或者删除网络接口控制器
 安装或者删除Internet Locator Service.
 安装或者删除USB设备,包括鼠标,游戏杆,键盘,视频捕获设备,以及扬声器
网络和通信
 添加或删除网络协议,包括TCP/IP,IPX/SPX,NetBEUI,DLC,AppleTalk
 添加或删除网络服务,包括SNMP,WINS,DHCP,RAS
 添加PPTP端口
 修改IP设置,包括缺省网关,子网掩码,DNS服务器地址和WINS服务器地址
 修改ATMARP服务器的ATM地址
 如果有多于一个网卡,修改IP地址。
 修改IPX帧类型
 修改协议绑定顺序
 为AppleTalk工作站修改服务器名。
 在安装了拨号网络客户并且运行着RAS的系统中安装拨号网络服务器
 加载并使用TAPI provider
 解决IP地址冲突
 在静态和动态IP地址之间转换
 转换MacClient 网卡并且查看共享卷。
内存管理
 添加新的PageFile
 增加PageFile的初始大小
 增加PageFile的最大值
软件安装
 安装设备驱动程序工具集 (DDK)
 安装软件开发工具集 (SDK)
 安装Internet Information Server
 安装Microsoft Connection Manager
 安装Microsoft Exchange 5.5
 安装Microsoft SQL Server™ 7.0
 安装Microsoft Transaction Services
 安装或删除File and Print Services for NetWare
 安装或删除Gateway Services for NetWare
性能优化
 在应用程序和后台服务之间修改性能优化参数
改进的诊断能力
在Windows 2000中有助于帮助用户快速排除系统错误的特性包括:
 Kernel-only crash dumps
 更快的CHKDSK
 MSINFO
Kernel-Only Crash Dumps
除了完全的崩溃时内存转储之外,Windows 2000 Server支持核心模式的崩溃时内存转储,允许具有大内存的系统能够更快的重新启动。当Windows NT 的系统崩溃时,所有的当时内存中的信息被存储在硬盘上。管理员和开发人员使用这些信息(这些信息被称为crash dump)进行排错。为了保证这些信息被安全的转移到硬盘上,操作系统使用相当保守的算法来处理这些内存信息。
因为Windows 2000支持64GB的物理内存,所以完全的内存转储可能非常慢,这样就会严重的影响系统重新启动的时间。例如,一台安装了1GB的内存的Pentium Pro计算机大约需要20分钟的时间将内存转储到页面文件中。系统重新启动时,将要花费大约25分钟的时间将转储数据从页面文件拷贝到转储文件中。这就意味着大约有45分钟的时间系统不能够使用。
所以,在完全的崩溃时内存转储之外,Windows 2000还支持核心模式崩溃是转储。这样就可以在更短的时间内和更少的空间中完成与核心模式相关的错误。当一个安装了非常大的内存的系统需要很快能够工作时这一特点非常有用。随着系统的使用,核心模式的转储可能会将转储文件的大小和转储的时间减少到80%。
使用核心模式崩溃时转储需要进行平衡。因为重要的数据总是存在于用户模式中而不是核心模式中,所以,使用这种方法可能会丢失重要的数据。
更快的CHKDSK
CHKDSK命令用于检查硬盘错误。尽管这是一个强有力的工具, 有时它也可能花费几个小时,时间的长短依赖于该磁盘分区的文件配置。在Windows 2000中的CHKDSK的性能改进了非常多。由于有如此多的因素会影响CHKDSK的性能,因此要评价这些改进非常困难。在某些配置的情况下,Windows 2000中的CHKDSK的速度要比Windows NT 4.0中快10倍。CHKDSK可以在Windows 2000 Recovery Console 中找到。
MSINFO
MSINFO提供可以用于排错的信息。在微软的其他产品中也有这个工具,这个工具可以在System Information Microsoft Management Console插件中找到。MSINFO可以用于几种途径。在电话支持中,一个工程师可以要求用户运行MSINFO,提供相关的信息。或者,用户可以使用MSINFO生成系统信息,这些信息可以保存起来交给支持工程师。
更快的系统恢复和重新启动
Windows 2000中的改进减少了从一个崩溃的系统中进行恢复的时间,也较少了重新启动操作系统的时间。这些改进包括:
 Recovery Console
 Safe Mode Boot
 Kill Process Tree
 Recoverable File System
 Automatic Restart
 IIS Reliable Restart
Recovery Console
Windows 2000 Recovery Console 是一个管理员使用的命令行工具,它可以从Windows 2000安装光盘上得到。它可以从Windows 2000光盘或者启动软盘上以文本方式运行,然后在出现Welcome屏幕时选择Repair选项。为了使用起来更加简单,也可以将它配置为boot.ini文件中的一项(运行Winnt32/cmdcons)。
Recovery Console 对于修复系统来说非常有用,它将启动软盘或Windows 2000光盘中的文件拷贝到系统中。利用Recovery Console,用户可以启动和停止服务,格式化驱动器,在本地驱动器上读写数据,以及执行许多其他的管理任务。
因为Recovery Console允许用户在使用Windows 2000引导软盘时读写NTFS分区,它有助于组织减少或者消除在系统恢复时对FAT和DOS引导盘的依赖。另外,它提供了一系列的方式,这些方式有助于管理员可以通过一系列的命令恢复Windows 2000的安装,同时保持了Windows 2000的安全性。用户可以登录到他们要访问的Windows 2000中。另外,使用Recovery Console,文件不能从系统拷贝到任何可移动介质上。
Safe Mode Boot
为了帮助用户和管理员诊断类似于错误的设备驱动程序等系统问题,Windows 2000操作系统可以以Safe Mode Boot启动。用户可以在系统启动的过程中出现Please select the operating system时按F8选择该选项。在安全模式中,Windows 2000使用缺省的硬件设置(鼠标,显示器,键盘,硬盘,基本的显卡,缺省的系统服务,以及没有网络)。安全模式启动允许用户修改缺省设置,或者删除一个产生问题的新安装的驱动程序。
在安全模式选项之外,用户可以选择Step-by-Step Configuration Mode,这种模式可以让用户可以选择基本的文件和服务来启动,或者选择Last Known Good Configuration,这种配置用上次关机时保存的注册表信息来启动计算机。
Kill Process Tree
如果一个应用程序对系统不再响应了,用户需要一种方法来停掉它。Windows NT 4.0使用Task Manager让用户选择一个进程或应用程序并且停止掉它。这个方法并不总是有效,然而,因为程序可能有几个进程,因此很有可能形成一个进程树。问题就产生了,因为很有可能停掉了一个进程,而其他的子进程仍然在运行着。
因此,Windows 2000提供了一个叫做Kill Process Tree的工具,这个工具允许Task Manager不止停掉一个进程,而且还能够不用重新启动系统就停掉该进程产生的其他的进程。Kill Process Tree在系统由于运行了许多进程而非常慢的情况下非常有用。
Recoverable File System
Windows 2000 文件系统(NTFS) 更不容易出错,因为它将所有得磁盘I/O作为一个唯一的事务。一旦发生问题,文件系统可以在系统恢复时很快地回滚整个事务或者重新执行整个事务。这样就减少了系统不能使用的时间,因为文件系统可以被很快地恢复到可以正常工作的状态。
Automatic Restart
Windows 2000中的错误处理子系统和被保护的子系统减少了系统崩溃的可能性。然而,一旦系统不幸的崩溃了,系统可以设置为自动重新启动。另外,在重新启动前,内存中的内容可以写入日志文件中以帮助管理员确定崩溃的原因。因为Windows 2000中写入的日志文件总是相同的名字(缺省情况下为memory.dmp),因此在系统重新启动后,你应该为它重新命名。
IIS Reliable Restart
过去,重新启动系统是重启IIS服务的一个可以接受的方案,尽管不是一个最有效的方案。为了可靠的重新启动IIS,管理员需要重新启动四个服务,必须具有这一方面的专门知识,例如NET命令的语法。为了避免这些麻烦,Windows 2000中提供了IIS Reliable Restart特性,这是一个更快的,更简单的,也是更灵活的单步启动过程。
用户可以在MMC中通过鼠标右键重新启动IIS,也可以使用命令行应用程序。命令行应用程序可以通过其他的微软软件或第三方的工具来运行。如果INETINFO进程被不正常的停止了,IIS服务就可以通过Windows 2000 Service Control Manager的功能自动重性启动。
Storage Management
为了避免缺少磁盘空间带来的系统问题,Windows 2000提供了一些存储上的改进来帮助管理员花费最少的工作来维护足够的自由空间。例如,管理员可以不用关闭系统或者打断用户的工作就可以执行创建卷,扩展卷,或者镜像卷的任务。.
Windows 2000中的存储管理特性包括:
 Remote Storage Services. Remote Storage Services (RSS) 自动监视本地硬盘的自由空间。一旦主硬盘的自由空间在必须的水平以下,RSS就自动将已经备份的数据自动移动到远程的存储设备上,这样就可以提供需要的自由空间了。
 Removable Storage Manager. Removable Storage Manager (RSM) 允许多个应用程序共享本地的软盘和磁带驱动器,在一个服务器的系统中控制可以移动的媒体。
 Disk Quotas. Windows 2000 Server 支持磁盘配额,这个功能可以监测和限制NTFS分区的磁盘空间。操作系统根据用户拥有的文件和文件夹计算每个用户使用的磁盘空间。应用程序分配给用户的磁盘空间不能超过用户的磁盘配额减去已用的空间。
 Dynamic Volume Management. 允许不用关闭系统或者打断用户的工作就可以进行在线的管理任务。
Clustering(集群)
集群指将单独的服务器连接起来并且协调他们之间的通信,使他们可以作为一个整体来运行。如果任何一个服务器不能工作了,它的工作就自动转移到另外一台服务器继续进行(这个过程称为FAILOVER)。某些形式的集群使用负载平衡,这种功能使得计算的工作可以通过网络分配到相互连接的服务器上。
Windows 2000Advanced Server中集群的系统服务是一个标准的部件。一个服务器集群就是一个独立的服务器集合,这些服务器可以互相管理。集群的目标是提供高度的应用程序和数据的可用性。
集群使宕机的时间减到最少,减少了IT支持的花费,因为它提供了一个即使一个系统失败了整个系统也可以继续运行的结构。这就意味着集群解决了计划中的宕机(例如硬件或软件升级)和意外的宕机.
使用集群可以帮助组织减少总体花费。集群可以通过较便宜的硬件来构建,使用标准的连接和存储系统。微软与硬件制造商一起工作来测试和检验服务器和网络产品。
Advanced Server 提供了集群的系统服务,支持两个节点的集群。这个技术基于非常成熟的Windows NT Server 4.0 Enterprise Edition中的Microsoft Cluster Services (MSCS) 两节点集群技术,同时进行了下面的增强:
 支持rolling upgrades
 支持Active Directory™ directory service 和 MMC 集成
 从网络恢复
 Health monitoring.
 网络和磁盘的即插即用支持
 WINS, DFS,和DHCP支持
 对Cluster API的COM支持
Windows 2000 Datacenter Server支持四个节点的集群
总结
Windows 2000 Server操作系统与Windows NT的前面的版本相比,解决了大量的影响可靠性和可用性的问题。
有助于防止系统失败的特性会提高可靠性。这些失败经常是由于有问题的核心模式软件,或者内存冲突等引起的。过去,要创建和测试那些可靠得与操作系统内核通信的以及不会与其他的软件使用的内存产生冲突的软件非常困难。为了减少错误代码,新的核心模式代码测试工具使得开发人员更加容易的创建可靠的驱动程序和其他的系统组件。另外,结构的修改也有助于保护系统内存和核心的操作系统进程。
可用性通过减少维护和失败后重新启动所用的时间得到提高。Windows 2000引进了新的管理和维护特性来解决这些问题。通过减少大量的要求系统重新启动的任务,日常的维护不再像过去一样要求那么多的宕机。并且在系统失败时,改进了工具使得确定问题的原因和重新启动计算机更快乐。
Windows 2000中的可靠性和可用性的改进意味着商业用户可以信任并且依赖于他们的系统,从而为他们的系统用户和客户提供更高的满意度。对于IT用户来说,改进提供了更强壮的系统结构,更少的重启次数,以及更加可靠的应用程序性能。