我有一个运行 ubuntu 的实时 vps 12.04.3 LTS (Precise Pangolin)
,虽然我已将我们所有的 Web 应用程序数据库备份到 amazon s3,并将我们所有的源代码备份到 bitbucket 和本地开发机器上,但我仍然希望在发生一些前所未有的灾难性系统故障时将停机时间降至最低。
实际上,我需要的可能是一个每隔 x 秒就将我的 Ubuntu 服务器克隆为磁盘映像或类似格式的应用程序,然后可以将其下载到我的本地计算机或上传到另一个 vps。也许它可以以某种git
方式执行此操作,类似于 Mac OSX 的时间机器,因此只保存和上传对系统的更改,而我的带宽不会被用尽,因为需要一遍又一遍地将最后一点信息上传到另一个位置。
如果要移动主机,我也想使用此磁盘映像。我还想使用它来备份我的本地 ubuntu 安装。
或者 Ubuntu 是否包含一些命令行工具,使此备份过程不那么令人生畏?我是否可以自己编写一个脚本来调用一些命令来备份我的 vps?
我知道 Ubuntu One 和我本地机器上的 Ubuntu 备份应用程序,那么我的服务器是否有等效的 CLI?
如果这意味着这些工具可用,我准备将我的 ubuntu 安装更改为 > 13。
现在,当 Windows 出现问题时,最好的办法是删除它并重新安装所有内容。但 Ubuntu 更胜一筹 :D ,那么我可以使用这个备份过程而不用担心错误、损坏和其他麻烦吗?
答案1
根据经验,我建议制定一个灾难计划,如果主服务器(和您)被流星击中,您(或其他人,在您死亡的情况下 - 是的,这是很严重的事情)可以从备份中完全重建资产。
大多数情况下,您实际上并不需要映像备份。它们在 VPS 环境中很难使用,因为您缺乏访问权限……而且您的 VPS 提供的任何东西在被流星击中时都可能消失。
我为我的一个客户制定的灾难计划涉及以下内容:
- 从 S3 获取备份。
- 使用 VPS 安装 Ubuntu(最新 LTS),然后以 root 身份登录。
- 将备份复制到 SSH 位置(附带基本说明)
- 运行备份中包含的脚本。这将解压、设置权限、创建正确的用户、应用安全性等。
- 修复您的 DNS(包括详细信息)以指向新 IP。
这是一项繁重的工作。而且测试也很重要。严格遵守所有操作(DNS除外),如果最后发现服务器无法正常运行,则需要返回并进行改进。
你需要继续测试。至少每个 LTS 版本你都需要回去检查它是否仍然有效。你的备份是否以正确的方式创建。
你可以假设肯定遵循指示的人的能力水平(你可以假设你的公司雇佣了具有一些培训,您可以在文档中解释人们需要知道如何做什么才能执行您的命令),但提到所有不完全标准的内容非常重要。
在非灾难情况下,如果您想将服务器上的某些内容移至另一台服务器,最好有这些脚本(和文档)。它可以让您快速了解情况,而无需花费数小时弄清楚为什么在一台服务器上运行三个不同的 nginx 副本。