我犯了一个错误,我想向其他人询问最佳的恢复方案。
家庭服务器中的启动驱动器是连接到 HP Smart Array P410 控制器的单驱动器 RAID 0。我试图添加第二个驱动器作为冗余镜像,但我犯了一个错误,在原始驱动器仍设置为 RAID 0 阵列时添加了驱动器,因此控制器立即开始将数据条带化到新驱动器。我立即从阵列中移除了第二个驱动器(在进度达到 1% 之前),令人惊讶的是,Windows 中的软件允许我这样做,没有任何错误、问题或额外的确认,并且成功执行了 2-3 秒,然后 Windows 崩溃,因为原始启动驱动器不再可访问。
我最好的恢复选项是什么?是否可以通过任何可启动实用程序让原始驱动器自行重新启动?有没有办法恢复原始驱动器的结构?
任何建议,将不胜感激。
答案1
P410 是一个 RAID 控制器,它将底层存储从 Windows 中抽象出来,Windows 只看到“HP LOGICAL VOLUME SCSI 磁盘设备”。
P410 不会自动将现有配置的阵列扩展到新插入的磁盘上。
插入替换磁盘时自动重建 RAID1/10/5/50/6/60 阵列与扩展 RAID 阵列是不同的任务。
SSA 中没有从阵列中移除磁盘的方法。
SSA(智能存储管理器,在 ACU 阵列配置实用程序之后出现)无法阻止磁盘被物理移除,它不知道磁盘已被移除,直到磁盘不再存在。
尽管 RAID0 的 RAID 扩展仅开始了 1%,但是构成 RAID0 阵列上配置的逻辑驱动器的一些块已被移动到另一个磁盘,通过在计算机开启时移除 RAID0 的一部分,RAID 集不再有效。
如果 P410 装有缓存模块,并且如果缓存模块有电池/闪存备份,那么如果计算机关闭,重新插入磁盘并启动计算机,那么 P410 有可能(但不太可能)恢复。
有商业软件,例如http://www.runtime.org/raid.htm但由于 RAID0 在扩展期间“失败”,因此有可能无法恢复任何内容。
根据数据的价值,可能有必要联系专业的数据恢复公司。
答案2
在这种情况下,您确实搞砸了,因为配置了 RAID 0 条带而不是镜像。
这真的就是全部了,除非你想将阵列转换为具有 4 个磁盘的 RAID 1+0 或具有 3 个磁盘的 RAID 5。这是一个糟糕的教训,但我认为你没有太多的补救措施。
备份?
答案3
现在不知道你是否还需要这里的答案,已经 20 天了...无论如何:
添加第二张磁盘后,RAID 控制器立即开始重塑您的 RAID。即使只有 1%,这个过程也已经开始了。现在有两种恢复方法:
如果您重新添加磁盘,RAID 控制器本身足够智能,可以继续进行重塑过程以完成它。然后,您只需要接受这样一个事实,即您现在有一个双磁盘 raid0。(获取第三张磁盘,将数据复制到那里,然后将 raid 重新创建为 raid1,再复制回数据。)
手动修复:
请注意,您的 raid 控制器可能将其自己的元数据存储在磁盘上,因此如果您按照我在此处的建议进行操作,则必须将所有数据复制到第三个磁盘(在继续之前,请确保数据在那里没有问题),然后您可以将数据从第三个磁盘复制回新创建的 raid 阵列,就像在步骤 1 中一样。但是,在执行此操作之前,您需要了解实际发生了什么:
假设您的磁盘包含数据(每个字母代表更大的数据块,其大小由控制器特定,如果需要,您可以弄清楚):
盘 1:ABCDEFGHIJKLMNOPQRSTUVWXYZ...
现在,添加光盘 2:
盘 1:ABCDEFGHIJKLMNOPQRSTUVWXYZ... 光盘 2:00000000000000000000000000000...
控制器现在开始重塑:
五 盘 1:ABCDEFGHIJKLMNOPQRSTUVWXYZ... 盘2:B0000000000000000000000000000... ^ 五 光盘 1:ACCDEFGHIJKLMNOPQRSTUVWXYZ... 第 2 盘:BD000000000000000000000000000... ^ 五 盘 1:ACEDEFGHIJKLMNOPQRSTUVWXYZ... 盘 2:BDF00000000000000000000000000... ^ 五 盘 1:ACEGEFGHIJKLMNOPQRSTUVWXYZ... 盘 2:BDFH0000000000000000000000000... ^
等等。
如您所见,没有数据丢失。事实上,即使没有任何元数据,您也可以找出当您取出光盘时重塑过程停止的确切位置。
现在,您需要一些dd
命令来将块 A、B、C 等复制到第三张磁盘,直到到达所有数据仍在磁盘 1 上的点。将其余数据dd
也复制到第三张磁盘,只需一次大调用即可。
然后检查磁盘 3 是否有效、干净、包含所有数据等。至少进行一次完整的文件系统检查。
之后,只需使用磁盘 1 和 2 创建一个新的 raid 阵列,并从磁盘 3 复制回数据。
采用这种方法时,磁盘 1 和 2 不连接到 RAID 控制器,而是直接连接到某个可以访问数据的接口,这些数据实际上存储在磁盘本身上。
你使用 Windows 吗?
...可能不适合这个任务...