我有一台 Ubuntu 服务器,我想每天备份它。我希望能够通过单击几个按钮(或按键)来恢复整个系统。另外,我不想关闭/卸载我的分区来备份它们。到目前为止,我想到的是 cron、perl、LVM 和 FSArchiver 的组合。
- Cron 触发一个 perl 脚本来......
- 使用 lvcreate -s 制作每个分区的快照
- 挂载每个快照
- 运行 FSArchiver 将每个 ext4 分区备份到 CIFS / SMB 共享
- 卸载快照
- lv删除快照
- 保存日志文件等。
因此,我可以像我描述的那样自己完成所有这些工作,但如果已经存在解决方案(可能具有更多功能,例如差异备份),我会选择它。rysnc 不会备份已安装驱动器上使用的系统文件(对吗?),所以这是不可能的。我搜索了一番,但没有找到一个可以像我上面描述的那样做的解决方案。您使用过的任何适用于已安装系统分区的解决方案吗?
答案1
首先,不要再尝试推出自己的备份解决方案。
使用真正的备份软件进行备份。
真正的备份软件经过广泛测试,多年来一直受到企业系统管理员的青睐。您可以放心,使用它您将能够恢复您备份的内容。
至于已安装的文件系统/活动文件问题 - 任何备份软件(rsync、tar、bareos/bacula,甚至是古老的cp
命令)都会复制 Unix 系统上“正在使用”的文件。
出现的问题是,如果这些文件正在被主动修改,您不知道您抓取它们时的状态 - 您可能会在备份文件时完全重写文件,最终将无用的垃圾放在磁带上。
一般来说,为了确保良好、一致的备份,您的文件系统(或至少您正在备份的子集)必须处于静止状态。
目前我所知道的唯一一种全自动解决方案是Windows 虚拟专用网络。您对 LVM 快照/安装/备份/卸载/销毁过程提出的建议基本上就是 VSS 通过其 API 所做的事情。
您可以使用真正的备份软件和一点创造力来实现您描述的快照解决方案(在 bareos 的情况下,您可以使用ClientRunBeforeJob
和ClientRunAfterJob
脚本来实现),因此它本质上是透明的,并且是一个很好的解决方案 - 我衷心支持它。
请注意,这仍然不是“一键”恢复。从备份恢复后,您几乎肯定仍需要进行一些手动工作才能恢复到正在运行的系统。这就是您运行恢复测试的原因。
就我的观点而言,我认为“一键恢复”并不存在,任何告诉你有的人都在试图向你推销软件。可能昂贵的软件。
最接近一键恢复的是将系统作为虚拟机运行,定期对其进行快照,并按照 Zoredache 的建议备份快照.
关于使用真正的备份软件当您获取 VM 快照时,我的答案顶部的内容仍然适用(但您可能不需要执行 LVM 快照,因为 VM 快照在创建后将按照定义处于静止状态。
虚拟机管理程序的备份软件选择留给读者练习——可以是 Linux 上的 bareos、Windows 上的 ArcServe,或者vSphere 数据保护根据您的需求和预算在 VMWare 集群上......