可能重复:
在相同的服务器之间移动被攻击的硬盘,保存数据
我是一名服务器新手,使用 Sun x4600 和 IBM x3650。如果其中一个服务器坏了,我希望制定一个计划,从坏了的服务器中移除硬盘,并以最短的停机时间将它们热插拔到另一台服务器上。
在一系列尝试的练习运行中(这些服务器尚未投入生产使用),我发现这比我想象的要困难得多。接收 raid 控制器不会自动检测新驱动器。要真正将新驱动器暴露给操作系统,似乎总是需要在 raid 控制器的 bios 中重新启动和重新配置,您必须在其中“初始化”新驱动器,然后它才会将它们识别为 raid 阵列。这是不可接受的,因为它会从驱动器中擦除宝贵的数据!
其他人如何处理这个问题?如何将已备份的硬盘从使用不同 RAID 控制器的死机服务器热插拔到运行服务器,而不会破坏硬盘上的数据?这可能吗?
到目前为止,在这种情况下我能做的最好的事情似乎是将硬盘从死机服务器发送到数据恢复服务(因为除非 raid 控制器恰好完全相同,否则 raid 阵列显然是不可移植的,因此将它们放入另一台服务器以恢复数据是行不通的),为另一台服务器准备好空白驱动器并将备份传输到这些驱动器上,直到我有一台新服务器来替换死机服务器。这不可能,一定有更好的方法,对吧?
我会满足于让服务器使用单独的硬盘(没有愚蠢的 raid 控制器擦除其上的数据),该硬盘曾经位于 raid 1 阵列中。
答案1
不同的 RAID 控制器?一切都不确定。你可能能够使其与具有相同血统、相同固件等的非常密切相关的卡一起工作,但您的硬件供应商不太可能支持这一点。
老实说,这正是实施良好且经过充分测试的备份方案发挥作用的地方。您无需在不同硬件之间交换驱动器 - 只需恢复到新机器上,您就可以恢复正常运行。
答案2
正如您已经提到的,不同的 RAID 控制器以不同的、不兼容的方式存储有关 RAID 阵列的元数据。
一些操作系统提供软件 RAID。例如,Linux 有 mdraid,它在内核中运行,非常成熟和稳定。在任何最新的 Linux 机器上重新组装 mdraid 阵列相当容易。
当然,您会失去 RAID 控制器的优势(例如缓存,还有可能的 I/O 速度)。
Linux 就是一个例子。我认为许多其他主流操作系统(*BSD、现代 Windows 服务器、OpenSolaris,也许还有 IllumOS)中都有类似的功能。