改良Chkdsk如何提升Windows Server 2012数据可用性?

日期: 2012-10-25 作者:Bruce Mackenzie-Low翻译:唐琼瑶 来源:TechTarget中国 英文

用过Windows的管理员都知道,为了确保文件系统完整,不得不使用讨厌的chkdsk命令。NTFS会受到文件系统毁坏的影响,使用chkdsk可修复临时的或永久的问题,如坏扇区、遗失的文件、丢失的头文件和死链接。chkdsk让人讨厌是它要花费大量时间执行,卷上文件越多花的时间越长。它会独占对磁盘的访问渠道,所以用户需要等待几小时甚至几天才能访问他们的数据。

  Chkdsk近年来已有改进,磁盘驱动尺寸也在增大。九十年代的时候,NT 3.51有1GB磁盘就算很大啦。现在,磁盘大小都以万亿字节计,还拥有存储控制器RAID功能,允许配置大型LUN。随着磁盘增大,管理员平衡每个磁盘,让更多用户使用到容量……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

用过Windows的管理员都知道,为了确保文件系统完整,不得不使用讨厌的chkdsk命令。NTFS会受到文件系统毁坏的影响,使用chkdsk可修复临时的或永久的问题,如坏扇区、遗失的文件、丢失的头文件和死链接。chkdsk让人讨厌是它要花费大量时间执行,卷上文件越多花的时间越长。它会独占对磁盘的访问渠道,所以用户需要等待几小时甚至几天才能访问他们的数据。

  Chkdsk近年来已有改进,磁盘驱动尺寸也在增大。九十年代的时候,NT 3.51有1GB磁盘就算很大啦。现在,磁盘大小都以万亿字节计,还拥有存储控制器RAID功能,允许配置大型LUN。随着磁盘增大,管理员平衡每个磁盘,让更多用户使用到容量,就意味着更多用户文件。但是,在分析上亿文件时,chkdsk扩展性不好,所以管理员都不使用大型卷,免得延长宕机时间。

  这几年,微软都在努力改进chkdsk的执行时间。在chkdsk中添加开关,跳过大量索引和目录检查。还可配置故障转移集群,在损坏卷在线时跳过运行chkdsk。但这些改进只是掩盖了底层问题:扫描有大量文件的大型磁盘太费时间。下表显示在主要几个Windows版本中执行chkdsk需要花费的时间。

 操作系统版本 200万个文件 300万个文件
 NT4 SP6 48小时 100+小时
 Windows 2000 4小时 6小时
 Windows 2003 0.4小时 0.7小时
  2亿个文件3亿个文件
 Windows 2008 R2 5小时6.25小时 

  经修复的Chkdsk

  在Windows Server 2012与Windows 8中,企业级用户部署大型卷时更轻松。Chkdsk可以分两个阶段独立运行:在线阶段扫描磁盘发现错误,离线阶段修复卷。这样做是因为执行Chkdsk的大量时间花费在扫描卷上,而修复阶段只需要几十秒。

  更好的是,Chkdsk的多数功能透明实施,你都不知它在运行。现在,Chkdsk的分析阶段作为后台任务运行。如果NTFS在文件系统中发现一个问题,就会尝试在线自助修复。突发的错误将不用宕机,即时修复。其他错误将被标记,在时间方便的时候就会纠正。同时,卷仍在线,为数据提供即时访问。

  曾经,所有物理磁盘的健康每分钟都在检查,任何问题都会报告给时间日志和管理控制台,包括Action Center与Server Manager。纠正行为通常包括登陆驱动,只需几秒钟。现在,修复错误卷的宕机时间取决于修复的错误数量,而不是卷的大小或文件的数量。

  Windows Failover Clusters使用集群共享卷CSV,通过即时修复错误不宕机,也能从集成的chkdsk设计中受益。无论何时监测到错误,在对卷进行修复时,I/O将明显暂停,然后自动重启。这种弹性能让用户持续使用CSV,不存在宕机。

  命令行接口CLI chkdsk命令仍可用,可修复破坏严重的卷。事实上,新的chkdsk设计增加了几个选项:包括/scan、/forceofflinefix、/spotfix和/offlinescanandfix。还有个新cmdlet叫做repair-volume,与PowerShell提供相同的chkdsk功能。新PowerShell选项的简单说明如下图:

 选项 说明
repair-volume PowerShell cmdlet修理卷
offlinescanandfix 离线卷扫描和修复任何错误。相当于chkdsk / f。
scan 扫描卷,但不修复。所有检测结果添加到$腐败的系统文件。相当于chkdsk /扫描。
SpotFix 暂时将卷离线,然后修复$corrupt文件中的问题。相当于chkdsk / spotfix。

  来自:Microsoft TechNet

  例如,如果你怀疑某个卷导致服务器崩溃,通过首先扫描卷,记录$corrupt系统文件的任何错误来手动修复驱动。然后,在方便的时候将驱动离线,使用–SpotFix选项修复错误:

  PS C:> repair-volume –DriveLetter T –Scan

  PS C:> repair-volume –DriveLetter T -SpotFix

  关于repair-volume cmdlet的更多信息,使用命令get-help repair-volume –full查看。

  Windows Server 2012有大量改进,增加了数据的可用性。现在你可以使用大型磁盘,拥有成百上亿个文件,不能担心chkdsk会影响启动时间。多数新的chkdsk功能都是明码实施,CLI chkdsk工具和repair-volume PowerShell cmdlet都为管理员提供手动修复卷的功能。

相关推荐