使用快照备份 Ubuntu Linux 服务器的策略?

使用快照备份 Ubuntu Linux 服务器的策略?

我需要一些有关家庭文件服务器的备份建议。以下是我的 Ubuntu 8.10 家庭文件服务器上所有卷的挂载点、卷组、逻辑卷和已用/总空间。

/vgA/lvRoot[7.5G/50G]  
/tmp vgB/lvTmp [195M/30G]  
/var vgB/lvVar [780M/30G]  
交换 vgB/lvSwap [16.00 GB]  
/media1 vgC/lvMedia1 [400G/975G]  
/media2 vgC/lvMedia2 [75G/295G]  
/boot 分区(无卷组)[95M/200M]  
/video 分区 (无卷组) [450G/950G]  
/备份 vgD/lvBackupTarget [800G/925G]  
/主页 vgE/lvHome [85G/200G]  

我刚刚添加了一个 2.0 TB 的外部 USB 驱动器,我想用它来备份所有内容。(将所有内容放在一个 2.0 TB 驱动器上非常合适。如果需要的话,我实际上还有第二个外部 USB 驱动器。)我想备份“/”、var、/media1、media2 和 /home。我将单独处理 /boot 和 /video,因为它们不是逻辑卷。

对于所有逻辑卷,我预计会拍摄快照,然后将这些快照复制到 2.0 TB 外部 USB 驱动器。我以前从未做过这样的任务。如果我这样做,我可以使用我在这里找到的教程: http://www.howtoforge.com/linux_lvm_snapshots

我的问题是:

  1. 最佳总体策略是什么?我假设是 LVM 快照吗?

  2. 我应该如何准备、细分和安装 2.0 TB 外部 USB 驱动器?

    2.a. 我应该创建一个或多个常规分区还是应该创建具有一个或多个逻辑卷的物理卷?

    2.b. 是否建议在外部驱动器上精确镜像源 pv/lv 布局?如果建议,这是一个好的策略吗?

  3. 将快照保存到外部驱动器的最佳方法是什么?dd?

虽然这是一个策略问题,但还是希望得到实际命令的反馈。我需要循序渐进的指导手册式帮助,因为我不做太多的服务器管理工​​作。

(背景:这是一个家庭文件服务器,大约两年来我很少用到它。它无需太多干预就能完成工作。我用来备份所有内容的旧电脑最近坏了,所以我用外部 USB 驱动器替换了它,同时我想升级我的备份策略。以前,我只是将内容从 /backups 复制到另一台计算机,这在实际恢复情况下不会让事情变得非常容易。/backups 挂载点包含“大多数”重要数据的备份副本,但不包含 /boot 等的副本。顺便说一句,保存 /backups 的实际内部硬盘与其他存储设备是分开的。)

编辑:我将提出一个策略......
这个想法来自这里的评论: LVM 镜像 VS RAID1

“LVM 镜像用于将逻辑卷复制到不同的物理卷。它的本质是“将数据移动到不同的磁盘”。然后镜像就坏了……”

这很符合我的要求。理想情况如下:

  1. 在外部驱动器上建立 LV 镜像
  2. 断开与镜像的链接
  3. 在镜像上创建(持久)快照
  4. 一周后,重新同步镜像与原始源并更新镜像
  5. 断开链接并在镜像上创建另一个快照。

显然,镜像就像每周的完整备份。镜像上的快照将代表较早的时间点。

如果这可行并且节省时间,那么它将基于 LVM 在外部驱动器上提供良好的完整和差异类型备份。我以前从未听说过这样的策略。它会起作用吗?可以编写脚本吗?您有什么想法?

编辑 2:使用 LoopbackFS 和 LVM 快照创建便携式 DiskSafe
这篇文章看起来很有趣:
http://www.howtoforge.com/creating-portable-disksafes-with-loopbackfs-and-lvm-snapshots
不幸的是,我不明白如何将这些想法映射到我上面提出的策略中。我打算问最后一点,作为一个单独问题。我将保留我原来的问题,因为我仍然希望得到有关总体最佳策略的反馈。目前,我假设它是 LVM 镜像,风格类似于“使用 LVM 快照创建便携式磁盘安全”,但这可能是错误的。

答案1

这是我所做的。我制作了 LVM 快照,然后使用 dd 将它们复制到外部驱动器,这样就成功了。

正如评论中所述,我考虑过 rsync,但它不能满足我的需求。首先,它不会备份完整的正在运行的服务器。而且,从那种备份中恢复也不能真正满足我的要求。所以快照是解决方案。

顺便说一句,现在我正在使用 btrfs,因此快照更加容易。

答案2

我并不认为通过 USB 接口使用 LVM 是最聪明的想法...这听起来有点小题大做...您是否考虑过使用 cronjob 控制的 rsync 备份脚本?

相关内容