文档
设计概况
读取 "我们开始设计理想的备份系统" 以较不正式的概括。
关键要素
TurnKey Hub 密码: 提供备份管理前端的网络服务. 用户将一个应用设备链接到一个API KEY所识别的特定Hub账户.
Webmin 模块: 扩展 Webmin ,以提供一个方便的替代命令行使用,您可以从任何网页浏览器中使用。登录到您的 应用设备 的 Webmin 界面,以看到它正在运行中 。
备份配置:描述应用设备的特定类型和版本的安装状态. 在您第一次备份时, 或如果有配置更新( 如错误fix) , 将从 Hub 下载适当的配置文件 。
三角洲: 一组自安装到文件,用户,数据库和软件包管理状态后的变化. 这是在备份时间通过比较当前系统状态和备份配置描述的安装状态来计算出来的.
加密密钥: 本地生成到您的服务器上, 并用于直接加密备份卷。 默认情况下, 密钥管理由 Hub 透明处理 。 对于额外的安全性,加密密钥可能是 密码句保护加密。可以创建代管密钥,防止数据丢失,以防密码被遗忘。
双重:后端原始,即备份和恢复操作引用来编码,传输和解码包含三角洲的加密备份卷. 它直接与存储目标(如亚马逊S3)进行通信,在正常使用中,存储目标由Hub自动配置. Duplicty使用rsync算法支持高效的递增备份,它使用GnuPG进行对称加密(AES).
亚马逊 S3: 一种可高度重复的云存储服务, 默认情况下加密备份卷会被上传到其中。 为了改善网络性能, 备份是 已路由到最接近的数据中心,基于 GeoIP 检索表。
任何由Duplicity支持的存储目标都可以强制,但这使得使用复杂化,因为Hub只能与S3合作. 这意味着备份,加密密钥和认证证书需要由手管理.
作业原则
每个 TKLBAM 支持的 TurnKey 应用设备 都有相应的备份配置描述安装状态,并包含一个 应用设备 特定文件和目录列表到 检查更改。此列表不包括软件包管理系统维护的任何文件或目录。
三角洲( I. e. changet) 是通过比较当前系统状态和安装状态来计算出来的。 只有这个三角洲被备份, 只有这个三角洲在恢复时被重新应用 。
数据库内容有例外。 除非用户另作配置, 否则这些内容会被备份并恢复完整 。
除了直接文件系统更改用户可写入目录(例如 /etc, /var/www, /home))外,备份三角洲的计算包括一个列表,其中包含任何新软件包,而不是 最初在应用设备的安装清单中. 在恢复期间,利用软件包管理系统从配置的软件库中安装这些新软件包。
备份系统的用户和组合并后恢复。 如有必要, 恢复的文件和目录的 uids / gid 重新映射以保持正确的所有性 。
同样,文件和目录的权限也根据需要进行调整,以匹配备份系统中的权限.