用过Windows的管理员都知道,为了确保文件系统完整,不得不使用讨厌的chkdsk命令。NTFS会受到文件系统毁坏的影响,使用chkdsk可修复临时的或永久的问题,如坏扇区、遗失的文件、丢失的头文件和死链接。chkdsk让人讨厌是它要花费大量时间执行,卷上文件越多花的时间越长。它会独占对磁盘的访问渠道,所以用户需要等待几小时甚至几天才能访问他们的数据。
Chkdsk近年来已有改进,磁盘驱动尺寸也在增大。九十年代的时候,NT 3.51有1GB磁盘就算很大啦。现在,磁盘大小都以万亿字节计,还拥有存储控制器RAID功能,允许配置大型LUN。随着磁盘增大,管理员平衡每个磁盘,让更多用户使用到容量……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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都为管理员提供手动修复卷的功能。
翻译
相关推荐
-
如何优化Hyper-V动态迁移
当我们在执行Hyper-V的动态迁移时,系统会被冻结。那我们该如何减少迁移的范围以及优化数据传输的性能呢?
-
掌握Windows Server 2012 R2重复数据删除技术
重复数据删除技术是Windows Server 2012和Windows Server 2012 R2的自带功能。学习更多关于数据删除的技术来清除重复的内容,释放更多可利用的存储空间。
-
Windows Server 2012 SR-IOV技术工作原理解析
SR-IOV技术允许Windows操作系统和微软的Hyper-V或VMware的ESXi等hypervisor对服务器的磁盘I/O设备进行封装,管理甚至共享。
-
如何在Windows Server 2012中使用BitLocker
BitLocker是所有Windows Server 2012版本中的加密特性,可以保护你放在PC和硬盘上的数据。你应该学习如何安装并使用它。