UPS 发生故障,托管 6 台虚拟机的 Hyper-V 机箱瘫痪(如果有关系的话,所有虚拟机均为 Windows Server 2008 R2 x64)。当我重新启动时,它没有自动执行 chkdsk(我以前见过这种情况)。我没有注意到任何虚拟机在重新启动时是否执行了 chkdsk。
在这种情况下,是否适合:
- 重新启动时在 VM 主机的 C:\ 上安排 chkdsk 吗?
- 在每个虚拟机的 C:\ 上安排一次 chkdsk?
- 上述所有的?
或者我是否应该只在 Windows 建议时才执行此操作,并在启动过程中自行执行此操作?Windows 如何“知道”何时适合执行此操作?
TL;DR:如果 VM 主机出现故障,我是否在其和所有 VM 上运行 chkdsk,或者如果有必要,是否仅让 Windows 执行此操作?
答案1
如果您觉得合适,那就合适。对于重要的服务器,运行 chkdsk 是一个好策略。请权衡一下您将经历的停机时间。
微软认为没有必要。
由于“自我修复 NTFS”和“事务 NTFS”,Windows Server 2008 在断电后不再执行 chkdsk。来自有关 Server 2008 和事务 NTFS 的维基百科文章:
自我修复 NTFS
在 Windows Vista 之前的 Windows 版本中,如果操作系统检测到 NTFS 卷的文件系统损坏,它会将该卷标记为“脏”;要纠正卷上的错误,必须将其脱机。使用自我修复 NTFS,会在后台生成一个 NTFS 工作线程,对损坏的数据结构进行本地修复,只有损坏的文件/文件夹仍然不可用,而不会锁定整个卷并需要关闭服务器。操作系统现在采用 SMART 检测技术来帮助确定硬盘何时可能发生故障。事务性 NTFS
Windows Vista 及更高版本操作系统的一个组件。它将原子事务的概念引入 NTFS 文件系统,允许 Windows 应用程序开发人员编写保证完全成功或完全失败的文件输出例程。
答案2
突然关机后总是使用 chkdsk。但如果服务器不是很重要,我就不会这么做。
此外,服务器越重要,定期测试备用电源就越重要。甚至要备份备份等等。