我有一个在其中一个磁盘上显示坏块的HyperV盒子。 我从diskpart那里得到这个;
DISKPART> list disk Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 148 GB 4096 MB Disk 1 Online 1863 GB 0 B * Disk 2 Online 1863 GB 0 B * Disk 3 Errors 1863 GB 0 B *
我input;
sel disk 3 offline disk online disk
现在它只是显示在线。 够了吗? 据推测,它可以解决一个或两个坏块。 是否有任何方法重新格式化失败,并从命令行重新与数组同步。 我需要立即更换吗?
更新 – 修复后仍然显示“失败的路”
所以使用备用电缆,我插入了一个全新的硬盘。 显然,我应该离开现有的单位,因为它不能修复丢失磁盘arrays(我不知道为什么 – 这似乎是点)。 然后,我做了以下初始化;
sel disk 4 convert dynamic
然后修复arrays;
sel vol 0 repair disk=4
据我所知,这是应该使用新的磁盘4修复arrays没有故障的磁盘3 。 正如所料,我得到了这个;
DISKPART> list vol Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- * Volume 0 E E_RAID5_4TB NTFS RAID-5 3726 GB Rebuild Volume 1 C C_BOOT(MIR) NTFS Partition 39 GB Healthy System Volume 2 D D_DATA(MIR) NTFS Partition 52 GB Healthy Volume 3 G G_IMAGES(MI NTFS Partition 52 GB Healthy Boot
然而,大约12-24小时后,arrays恢复到新磁盘上的Failed Rd和1863可用空间。 我已经尝试了两次,结果相同。 我现在正在尝试更简单的recover命令,但我期待着相同的结果。
在过去的十年左右,这一直是我的RAID经验。 对于驱动器故障频率相对较低的个人服务器(大约每2-3年平均一次),我肯定认为Windows RAID不像任何硬件控制器那么麻烦,需要使用它来恢复。 但是,我不认为我曾经很容易地用硬件或软件恢复RAIDarrays,并按照承诺的方式实现梦想。
当(如我所料) recover命令无法修复磁盘时,我将尝试将新硬盘放在故障磁盘的位置,并尝试使其以这种方式联机。 我似乎隐约记得上次做类似的事情。
不过,即使是提醒我更换物理磁盘的步骤,我也会对这种情况有进一步的build议。
RAIDarrays将附带它自己的软件。 大多数控制器会让你运行在核心下的软件。 如果没有,你可以运行一些BIOS下,一些CD。 使用RAIDarrays通常需要引入新的硬盘作为热备份,然后将其添加到RAID本身并重新同步。 一个改变的硬盘现在是一个新的RAIDarrays的硬盘驱动器。 不pipe怎么样,你可能会失去你的整个arrays。 阅读有关您的RAID控制器的精细手册。
所以像我一直以来的经验一样,恢复过程似乎并不适用于logging的方式。
我通过将故障磁盘克隆到一个全新的磁盘,然后物理地插入故障磁盘来解决这个问题。 然后,我发出了diskpart recover命令(我相信这是一个repair的速记。
我设法做到这一点,没有ISO启动恢复光盘和外部硬件如下;
1)插入新磁盘(使用备用端口)。 并记下磁盘ID。 确保它离线。
2)将RAID卷清除干净; sel vol 0
REM Remove drive letter association - you may need to shut... REM ...down any services using this remove offline vol
3)find导致故障的物理磁盘。 detail vol会告诉你哪些磁盘在卷中, list vol将显示哪个磁盘ID有错误。 我的所有磁盘都是相同的型号,所以我物理拉出SATA电缆,等待几秒钟,再次发出list disk ,看看哪个磁盘ID丢失。 并记下了这一点。 那么在我的情况下,
sel disk 3 offline disk
4)克隆磁盘足够的窗口被愚弄,以为新的磁盘只是旧磁盘修复,我怀疑它需要有相同的磁盘'签名',所以我需要一个低级别的扇区复制。
大多数使用VSS或复制文件的克隆工具都不行,所以我find了这个: http : //hddguru.com/software/HDD-Raw-Copy-Tool/ ,它非常出色,并且有一个零安装EXE,看起来像它被devise成在WinPE下运行,所以在从命令行启动时,在HyperV服务器(所以可能是服务器核心)下工作得很好。
然而,我仍然需要知道哪些磁盘是源和目标,但工具显示的是磁盘型号和序列号,而不是磁盘部分ID,所以我用同样的技巧拔出我的(现在已知的)硬盘上的物理电缆并重新启动HDD Guru工具,直到我写下了需要从中复制的两个磁盘的标识符。
然后,我只是跑了读取错误后继续的副本。 我怀疑,我只需要复制前几个部门,但我却让它完成(12小时)。
5)现在拉出两条SATA电缆,取出故障驱动器,然后将新克隆的磁盘插回原位。 当恢复在线时,Windows应该在它认为发生故障的磁盘所在的同一插槽中看到具有相同签名的驱动器。
6)那么这只是一个重buildarrays(另外12小时)并将其重新联机的问题。
sel disk 3 online disk sel vol 0 online vol recover
12小时后…
sel vol 0 assign letter=e
然后我重新启动,因为它比重新启动我停止的所有服务(即Hyper-v)更容易;
c:\> shutdown /r /t 0
当我再次看,有一个健康的磁盘Hyper-V正在运行,我的虚拟机已恢复。 看来HyperV不会在发生故障的磁盘arrays上运行虚拟机。 看起来我可能在VHD的驱动之一,但这是另一回事。
令人怀疑的是,RAID恢复过程并不是一点儿聪明,但是我注意到,从Windows备份到ISA备份/还原的这些年来,甚至有很多Windows备份产品 – 他们似乎假设你将会恢复完全相同的硬件,即使硬件有问题 – 这使得备份毫无意义。
现在我又回来了 – 我希望这个成绩单可以帮助别人处于类似的位置。