使用坏块硬盘创建镜像软件raid。如何检查数据完整性?

rum*_*rak 2 raid windows-server-2008 software-raid windows-server-2008-r2

系统事件日志中有这样的错误:“设备,\Device\Harddisk1\DR1,有一个坏块。”

由于上述原因,我在此磁盘和其他磁盘上创建了 Raid 1。我使用的是 Windows Server 2008 R2 软件 RAID 卷。

磁盘管理器中的卷被标记为“失败的冗余”和“有风险”。我可以命令“重新激活磁盘”,它开始重新同步,但一段时间后它停止并返回到以前的状态。它停止在旧磁盘上的坏块上重新同步并在系统事件日志中创建相同的错误。

旧磁盘状态为错误,新磁盘状态为在线。

如何检查新磁盘上是否有旧磁盘的精确副本?它是服务器机器,所以我更愿意在这次检查期间让它保持运行。

我只想摆脱这个有问题的磁盘并保持它在新磁盘上的状态。我不关心坏扇区,因为我有数据备份。我只是不想重新安装整个东西。

磁盘管理画面

Sky*_*awk 5

首先:

  1. 事后创建 RAID 1 卷并不是处理磁盘错误的有用方法。

  2. 由于 RAID 1 镜像的创建在到达坏块时失败,因此您可以放心地假设您没有包含坏块的原始磁盘的完整副本。无需验证此假设。

  3. 卸载磁盘 1 后,chkdsk /r在驱动器 C: 和 G: 上运行应该标记坏扇区,将任何可读数据移动到驱动器的其他区域,并防止以后出现与相同坏扇区相关的读取错误。它不会阻止带有坏扇区的(可能发生故障的)磁盘的进一步恶化。

如果chkdsk /r没有解决问题,这里有一种将所有可恢复数据移动到新磁盘的方法,以避免由于坏块而导致的故障:

  1. 如果您还没有这样做,请确保您有当前的完整备份。
  2. 在 Windows 磁盘管理中,卸载并重新格式化磁盘 1。
  3. 正确关闭计算机。
  4. 使用 live CD 或 live USB 记忆棒启动到 Linux,例如 PartedMagic。即使是 Ubuntu 安装光盘也可以使用。
  5. 挂载两个磁盘。找出哪个物理卷是新磁盘,哪个是旧磁盘。(查看mount命令的输出,不带任何参数运行,可能会有所帮助。)
  6. 使用dd命令从旧硬盘驱动器复制到新硬盘驱动器。请务必指定noerrorsync选项,以便忽略坏块。它们的内容(已经丢失)将在新驱动器上用零替换,因此任何跨越坏块的文件都将被破坏。但是,这些文件已经无法读取,因此不会造成额外的伤害:

    dd if=/dev/<Disk0> of=/dev/<Disk1> bs=512 conv=noerror,sync

代替实际的设备标识符(例如sd0sd1在适当位置的,等)<Disk0><Disk1>以上。不要意外地从新磁盘复制到旧磁盘,因为这将是灾难性的。此外,请注意,由于块大小较小,此操作将运行缓慢(即比磁盘的顺序读/写速度慢得多)。但是,我认为它不会一起使用noerrorsync一起使用(忽略坏扇区在新驱动器上用零填充它们,而不会丢失任何可恢复的数据),除非dd将其块大小设置为磁盘扇区的实际大小.