我正在尝试为公司的关键信息设置一个异地、离线备份程序。我们已经使用 RSYNC 设置了一个办公室冗余备份,每天一次将所有内容备份到两个单独的硬盘上,我们希望将现有的备份系统复制到第三个驱动器上,然后我们可以每月左右将其移除并运到异地。
我的问题与复制步骤有关。我们正在寻找简单但自动化(或可以轻松实现自动化)的方法。我最初的想法是将我们当前的一个备份驱动器重新转换为 RAID1 对,获得一个热插拔驱动器托架(即类似 Antec Easy SATA 的东西http://store.antec.com/Product/accessories-other/easy-sata/0-761345-30750-5.aspx),购买几个额外的驱动器,并根据需要进行更换,让 RAID 自动重建驱动器。
问题是,我没有使用 RAID 的经验,所以我不知道会发生什么。我尽量不重新发明轮子。在我看来,使用 RAID 是理想的,因为
- 添加新的备份驱动器对于我们当前的设置是透明的,并且不需要在实际设置 RAID 之外进行任何更改
- 备份数据的附加程序将减少到
- 获取当前驱动器
- 热插拔空白替换驱动器(或要覆盖的先前备份)
- 系统将自动将更换的驱动器视为故障并重建它;重建完成后,驱动器将始终保持最新状态并随时可以移除
是否进行 RAID实际上按照我的想法工作吗?或者有没有简单的方法让它以这种方式运行?如果没有,是否有其他设置可以如此简单地维护,只需拿起即可使用?
答案1
从我的观点来看,这是一个非常糟糕的想法,RAID 1 从未被设计为备份解决方案,而是一种冗余工具。话虽如此,有大量工具可让您备份完整的驱动器(快照),并且工作速度也相当快,例如 Windows 上的驱动器映像 XML。Linux 当然有相同或类似的工具可用。
答案2
嗯,从高层次来看,这听起来很有道理。但是,正如人们所说,魔鬼藏在细节中。谁会更换驱动器?在拔出备份驱动器之前,您是否始终会验证另一个驱动器没有发生故障?
如果没有恢复过程,备份就不是备份。您的备份是什么?五年后,您还能购买可读取此驱动器的 RAID 卡吗?
我的建议是寻找另一种方法。
答案3
从最基本的层面上讲,是的,这是可行的。控制器会将新添加的驱动器视为发生故障,并将工作驱动器的内容镜像到该驱动器上。实际上,更难的问题在于在移除后保持备份驱动器的一致状态。不过,除非在移除过程中关闭系统,否则您将很难找到一种方法来确保文件系统在移除驱动器时处于一致状态。
话虽如此,我认为您最好使用能够识别文件系统的高级解决方案进行同步。这样您就可以清除对驱动器的写入并保持时间点一致性。
我认为我对此类事情的总体偏好是 RAID 1 < rsync <巴库拉(http://www.bacula.org/en/,http://en.wikipedia.org/wiki/Bacula)
答案4
我已经使用 raid 1 成功完成了异地备份。我建议您在 Linux 下使用 mdadm 进行此过程。mdadm 是个好主意,因为无论多少年后,您始终能够在 Linux 下安装和检索数据。按照您说的构建 raid1 集。每个月标记驱动器(使用物理驱动器上的标签)及其插入或移除的日期。这将确保您始终拉出较旧的驱动器。在拉出驱动器之前,您应该执行以下步骤
- 使用 mdadm --detail /dev/md0 检查阵列的状态
- 强制系统使用 echo "check" > /sys/block/md0/md/sync_action 重新验证数据的奇偶校验
- 关闭机器,拔出驱动器,放入新的驱动器并将其重新添加到设备中
如果您无法让数据丢失,您可以将驱动器以只读模式安装一段时间,然后热拔出驱动器。如果您使用的是 SATA 驱动器,则可以在系统运行时添加和删除它们。以下是包含更多特定命令的链接:
http://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array