仅用xfs_freeze快照mdadm RAID是否安全?

是否保证了mdadm(并通过经验值得信赖)是否仅使用xfs_freeze拍摄快照是安全的? 我遇到了mdadm仍然在后台工作的含糊不清的警告,因此在不拆卸RAID的情况下使快照变得不安全,但我宁愿避免在可能的情况下进行拆卸/重新组装。

快照是通过EBS进行块级别的,但我不太关心快照过程,而不是关于拍摄快照时正确的数据是否一致。

除了mdadm以外的选项,如果它们使得这个过程更加可靠的话,我们可以使用它 – 我们以前使用LVM条纹,但是由于跨磁盘快照的报告不可靠,所以专门切换到了mdadm。 我们也在研究一些组合,例如使用mdadm进行条带化,使用LVM层进行快照。

理想的解决scheme是避免不得不停止从RAID(本例中为Mongo)运行的服务,并且将采用原始数据格式,以便新服务器可以附加已恢复快照的arrays,而不需要额外的步骤按摩数据到位。 (我们已经有了可以将快照重组到新服务器的代码 – 我们只需要可靠地创build这些快照。)

即使这个问题还比较老,我想简单回答一下EBS-RAID快照是否安全的问题。 我们正在使用PIOPS EBS-RAID0,我们通过以下步骤定期备份此RAID:

  1. 停止服务(我们的DB)
  2. fsfreeze RAID的挂载点(我们使用的是ext4,但是这应该能够与所有可以冻结的fs一起工作)
  3. 调用EC2-API来快照属于RAID的设备
  4. 等待快照的callback(你不需要等到快照完成 – API的callback就足够了)
  5. 解冻RAID
  6. 开始服务

整个过程大约需要1-2分钟。

在过去,我们经常更改我们的实例和系统,我们总是使用这些快照将数据复制到新实例(并在那里重buildRAID),以减less副本之间的同步时间。 我们从来没有任何与腐败数据的问题 – 快照正常工作!

希望这有助于正在寻找答案的人。