Sobrique explains how the manual intervention causes your proposed solution to be sup-optimal和
ewwhite talks about probability of failure of various components.这两个IMO都提出了非常好的观点,应该加以深思熟虑.
然而,到目前为止,似乎还有一个问题似乎没有人评论过,这让我感到惊讶.你建议:
make [the current hot spare host] a cold spare, take the hard drives and put them in the primary host and change the RAID from 1 to 1+1.
这并不能保护您免受操作系统在磁盘上执行的任何操作.
它只能真正保护您免受磁盘故障的影响,通过从镜像(RAID 1)移动到镜像镜像(RAID 11),您可以大大减少开始时的影响.您可以通过增加每个镜像集中的磁盘数量(例如,从2磁盘RAID 1到4磁盘RAID 1)获得相同的结果,并且很可能在普通操作期间提高读取性能.
那么,让我们来看看这可能失败的一些方法.
>假设您正在安装系统更新,并且某些原因导致进程中途失败;也许有一个power and UPS failure,或者你有一个怪胎事故并且遇到了严重的内核错误(Linux现在非常可靠,但仍存在风险).
>也许更新引入了一个问题,你在测试期间没有捕获(你测试系统更新,对吧?),当你修复主要版本时需要故障转移到辅助系统
>也许文件系统代码中的错误会导致虚假的无效写入磁盘.
>也许一个胖手指(甚至是恶意的)管理员会使用rm -rf ../*或rm -rf / *而不是rm -rf ./*.
>也许您自己的软件中的错误会导致它严重破坏数据库内容.
>也许有病毒可以潜入.
也许,也许,也许……(而且我确信你提出的方法还有很多方法可能失败.)然而,最终归结为你的“两套总是同步”的“优势”.有时你不希望它们完全同步.
根据具体情况发生的情况,当您需要热备用或冷备用状态时,可以将其打开或打开,或进行适当的备份.无论哪种方式,如果故障模式涉及除硬件存储设备故障(磁盘崩溃)之外的任何事情,则镜像(或RAID镜像)的RAID镜像无法帮助您.像ZFS’raidzN这样的东西在某些方面可能会做得更好但在其他方面根本不会更好.
对我来说,如果意图是任何类型的灾难故障转移,这将使您提议的方法从一开始就不会进行.