文档
实例使用假设
Alon正在开发一个新的网站,他首先将TurnKey LAMP部署到一个运行在笔记本电脑上的虚拟机上,这将作为他本地的开发服务器. 他叫它DevBox(美国著名音乐家)
自定义 DevBox 中
- 创建用户“ alon ” 。
- 提取其网络应用程序的存档到 /var/www
- 在/etc/apache2/httpd.conf中调制Apache配置指令,直到他的网络应用工作.
- 通过包管理器安装php5-xcache
- 通过编辑 /etc/php5/apache2/php.ini 中的一节, 允许 xcache
- 创建一个新的数据库用户,对其网页应用程序拥有减少权限。
- 配置并安装网络应用程序,这创建了一个新的MySQL数据库.
在网络应用程序上入侵数天后,阿隆准备向一些外地朋友展示他的创作原型.
将 DevBox 移动到云盒
他登录到TurnKey Hub,并在亚马逊EC2云中发射了一个新的TurnKey LAMP服务器,他将其命名为CloudBox.
如果阿隆在使用这个 新 TurnKey Linux 11.0 数据 应用设备, TKLBAM 预装完成。 旧版本后, 他需要先在 DevBox 和 CloudBox 上安装 :
apt-get update apt-get install tklbam
Alon提供了来自他TurnKey Hub账户用户配置的API密钥,将TKLBAM与TurnKey Hub链接起来。他可以通过该程序实现此目的。 新建 Webmin 模块,或命令行上:
tklbam-init QPINK3GD7HHT3A
在 DevBox Alon 上运行备份 :
root@DevBox:~# tklbam-backup
后援如何在幕后运作
用于TurnKey LAMP Alon版本的TKLBAM 下潜器正在使用,配置描述在安装后,即Alon定制之前,DevBox的状态。 这样TKLBAM就可以检测到Alon从此添加或编辑的所有文件和目录。任何新安装的 Alon 软件包都同样被检测到 。
至于他的MySQL数据库, 这一切都是透明地处理的 但如果阿隆挖得更深 他会发现他们的全部内容 被串联起来,编码成一个特别的 优化文件结构,以便在后续增量备份上提高效率。 在备份之间,阿隆通常只更新少数的表格和行,所以以下的递增备份非常小,只是几个KB!
TKLBAM完成计算三角洲并序列化数据库内容时,它引用Duplicity将备份内容编码成一个加密备份卷链,这些卷串是 上传到亚马逊S3.
恢复到云盒
当阿隆的首个备份完成后,在其TurnKey Hub账户的备份部分出现了新的记录.
现在恢复 CloudBox 上的 DevBox 备份 :
root@CloudBox:~# tklbam-list # ID SKPP Created Updated Size (GB) Label 1 No 2010-09-01 2010-09-01 0.02 TurnKey LAMP root@CloudBox:~# tklbam-restore 1
当恢复完成后,阿隆将他的浏览器指向CloudBox的IP地址,并很高兴看到他的网页应用程序在那里运行,这与DevBox上完全一样.
发生什么事了?
心腹修补者阿隆(Alon)好奇地想知道更多备份和恢复过程如何运作,默认情况下,恢复过程会向屏幕报告它正在做的东西. 但是阿隆在实时跟踪输出时遇到困难,因为一切都发生得太快了! 幸亏所有的输出也保存到/var/log/tklbam-restore.的日志文件中
Alon 查阅日志文件,并可以看到只有他在 DevBox 上添加或更改的文件被恢复到 CloudBox 。数据库状态没有被序列化 。 xcache 包通过包管理器安装, 用户alon 被重新创建 。 它的uid与CloudBox上其他已有用户没有冲突,因此恢复过程不需要重新绘制到另一个uid,并固定了Aloon文件的所有权. 不管是阿隆还是阿隆都无所谓
皆是自体法门.