墙裂推荐 PDF
付费版本:《UrBackup Server 2.4.x 管理手册中文版(网管小贾高级进阶版)》
<关注网管小贾微信公众号,发送 000946 获取>
此次翻译整理,并不是照本宣科,原文照搬,而是通过我大量的测试实操再结合手册中的内容做的一次大调整、大改写。
我做了以下这些事情:
- 修正了大量官网英文版中不通顺的语句(每个单词都认识,放一起愣不知道啥意思),使之更便于阅读、更易于理解。
- 根据实际场景操作添加了大量配图插画强化说明,有了图片理解起来就会很OK啊!
- 根据实际场景操作调整修正了部分说明内容(有部分官网内容由于版本更新问题,实际上并不准确甚至存在错误和误导)。
- 根据实际场景操作添加了大量官网手册中没有详细说明,甚至是压根就没提到的其他实用内容。
参考目录
- 1 开篇介绍
2 服务器安装
- 2.1
Windows
上的服务器安装 - 2.2
Ubuntu
上的服务器安装 - 2.3
Debian
上的服务器安装 - 2.4 在其他
GNU/Linux
发行版或FreeBSD
上安装服务器 - 2.5
GNU/Linux
服务器安装提示 - 2.6 操作系统独立服务器安装步骤
- 2.1
3 客户端安装
- 3.1
Windows
客户端安装 - 3.2 自动部署到多台
Windows
计算机 - 3.3
Linux
客户端安装 - 3.4
Mac OS X
客户端安装(追加内容,官网手册无此内容)
- 3.1
4 架构
- 4.1 服务器架构
- 4.2 客户端架构
5 安全
- 5.1 服务端
Web
界面的权限管理 - 5.2 让
Web
页面可通过SSL
访问 - 5.2.1
Apache
配置 5.2.2
Lighttp
配置5.3 客户端安全
- 5.4 传输安全
- 5.5 广域网模式安全
- 5.1 服务端
6 局域网中的客户端发现
7 备份过程
- 7.1 文件备份
- 7.2 映像备份
- 7.3 数据冲突概率
- 7.3.1 文件备份冲突概率
- 7.3.2 映像备份冲突概率
- 7.4 客户端和服务器上的备份前后脚本
- 7.4.1 客户端备份前后脚本
- 7.4.2 服务器后备脚本
8 广域网客户端
- 8.1 自动推送服务器配置到客户端
- 8.2 下载预配置的客户端安装程序
- 8.3 手动添加和配置客户端
- 8.4 通过
Internet
传输文件
9 服务器设置
- 9.1 全局服务器设置
- 9.1.1 备份存储路径
- 9.1.2 服务器网址
- 9.1.3 禁止磁盘镜像备份
- 9.1.4 禁止文件备份
- 9.1.5 自动关闭服务器
- 9.1.6 从更新服务器下载客户端
- 9.1.7 当新有服务器版本可用时通知我
- 9.1.8 自动更新客户端
- 9.1.9 最大同时备份数
- 9.1.10 最近活动客户端的最大数量
- 9.1.11 清理时间窗口
- 9.1.12 自动备份
UrBackup
数据库 - 9.1.13 本地网络的总体最大备份速度
- 9.1.14 全局软文件系统配额
- 9.2 邮件设置
- 9.2.1 邮件服务器设置
9.2.2 配置报告
9.3 客户端特定设置
9.3.1 备份窗口
- 9.3.2 高级备份间隔
- 9.3.3 排除文件
- 9.3.4 要备份的默认目录
9.3.5 虚拟子客户端名称
9.4 广域网设置
9.4.1 数据使用限额预估
9.5 高级设置
9.5.1 启用临时文件缓冲区
9.5.2 传输模式
- 9.5.3 增量映像备份样式
- 9.5.4 完整映像备份样式
9.5.5 批处理期间的数据库缓存大小
9.6 在增量文件备份期间使用符号链接
9.7 调试:所有文件备份的端到端验证
9.8 调试:使用客户端哈希验证文件备份
9.9 定期将
Internet
客户端的文件条目读入数据库9.10 文件备份后为客户端上的每个用户创建符号链接视图
9.11 每个客户端同时作业的最大数量
9.12 映像备份期间要分组快照的卷
9.13 文件备份期间要分组快照的卷
- 9.14
Windows
组件备份配置
10 恢复备份
- 10.1 恢复镜像备份
- 10.2 恢复文件备份
11 杂项
11.1 手动更新
UrBackup
客户端11.2 日志记录
- 11.3 使用的网络端口
- 11.4 在
GNU/Linux
上挂载(压缩)VHD
文件 11.5 在
Windows
上将VHD
挂载为卷11.6 解压
VHD
文件11.7 将多个卷
VHD
映像组装到一个磁盘VHD
映像中11.8 迁移非
btrfs
备份存储
12 存储
- 12.1 每晚备份删除
- 12.2 紧急清理
- 12.3 清理具有大量备份文件的服务器
- 12.4 清理具有
UrBackup
未知文件的存储文件夹 - 12.5 归档
- 12.5.1 归档窗口
- 12.6 合适的文件系统
- 12.6.1
Ext4/XFS
- 12.6.2
NTFS
- 12.6.3
btrfs
12.6.4
ZFS
12.7 存储设置建议
- 12.7.1
ZFS
- 12.7.2
Btrfs
7 备份进程
7.1 文件备份
服务器检测到最后一次增量备份的时间大于增量备份的时间间隔或最后一次完整备份的时间大于完整备份的时间间隔。
也可以根据客户端请求启动备份。
备份时服务器会创建一个新目录,它将用于保存备份。
此目录的架构是
YYMMDD-HHMM
,其中YY
是两位数字格式的年份,MM
是当前月份,DD
是当天,以及HHMM
表示当前的小时和分钟。该目录被创建于
备份路径
中名称与客户端名称相同的子目录中。
服务器向客户端请求文件列表构造。
客户端则构建文件列表并报告服务器已完成。
服务器从客户端下载
urbackup/data/filelist.ub
。如果它是增量备份,服务器会将新的
filelist.ub
与来自客户端的最后一个进行比较并计算差异。
服务器开始传输并下载文件。
如果备份是增量备份,则只下载新的和更改的文件。
如果备份是完整的,则从客户端下载所有文件。
服务器将文件下载到临时文件中。
此临时文件默认位于备份存储目录中的
urbackup_tmp_files
文件夹中,亦或者,如果你在高级设置中启用了它,则位于系统临时文件夹中。成功下载文件后,服务器会计算其哈希值并查看是否存在具有相同哈希值的另一个文件。
如果存在这样的文件,则假定它们是相同的,并保存为另一个文件的硬链接,同时删除临时文件。
如果不存在此类文件,则将文件移动到新的备份位置。
文件路径和哈希值会保存到服务器数据库中。
- 如果备份是增量备份并且文件未更改,则会创建指向先前备份中文件的硬链接。
如果备份是增量的,启用
在增量文件备份期间使用符号链接
并且包含 10 个以上文件或文件夹的目录未更改,则它将建立符号链接到上次备份中的同一文件夹。因为最后一个备份可能会在当前备份之前被删除,所以首先将该文件夹移动到一个池目录(客户端文件夹中的
.directory_pool
),然后从两个位置都建立链接。每次创建/删除指向该目录的另一个符号链接时,目录的引用计数都会增加/减少。
如果客户端在备份期间脱机并且备份是增量备份,则服务器会继续创建指向先前备份中文件的硬链接,但不会再次尝试下载文件。
无法下载的文件不会保存到服务器端文件列表中。
如果备份是完整的并且客户端离线,则备份过程将中断并保存部分文件列表,其中包括到目前为止下载的所有文件。
如果所有文件都已传输,则服务器会更新客户端备份存储位置中的
当前
符号链接以指向新备份。仅当客户端在备份期间未脱机时才会发生这种情况。
7.2 映像备份
服务器检测到最后一次完整备份的时间大于完整备份的时间间隔,最后一次增量备份的时间大于增量备份的时间间隔或客户端请求进行映像备份。
然后,服务器打开卷映像的客户端命令服务的请求连接。
客户端通过发送错误码或发送映像来应答。
映像是逐个扇区发送的,每个扇区前面都有其在硬盘上的位置。
客户端只发送文件系统使用的扇区。
如果备份是增量的,客户端会计算 512 kbyte
块的哈希值,并将其与之前的映像备份进行比较。
如果块的哈希值没有改变,它不会将该块传输到服务器,否则它会传输到服务器。
默认情况下,服务器将映像数据直接写入一个 VHD
文件。
如果在高级配置中启用临时文件设定,服务器首先将映像数据写入临时文件。
这个临时文件的最大大小为 1GB
。
超过此大小后,服务器继续启用新的临时文件。
映像数据并行写入 VHD
文件,并位于备份存储位置的客户端目录中。
VHD
文件的名称是 Image_<Volume>_<YYMMDD_HHMM>.vhd
。
<Volume>
为备份分区(卷)的盘符,YY
为当年,MM
为当月,DD
为当日,HHMM
则表示开始映像备份的小时和分钟。
从 UrBackup Server 1.4
版本开始,VHD
文件默认是被压缩的,这可以在映像备份设置中禁用。
在 Windows
上,没有工具可以直接挂载压缩的 VHD
文件。
有关在 Linux
上如何挂载 VHD
文件,请参见第 11.4
节。
想要解压缩映像文件以便它们可以挂载到 Windows 上,请参见 11.7
节。
压缩的 VHD
文件具有扩展名 .vhdz
。
VHD
文件使用正常压缩级别的 GZIP
压缩程序并以 2MB
一个区块压缩。
7.3 数据冲突概率
在本节中,我们将研究 UrBackup
备份系统认为数据相同的概率,即使它们有所不同。
这可能是由哈希冲突引起的(数据具有相同的哈希,即使数据不同)。
如果发生冲突,可能会导致文件链接错误或映像备份中的块未传输。
7.3.1 文件备份冲突概率
UrBackup
在文件重复数据删除之前使用 SHA512
对文件进行哈希处理。
相比之下,ZFS
使用 SHA256
进行块重复数据删除。
选择 SHA512
更安全,维基百科关于 生日攻击
的页面有一个 SHA512
的概率表。
根据这张表,需要 1.6 * 10(68次方)
个不同的文件(大小相同)才能达到 10(-18次方)的冲突概率。
它还指出,10(-18次方) 是常规硬盘的不可纠正误码率的最佳情况。
要拥有 1.6 * 10(68次方) 个 1KB
的不同文件,你需要 1.4551915 * 1056 EB
的硬盘空间。
因此,硬盘返回错误数据或数据在 RAM
中损坏的可能性更大,而不是 UrBackup
将错误的文件相互链接。
7.3.2 映像备份冲突概率
对于映像备份中的块也是使用 SHA256
,它们的大小为 512 kbyte
。
对于两个散列,与 SHA256
发生散列冲突的几率为 1:(2(256次方)) (p = 21256)
。
在最糟糕的情况下,增量映像备份中有 2TB∕512kbyte = 4194304
个不同的块。
在任何 4194304
个块中发生冲突的机会(最糟的情况)是 1 - (1 -21256)(4194304次方) ≈ 3.6 * 10(-71次方)
。
与例如 10(-18次方)
个常规硬盘具有不可纠正位错误的概率相比,这又是低得离谱。
7.4 客户端和服务器上的备份前后脚本
UrBackup
在备份的前期和后期都会在服务器和客户端上调用脚本。
本节将列出调用的脚本和脚本参数。
7.4.1 客户端备份前后脚本
在 Linux
上,会在 /etc/urbackup/
或 /usr/local/etc/urbackup/
(取决于 urbackup
的安装位置)中搜索客户端前备份脚本和后备份脚本。
在 Windows
上,默认情况下会在 C:\Program Files\UrBackup
中使用 .bat
文件扩展名搜索它们。
除 Windows
上的 prefilebackup.bat
之外,你必须先创建这些脚本才能使它生效。
Script/脚本 | Description/描述 | Parameters/参数 | On failure (return code not zero) /失败(返回非0代码) |
---|---|---|---|
prefilebackup | 文件备份前调用(早于快照/副本的创建) | 1: 0 表示完全备份,1 表示增量备份2: 服务器令牌 3: 文件备份组 |
索引失败且未启动备份 |
postfilebackup | 文件备份成功完成后调用 | 无参数 | 可忽略 |
preimagebackup | 映像备份前调用(早于快照/副本的创建) | 1: 0 表示完全备份,1 表示增量备份2: 服务器令牌 |
映像备份失败 |
postimagebackup | 映像备份成功完成后调用 | 无参数 | 可忽略 |
7.4.2 服务器备份后脚本
在 Linux
上,在 /var/urbackup
或 /usr/local/var/urbackup
中搜索备份后脚本(取决于 urbackup
的安装位置)。
在 Windows
上,默认情况下在 C:\Program Files\UrBackupServer\urbackup
中搜索它们,文件扩展名为 .bat
。
必须先创建这些脚本才能使用它们。
Script/脚本 | Description/描述 | Parameters/参数 | On failure (return code not zero)/失败(返回非0代码) |
---|---|---|---|
post_full_filebackup | 在完整文件备份完成后执行 | 1: 文件备份路径 2: 成功为 1 ,否则为 0 3: 文件备份组 |
备份失败 |
post_incr_filebackup | 在增量文件备份完成后执行 | 1: 文件备份路径 2: 成功为 1 ,否则为 0 3: 文件备份组 |
备份失败 |
post_full_imagebackup | 在完整映像备份完成后执行 | 1: 镜像备份文件的路径 2: 映像盘符 3: 成功为 1 ,否则为 0 |
备份失败 |
post_incr_imagebackup | 在增量映像备份完成后执行 | 1: 镜像备份文件的路径 2: 映像盘符 3: 成功为 1 ,否则为 0 |
备份失败 |
墙裂推荐 PDF
付费版本:《UrBackup Server 2.4.x 管理手册中文版(网管小贾高级进阶版)》
<关注网管小贾微信公众号,发送 000946 获取>
扫码关注@网管小贾,个人微信:sysadmcc
网管小贾 / sysadm.cc