HomeLab数据备份:打造坚实的数据安全防线
HomeLab数据备份:打造坚实的数据安全防线
dong4j
封面来源: Unsplash-Kvistholt Photography
数据备份
备份是 Homelab 必不可少的一部分,按照不同的系统架构,备份大致有下列几类:
- 文件级别的备份:直接在应用所属宿主机上运行定时任务,增量或者全量将文件复制到其他远程位置,可以使用 Synologo Drive, Rsync, Rclone, Restic 等这类工具进行备份;
- 应用级别的备份:通过应用完成备份,例如 Gitlab, Portainer, 1Panle, Home Assistant 等自带的备份功能,可以将用户数据和数据库等数据一起备份到远程位置,
- 系统级别的备份:例如 macOS 自带的备份(Time Machine),树莓派和 OpenWrt 的全系统备份, OpenWrt, DSM 等自带的系统级备份功能, 或者其他软件实现的全盘备份(比如 rsync + dd 命名)。
- 虚拟化备份:在有虚拟化的时候,整个操作系统等于多个文件,所以只需要将此文件备份便能实现整个虚拟机的备份,比如 Parallels Desktop 的 *.pvm 虚拟机文件, UTM 的 *.utm 虚拟机文件, KVM 的虚拟机文件等;
- 存储卷备份: 一种 完整备份策略,会将整个存储卷(文件系统)作为一个单元进行备份, 比如 Synology Snapshot Replication;
- RAID (磁盘冗余阵列):虽然 RAID 不能算作一种备份方式, 但是提供了一定程度的数据冗余与可靠性, 比如我的 2 台 NAS 都通过 SSD 组了 RAID1, 确保在一块 SSD 坏了的情况下系统仍然能够运行.
数据备份这一章我会先从各个服务器开始总结, 因为最后备份文件都会汇总到 DS923+ 上, 所以会最后说明 Synology NAS 的备份.
相关文章:
- 先导篇:我的 HomeLab 概要;
- 硬件篇:介绍我所拥有的硬件设备;
- 网络篇:包括网络环境、异地组网与网络安全;
- 服务篇:使用 Docker 搭建的各类服务;
- 数据篇:包括数据存储方案、备份方案和数据恢复方案;
- HomeLab数据同步:构建高效的数据同步网络
- HomeLab数据备份:打造坚实的数据安全防线
- HomeLab 网络续集:升级 10G 网络-再战 10 年
- NAT 内网穿透详解:揭秘网络连接背后的奥秘
树莓派备份
树莓派设备有 4 个:
- Raspberry Pi Zero 2 W
- Raspberry Pi 4B
- Raspberry Pi 5B * 2
TF 复制
在 Linux 系统中一键备份树莓派系统 SD 卡的脚本 脚本文件来源: https://blog.csdn.net/qingtian11112/article/details/99825257
使用方法:
step1:下载脚本文件 rpi-backup.sh
到 Linux 系统中
step2:把需要备份的 SD 卡插入 Linux 系统中,用 df -h 命令查询下 SD 卡对应的设备名。
step3:进入脚本文件 rpi-backup.sh
所在目录,只需要下面两行命令即可完成 SD 卡备份,最终 img 文件会生成在 ~/backupimg/
文件夹下:
1 | # 赋可执行权限 |
dd 命令
1 | # 1.使用 dd 复制文件到 NAS(提前使用 NFS 将 NAS 挂载到树莓派上) |
上述方式在树莓派上执行, 需要提前挂载 NAS 到本地.
通过网络复制
1 | # 将 远程的 /dev/mmcblk1 备份到 本机的 backup_image.img |
此方法同样适用 eMMC 备份, 出处: HOW TO CLONE EMMC (NANOPI NEO CORE).
上述方式都会生成一个 img 文件, 后续如果要恢复, 可以使用像 balenaEtcher 这类工具将最新的 img 文件烧录到 SD 卡上.
使用第二种 dd 命名 备份树莓派 SD 卡时, 需要在每台树莓派上执行, 且还需要挂载 NAS, 所以我使用另一种方式集中化处理的方式.
有 2 种方式:
- 直接在 NAS 上通过网络复制 SD 卡, 然后使用 pishrink.sh 减小镜像大小;
- 在其他主机上执行, 使用 pishrink.sh 减小镜像大小后再自动上传到 DS923+;
第一种方案的问题是 pishrink.sh 无法直接在 DS923+ 上运行, 为了避免安装 pishrink.sh 的依赖对 NAS 有影响, 我的计划是在 M920x 上执行整个流程, 最后将压缩后的镜像上传到 DS923+ 上.
所以第一步就是在 M920x 上安装依赖并下载脚本:
1 | sudo apt update && sudo apt install -y wget parted gzip pigz xz-utils udev e2fsprogs |
下面是自动化脚本:
1 |
|
添加定时任务:
1 | # pishrink.sh 需要 root 运行 |
1 | 0 10 * * 7 /mnt/2.870.ssd/pi.backup/backup.sd.sh pi4 /dev/mmcblk0 3 |
参考
- 再推荐一个备份树莓派系统的脚本 | 树莓派实验室
- 【小白教程】给你的 openwrt 启动盘做个可恢复“快照”。-OPENWRT 专版-恩山无线论坛 - Powered by Discuz!
- 树莓派系统备份_51CTO 博客_树莓派备份
- 树莓派安装系统和系统备份还原_树莓派备份系统镜像_红色小小螃蟹的博客-CSDN 博客
- 树莓派备份系统到硬盘 | AllanHao
- GitHub - nanhantianyi/rpi-backup: raspberry pi backup,树莓派系统备份,最小镜像备份
- 树莓派系统镜像一键备份脚本, 最小化镜像保存-次世代 BUG 池
- GitHub - mghcool/Raspberry-backup: 树莓派备份脚本
- 树莓派备份系统到硬盘 | AllanHao
- 克隆树莓 Raspberry Pi Mode4 的 TF 卡_tf 卡克隆-CSDN 博客
- 教你树莓派 4B 的系统备份方法教程大全(全卡+压缩备份) - bongem - 博客园
- GitHub - BigBubbleGum/RaspberryBackup: 在 Linux 系统中一键备份树莓派系统 SD 卡的脚本
- PiShrink && 在 macOS 中运行
- 树莓派系统压缩备份——PiShrink 应用实操-CSDN 博客
- 树莓派系统镜像一键备份脚本, 最小化镜像保存-次世代 BUG 池
- 树莓派系统镜像备份及压缩至最小的方法_树莓派压缩备份-CSDN 博客
- GitHub - elespec/rpi-backup: RaspberryPi Backup shell
- MAC 上备份(复制)树莓派镜像 | 个人笔记存档
OpenWrt 备份
OpenWrt 设备有 4 个:
- R2S * 3
- R5S
自动备份脚本
1 |
|
脚本的作用是自动生成备份文件, 然后通过 rsync
上传到 NAS 的 /volume1/driver/Others/Router/backup/automatic
目录下, 而 /volume1/driver
目录后续会被其他套件备份.
脚本中的 ds218 是一个 ssh 别名, 需要在 .ssh/config 中配置, 且配置免密登录.
然后在 OpenWrt 系统中添加定时任务:
1 | # 每周 2, 4, 6 早上 5 点执行 |
crontab 规则:
1
2
3
4
5
6
7
8 * * * * * 需要执行的命令
- - - - -
| | | | |
| | | | ----- 一星期中的第几天 (0 - 6) (其中0表示星期日)
| | | ------- 月份 (1 - 12)
| | --------- 一个月中的第几天 (1 - 31)
| ----------- 一天中的第几小时 (0 - 23)
------------- 一小时中的第几分钟 (0 - 59)示例:
分钟 0-59 小时 0-23 月内第几天 1-31 月份 1-12 每周第几天 0-6(0 表示周日) 效果 * * * * * 每分钟执行一次 */5 * * * * 每五分钟执行一次 12 */3 * * * 每过 3 个小时后的第 12 分钟执行一次 57 11 15 1,6,12 * 在 1、6、12 月中的 15 号的 11 点 57 分各执行一次 25 6 * * 1-5 工作日期间(周 1 到周 5),每天早上 6 点 25 分执行一次 0 0 4,12,26 * * 每月的第 4、12、26 日,晚上 12 点执行一次
WebUI 手动备份
在修改了配置后及时手动执行备份操作:
下载后的备份文件我会直接扔到 ~Synology/Others/Router/backup/manual 以同步到 NAS 的 driver 目录, 而此目录最终会被其他套件备份.
eMMC 备份
eMMC 设备有 4 个:
- H28K (Armbian)
- HB1 Box (Armbian)
- NanoPi NEO4 * 2 (Ubuntu/Debian)
首先需要确认 eMMC 的分区:
1 | ➜ ~ fdisk -l |
可以确认分区为 /dev/mmcblk1, 然后使用下面的命令构建镜像:
1 | # 将 远程的 /dev/mmcblk1 备份到 本机的 backup_image.img |
因为我有多个 eMMC 设备, 所以写了一个自动化脚本执行:
1 |
|
将上述脚本保存为 backup.emmc.sh
,并赋予执行权限:
1 | chmod +x backup.emmc.sh |
运行脚本:
1 | ./backup.emmc.sh <REMOTE_EMMC> <REMOTE_DEVICE> <BACKUP_DIR> <BACKUP_PREFIX> <MAX_BACKUPS> |
- REMOTE_EMMC:要备份的设备的别名, 需要在
.ssh/config
配置, 并在设备端开启免密登录; - REMOTE_DEVICE:需要备份的设备路径(如 /dev/mmcblk1);
- BACKUP_DIR:本地存储备份文件的目录;
- BACKUP_PREFIX:备份文件名前缀(如 backup_emmc);
- MAX_BACKUPS:保留的最大备份数量(如 5)。
示例:
1 | # 备份到当前目录下 |
添加定时任务:
1 | sudo crontab -e |
每天凌晨 2 点执行:
1 | 0 2 * * * /path/to/backup.emmc.sh <REMOTE_EMMC> <REMOTE_DEVICE> <BACKUP_DIR> <BACKUP_PREFIX> <MAX_BACKUPS> |
如果是在 NAS 上执行, 直接使用 WebUI 设置定时任务即可:
比如备份脚本路径:
/volume4/backups/eMMC/backup.emmc.sh
, 设置任务计划:
1 /volume4/backups/eMMC/backup.emmc.sh h28k /dev/mmcblk1 /volume4/backups/eMMC h28k 5
Linux 备份
Linux 主机只包括 M920x 和 Station 2 个 Ubuntu Server 这种相对来说较大的主机, 其他的比如 Armbian 等衍生的 Linux 系统不包含在内.
M920x 备份
在 Synology NAS 一节中会使用 Active Backup for Business 的 物理服务器备份功能 备份 M920x 的系统盘.
M920x 是作为 Docker 主力机使用, 所以上面启动了大量的 Docker 容器以及少量 KVM 虚拟机, 这部分数据我打算使用 rsync
增量备份到另一块 SSD 上(M920x 有 4 块独立的 1T SSD):
1 |
|
此脚本将 docker, KVM 虚拟机文件 以及 KVM 的配置文件 从 /mnt/3.860.ssd
备份到 /mnt/1.870.ssd
目录下, 将上述脚本重命名为 backup.sh
并赋予执行权限, 然后添加到定时任务中:
1 | # 必须使用 sudo 运行 |
M920x 除了系统盘备份,
/mnt/3.860.ssd
也会通过 Active Backup for Business 备份到 NAS 上, 相当于 2 份备份, 最后一份云端备份由 DS923+ 统一处理.
Station
Station 作为 AI 实验室使用, 目前只有 2 个 1T 的 m.2 固态, 模型数据和系统是分开的, 像 LLM 这些比较容易在网上获取的数据就没有必要备份了, 所以只需要备份系统盘即可.
在 Synology NAS 一节中会使用 Active Backup for Business 的 物理服务器备份功能 备份 Station 的系统盘.
macOS 备份
macOS 设备有 3 台:
- Macbook Pro Apple M1 Max
- Mac mini 2018
- Mac mini Apple M2
MBP 是主力机, 其他两台放家里当服务器用, 因为 AirPort Time Capsule 只有 2T 的空间, 且备份速度较慢, 所以我打算将 MBP 备份到 DS923+ 上, 而其他 2 台 Mac 备份到 AirPort Time Capsule.
系统备份
使用 ABB 备份
我将使用 Active Backup for Business 的 macOS 备份功能备份整个 MBP, 具体方式看 Windows/macOS 备份.
使用 Time Machine
另外两台 Mac 直接使用 AirPort Time Capsule 2T 备份, 只需要在 macOS 上简单配置即可, 而 NAS 同样可以作为 Time Machine 备份 macOS.
首先打开 启用通过 SMB 进行 Bonjour Time Machine 播送 (AFP 可能对最新的 macOS 存在兼容性问题, 所以推荐使用 SMB 协议):
接着设置 Time Machine 的存储目录, 最好新建一个专门用于 Time Machine 的共享目录, 并启用 索引 功能, 后续可以直接使用 Mac Finder 搜索启动的文件和内容.
然后在 macOS 上配置 Time Machine:
推荐使用 TimeMachineEditor, 可在特定时间启动 Time Machine 中的备份. 比如可以选择间隔或创建其他类型的计划:
重要文件备份
使用 Synology Driver Client 备份.
iCloud 数据备份
iCloud 比较重要的就 3 个:
- Surge
- Obsidian
- 照片
对于前 2 个目录直接在 Mac mini 2018 上通过脚本自动备份 (backup.icloud.sh
) :
1 |
|
使用 launchd 添加定时任务:
在
~/Library/LaunchAgents
目录下创建一个.plist
文件 (touch ~/Library/LaunchAgents/xx.xxx.icloud-backup.plist
):1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<plist version="1.0">
<dict>
<key>Label</key>
<string>xx.xxx.icloud-backup</string>
<key>ProgramArguments</key>
<array>
<string>~/Library/CloudStorage/SynologyDrive-driver/DevOps/batch-script/shell/backup/backup.icloud.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>3</integer> <!-- 设置每天凌晨 3 点运行 -->
<key>Minute</key>
<integer>0</integer>
</dict>
<key>StandardOutPath</key>
<string>/tmp/backup.log</string>
<key>StandardErrorPath</key>
<string>/tmp/backup_error.log</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>加载 launchd 配置:
1
launchctl load ~/Library/LaunchAgents/xx.xxx.icloud-backup.plist
检查任务状态:
1
launchctl list | grep xx.xxx.icloud-backup
不用后可以卸载:
1
launchctl unload ~/Library/LaunchAgents/xx.xxx.icloud-backup.plist
照片我则使用 Synology Photos Mobile 备份到 DS218+, 然后再自动同步到 DS923+.
其他参考:
Synology NAS
之所以先讲其他设备的备份方式, 是因为它们的备份文件最终都会写入到 DS923+ 中, 最后我只需要对 DS923+ 上的文件进行备份即可.
Synology NAS 提供多种备份方式, 他们的对比如下:
备份目的地 | Hyper Backup | Snapshot Replication | USB Copy | Cloud Sync |
---|---|---|---|---|
本地共用资料夹 | 可使用 | 可使用 | 不可使用 | 不可使用 |
外接装置(USB) | 可使用 | 不可使用 | 可使用 | 不可使用 |
另一台 Synology NAS | 可使用 | 可使用 | 不可使用 | 不可使用 |
档案伺服器 | 可使用 | 不可使用 | 不可使用 | 仅支援 WebDAV 及 OpenStack 资料同步 |
公有云 | 可使用 | 不可使用 | 不可使用 | 可使用 |
功能总结:
应用程式及系统设定备份 | 可使用 | 不可使用 | 不可使用 | 不可使用 |
---|---|---|---|---|
备份及还原效能 | 低 | 高 | 中 | 中 |
储存空间利用效率 | 中 | 高 | 低 | 低 |
备份频率 | 每小时 | 每 5 分钟(共用资料夹) 每 15 分钟(iSCSI LUN) | 热插拔备份 | 于资料变更时同步 |
透过 WriteOnce 保护备份资料 | 不可使用 | 仅支援不可变快照 | 不可使用 | 不可使用 |
根据上面的功能总结, 我计划的备份方案为:
- 使用 Snapshot Replication 在当前 NAS 为重要共享目录创建快照作为第一层保护, 在手残误删文件时能够快速恢复 (本地备份);
- 在 DS218+ 上使用 Hyper Backup 将重要的 APP 配置与数据备份到 DS923+, 同时通过 WebDAV 加密备份到云端, 还原颗粒度可以精确到文件级别 (不同的存储介质备份);
- 在 DS218+ 上使用 Hyper Backup 将整个系统备份到 DS923+, 同时通过 WebDAV 加密备份到云端, 以便在系统崩溃或损坏时还原 (不同的存储介质备份);
- 在 DS923+ 上使用 Hyper Backup 将所有照片和家庭视频通过 rsync 备份到 Mac mini 2018 连接的 LaCie 8TB d2 Professional (不同的存储介质备份);
- 在 DS923+ 上使用 Hyper Backup 将重要的 APP 配置与数据备份(包括照片和家庭视频)通过 WebDAV 加密备份到云端 (云端备份);
- 在 DS923+ 上使用 Active Backup for Business 整机备份 DS218+ (不同的存储介质备份);
- 在 DS923+ 上使用 Active Backup for Business 物理服务器备份功能集中备份 M920x 和 Station 整个系统 (不同的存储介质备份);
- 在 DS923+ 上使用 Active Backup for Business 文件服务器备份功能集中备份所有开发板和小主机的重要文件 (不同的存储介质备份);
- 在 DS923+ 上使用外置存储定时备份 Active Backup for Business 产生的备份文件 (不同的存储介质备份);
- 其他能够安装 Synology Drive Client 的主要设备上, 使用 Drive 自带的备份功能备份本机上重要的文件 (不同的存储介质备份);
Snapshot Replication
Snapshot Replication 是 Synology 提供的一项数据备份功能,它通过利用 Btrfs 文件系统创建时间点副本,实现数据的块级保护和快速恢复。该功能支持多种复制策略,可灵活部署,并配备便捷的管理工具,帮助我们轻松实现数据的备份和灾难恢复.
在系统支持 Btrfs 文件格式的情况下,建议优先考虑使用快照复制作为备份策略。这种方式可以将备份周期设置得非常短,非常适合处理公共文件夹中同时进行大量编辑的情况。
当遇到问题(例如:不慎删除了大量数据,或是不知道进行了哪些修改)需要恢复文件或整个共享文件夹时,你会非常感激不需要按照一天或两天的时间单位来回溯。
优点是:备份周期越短,恢复时只需还原单个文件或整个文件夹,而且还原速度极快。这样的备份方案在紧急情况下能够大大减轻工作压力。
如果在勾选 高级-让快照可见 的选项后, 可在文件管理器中查看已保存的快照, 此目录保存在每个创建了快照的共享目录下, 且不会被其他群晖备份套件备份:
同时还具备 复制 功能, 选择远程服务器作为复制目的地时, 比如另一台 NAS, 即可将快照在另一台 NAS 重现, 不过我一直卡在循环验证的地方, 暂时并未使用此功能:
Snapshot Replication 属于本地备份, 性能和还原速度都是最优的, 且快照占用的磁盘空间较小.
Hyper Backup
Hyper Backup 是几个备份套件中功能最全的一个, 除了整机备份, 还能单独备份共享目录和 APP 配置, 所以在 整机备份 的基础上, 我还是用它来单独备份个别共享目录和全部的 APP 配置, 这样我可以在不需要整机还原的情况下单独恢复部分数据或 APP:
Hyper Backup 备份 APP 时会一并将对应的共享目录一起备份:
在 DS218+ 上 使用此套件将文件备份到 DS923+, 并加密备份到阿里云盘, 相当于有 2 份备份, 且一份在异地.
Hyper Backup 提供了灵活的方法来选择要备份的共享文件夹、文件夹和文件。可以勾选和取消勾选复选框以选择要备份的内容。有 3 种不同的备份选择可供选择:
Active Backup for Business
Active Backup for Business 是一款功能全面的备份与恢复工具,适合需要集中管理多种设备数据的需求. 目前我正在用它来集中备份多个开发板上的重要文件, Linux 整机备份以及 DS218+ 的整机备份.
NAS 整机备份
这个将在 NAS 整机备份 一节中详细介绍, 这里就不再赘述了.
Windows/macOS 备份
我目前没有 Windows 主机, 根据 前面的计划, MBP 将使用此功能备份(可以享受万兆内网的速度), 另外 2 台 Mac 将使用 Time Machine 备份到 AirPort Time Capsule 2T.
macOS 需要下载 Active Backup for Business Agent, 在 macOS 端主动连接到 DS923+ 的备份服务器:
因为是内网连接, 可以不用管这个 SSL 证书问题, 点击 仍然继续 即可. 不过为了避免因为证书到期导致备份失败, 最好直接使用 Active Backup for Business 证书:
启用后会自动在 控制面板-安全性-证书 中添加相应的证书:
另一个问题是模版匹配:
连接服务器时, 因为 备份目的地格式不受支持 而添加失败, 其实不是格式不受支持, 是备份的目的地目录不存在.
在 DS923+ 的 Active Backup for Business 修改模版中的 目的地, 默认是 ActiveBackupforBusiness, 但是我们的 NAS 根本就没有这个共享目录, 所以出错了(也有可能是我以前把这个目录手动删除了 😂).
更换一个存在且可用的共享目录即可, 添加成功后的 Agent 信息:
服务端信息:
后续就是根据自己的情况配置任务了.
物理服务器备份
Active Backup for Business 目前支持以下 Linux 系统:
- Debian:10, 11, 12
- Ubuntu:16.04, 18.04, 20.04, 22.04, 24.04
- Architechture: x86_64
连接方式也非常简单:
下载官方的 agent, 这个在 Active Backup for Business - 物理服务器 - 添加设备 时会告知下载地址;
修改模版(因为我没有这一步导致连接失败): Active Backup for Business - 设置 - 模版, 将 共享文件夹 修改成存在的共享目录;
在 Linux 上安装 Agent, 可查看 README 的操作指南;
安装完成后使用 abb-cli -c 连接 NAS:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28$ abb-cli -c
Enter server address: NAS 的 IP
Enter username: NAS 的用户名
Enter password: 对应的密码
Connecting...
The SSL certificate of the Synology NAS is not trusted. To learn how to obtain a valid certificate, please have a registered domain by setting up DDNS (http://sy.to/ddns) and applying for Let's Encrypt (http://sy.to/letsencrypt) certificate. Proceed anyway? [y/n](default: y): y
Enter a 6-digit verification code xxxxx (2FA code)
Server address: x.x.x.x
Username: xxx
Backup type: Server
Applied template: Default
Backup destination: backup
Source type: System volumes backup
Restoration privilege: admin, xxx, administrators
Back up by time: Monday, Tuesday, Wednesday, Thursday, Friday Start at: 03:00(Daily/Weekly)
Retention policy: Advanced retention policy settings
Backup window: Disabled
Data transfer compression: Enable
Data transfer encryption: Enable
Bandwidth consumption limit: Disabled
Compression at backup destination: Enable
Encryption at backup destination: Disabled
Backup verification: Disabled
Pre/post script: Disabled
Confirm authentication? [y/n](default: y):
Confirming authentication...
Successfully connected
最后在 Active Backup for Business 端可修改备份计划:
如果是整机还原, 需要使用 Linux 恢复媒体创建一个 可启动的 USB 恢复驱动器:
如果只是文件还原, 可使用 Active Backup for Business Portal 操作:
文件服务器备份
将开发板连接到 Active Backup for Business Portal 集中备份:
文件服务器备份使用的是 rsync, 且最好使用 root 用户, 不然某些目录由于权限问题无法备份:
虚拟机备份
Active Backup for Business 只能备份 VMware® vSphere™ 与 Microsoft® Hyper-V® 虚拟机, 所以 M920x 上的 KVM 虚拟机我只能使用脚本备份,
而 Synology Virtual Machine Manager 中的虚拟机可以通过快照来备份, 另一种方式是将虚拟机导出到共享目录, 然后使用其他方式备份虚拟机文件.
Synology Drive Client
Synology Drive Client 在提供同步功能的同时还具备备份功能, 所以我将主力机上的重要文件使用它备份到 NAS 中, 备份的目的地只能选择当前登录用户的 home 目录:
DSM 系统冗余
首先需要了解一下 RAID 的几种类型:
RAID 类型 | 磁盘数量 | 数据分布 | 冗余能力 | 性能 | 最少磁盘要求 |
---|---|---|---|---|---|
RAID 0 | 2+ | 条带化 | 无 | 最高 | 2 |
RAID 1 | 2+(偶数) | 镜像 | 完全 | 一般 | 2 |
RAID 5 | 3+ | 条带化+奇偶校验 | 单磁盘故障 | 较高 | 3 |
RAID 6 | 4+ | 条带化+双奇偶校验 | 双磁盘故障 | 较高 | 4 |
RAID 10 | 4+(偶数) | 镜像+条带化 | 单磁盘故障(每个镜像组) | 高 | 4 |
RAID 50 | 6+ | RAID 5 + 条带化 | 单磁盘故障(每个 RAID 5 组) | 较高 | 6 |
RAID 60 | 8+ | RAID 6 + 条带化 | 双磁盘故障(每个 RAID 6 组) | 较高 | 8 |
条带化(Striping)是一种数据分配技术,它将数据分割成小块(通常称为“条带”或“块”),并将这些小块分散存储在多个磁盘上。这种技术在 RAID(独立冗余磁盘阵列)配置中非常常见,尤其是在 RAID 0、RAID 5、RAID 6 和 RAID 10 等级别中。
说明:
- RAID 0:速度快,但无任何冗余,适合不关心数据丢失的高性能场景。
- RAID 1:安全性高,写入时需要复制数据,磁盘利用率较低。
- RAID 5:提供奇偶校验,容忍单个磁盘故障,适合平衡性能与冗余需求。
- RAID 6:双重奇偶校验,更高安全性,适用于关键数据保护。
- RAID 10(1+0):兼顾 RAID 1 的安全性和 RAID 0 的速度。
- RAID 50/60:适合企业级大型存储系统,结合 RAID 0 的性能和 RAID 5/6 的冗余。
参考:
除了上述这些常见的 RAID 类型, 一些硬件和软件厂商还会开发自己的磁盘冗余阵列技术或增强技术:
🪬 其他厂商的磁盘冗余阵列技术或增强技术
ZFS(Zettabyte File System)
- 厂商/开发者:Sun Microsystems(现属于 Oracle)
- 特点:
- ZFS 集文件系统和卷管理器于一体。
- 提供类似于 RAID 的多种模式(如 RAID-Z、RAID-Z2、RAID-Z3)。
- 支持快照、数据完整性校验、重复数据删除(deduplication)。
- 提供动态条带化,无需固定条带大小。
- 优势:
- 高数据完整性:基于校验码检测和修复数据损坏。
- 灵活性:支持在线扩展存储池。
- 适用场景:家庭 NAS(如 TrueNAS)、企业存储、高可靠性备份。
SHR(Synology Hybrid RAID)
厂商/开发者:Synology
特点:
- 提供类似于 RAID 的功能,但支持混合硬盘容量。
- 自动优化存储利用率,允许用户使用不同大小的硬盘组合。
- 支持 1 至 2 块硬盘冗余(类似 RAID 5 或 RAID 6)。
优势:
- 易用性:面向普通用户,无需手动配置复杂的 RAID 模式。
- 灵活性:允许随时添加更大容量的硬盘。
适用场景:Synology NAS 用户,特别是家庭和小型企业存储系统。
UnRAID
- 厂商/开发者:Lime Technology
- 特点:
- 与传统 RAID 不同,UnRAID 不做条带化或镜像,而是将数据独立存储在每块硬盘上。
- 提供一个专用的奇偶校验盘用于数据冗余。
- 支持灵活扩展,允许随时增加硬盘并使用不同容量的硬盘。
- 优势:
- 数据独立性:即使多块硬盘损坏,未损坏的硬盘数据仍可直接读取。
- 灵活性:无需所有硬盘容量一致。
- 适用场景:家庭媒体服务器、大容量存储需求。
HP’s ADG (Advanced Data Guarding)
- 厂商/开发者:Hewlett-Packard (HP)
- 特点:
- 类似于 RAID 6,提供双重奇偶校验。
- 可允许两块磁盘同时故障而不丢失数据。
- 专为 HP 的企业级存储系统设计。
- 优势:
- 更高的容错性。
- 专为大型企业的高可用性环境而设计。
- 适用场景:企业存储系统(如 HP ProLiant 服务器)。
NetApp RAID-DP
厂商/开发者:NetApp
特点:
- 基于 RAID 4(单奇偶校验)改进,提供双奇偶校验(类似 RAID 6)。
- 专为企业级存储系统和大规模部署优化。
优势:
- 提高容错能力,可容忍两块磁盘同时故障。
- 集成在 NetApp 的 Data ONTAP 操作系统中,支持高效快照和备份。
适用场景:大规模企业存储和虚拟化环境。
VMware VSAN(Virtual SAN)
- 厂商/开发者:VMware
- 特点:
- 软件定义存储,将多个服务器的本地存储整合成共享存储池。
- 提供分布式数据冗余,支持 RAID 1、RAID 5 和 RAID 6 级别的保护。
- 数据跨节点分布,支持企业级高可用性。
- 优势:
- 高可扩展性,适合超融合基础架构。
- 与 VMware 环境深度集成。
- 适用场景:虚拟化和云计算环境。
Dell EMC VxRail
- 厂商/开发者:Dell EMC
- 特点:
- VxRail 是 Dell EMC 提供的超融合基础架构,整合计算、存储和网络。
- 存储采用分布式冗余技术,不直接使用传统 RAID,而是基于对象的存储分布。
- 优势:
- 高扩展性:节点扩展灵活,适合云和企业级存储。
- 提供企业级容错和冗余。
- 适用场景:云计算、超融合数据中心。
Windows Storage Spaces
- 厂商/开发者:Microsoft
- 特点:
- 提供类似于 RAID 的功能,如条带化(RAID 0)、镜像(RAID 1)和奇偶校验(RAID 5)。
- 支持混合硬盘容量,允许动态扩展存储池。
- 优势:
- 集成在 Windows 系统中,部署成本低。
- 易于配置,适合中小型企业和个人用户。
- 适用场景:Windows Server 或家庭 Windows 系统上的存储管理。
Ceph
- 厂商/开发者:社区驱动(开源)
- 特点:
- 分布式存储系统,不依赖传统 RAID。
- 数据存储在多个节点上,提供高可用性和故障恢复能力。
- 基于对象存储,支持动态扩展。
- 优势:
- 高扩展性和灵活性。
- 无需专用硬件,适合大型分布式存储系统。
- 适用场景:云存储、超大规模企业环境。
IBM GPFS(General Parallel File System)
- 厂商/开发者:IBM
- 特点:
- 提供分布式文件系统和并行访问功能。
- 数据分布在多个磁盘或节点上,提供高可靠性和高性能。
- 支持自动故障检测和数据修复。
- 优势:
- 高性能和高可靠性。
- 适合大规模、高吞吐量的存储需求。
- 适用场景:企业数据中心、大数据分析、高性能计算(HPC)。
总结
现代厂商开发的磁盘冗余技术大多是对传统 RAID 的优化,提供更强的灵活性、扩展性和容错能力。这些技术主要服务于以下需求:
- 家庭级存储:如 Synology SHR、UnRAID、ZFS;
- 企业级存储:如 NetApp RAID-DP、Dell EMC VxRail、Ceph;
- 超融合与分布式存储:如 VMware VSAN、IBM GPFS;
因为我的 DS218+ 只有 2 个盘位, 而 DS923+ 也只支持 2 块 M.2 的 SSD, 所以索性将他们全部更换为 SSD 并组 RAID1, 至少能保证坏了一块 SSD 的情况下系统仍然能够运行.
DSM 配置备份
Synology 提供 DSM 的配置备份, 可以自动备份到你的 Synology 账户中, 且可手动导出备份到本地(目前在寻找可自动导出备份文件的方法):
NAS 整机备份
Hyper Backup 和 Active Backup for Business 都提供了 NAS 整机备份的功能, 它们的区别为:
- 备份方式不同:
- Active Backup for Business 是作为备份 目的地 端的套件(A 备份到 B, 在 B 端操作);
- Hyper Backup 是作为 备份源 为角色的套件(A 备份到 B, 在 A 端操作);
- 还原方式不同:
- 整机还原(还原步骤):
- 两者都可以;
- 部分数据还原:
- Active Backup for Business 直接在远程 NAS 上操作;
- Hyper Backup 只能在本机操作;
- 整机还原(还原步骤):
- 数据查看方式不同:
- Active Backup for Business 能够通过 Active Backup for Business Portal 查看共享目录下的任何文件;
- Hyper Backup 无法友好的查看备份的文件目录与内容;
- 备份数据格式不同:
- Active Backup for Business 会将 NAS 系统备份为 数据盘.img 和 系统.img 2 个镜像文件, 只能通过 Active Backup for Business Portal 查看内部数据;
- Hyper Backup 备份的是压缩文件.
官方推荐的整机备份方式是 Hyper Backup, 可以备份 NAS 上的 共享文件夹、应用程序设置 和 系统配置,从而确保整机数据与环境一致性, 以便在系统出现问题需要重装或彻底坏掉后能够恢复到另一台 NAS 上, 但是我会同时使用 Active Backup for Business 备份全部的共享数据文件, 以便在数据被误删后能够单独恢复.
Hyper Backup
在 DS218+ 上创建整机备份任务:
任务创建成功后, 可在远端 NAS(DS923+) 的 Hyper Backup Vault 查看备份任务:
Active Backup for Business
在 DS923+ 上创建整机备份任务(需要在 DS218+ 上安装 Agent):
备份完成后可通过 Active Backup for Business Portal 查看备份的数据:
还原整个系统
对于已完成首次设置的 Synology NAS 设备:
- 单击 还原,然后选择 整个系统。您将被重定向到 控制面板。
- 单击 还原系统 并选择存储备份数据的还原来源。
- 按向导完成还原。
对于尚未完成首次设置的 Synology NAS 设备:
- 在欢迎页面上单击 还原系统。
- 选择存储备份数据的还原来源。
- 按向导完成还原。
参考
- 備份 Synology NAS 多種解決方案比較
- 当你拥有了第二台 NAS,这是你需要了解的数据迁移和同步方式-少数派
- 担心群晖硬盘损坏丢失数据?不来试试 Hyper Backup ?
- 群晖 NAS 云盘备份神器,使用 Cloud Sync 打通 NAS 与无缝网盘同步
- Synology-企业应用篇
- 群晖 DSM6.1 数据安全三猛将 → 同步、备份、快照,+新兵 USB Copy2.0
- Synology-Backup Solution Guide 2023
- Synology-備份解決方案概覽
冗余备份
因为所有的备份文件都会汇总到 DS923+ 上, 所以最后一道保险就是为 DS923+ 上的文件创建冗余备份.
正好有一个 8TB 的 LaCie d2 Professional 闲置, 可以直接用作 DS923+ 的冗余备份.
LaCie d2 Professional 通过 type-c 连接到了我的 Mac mini 2018, 具有 10Gb/s 的速度, 在 NAS 上使用 Hyper Backup 套件, 合适的远程连接有 rsync 和 WebDAV 2 种, 尝试了在 Mac mini 2018 上分别部署 Rsync Server 和 WebDAV 后, 最终选择了第一种方式.
首先需要了解一下 rsync 基本参数:
1 | 一般做增量同步时,直接使用 -avz 即可。 |
基础命令
1 | rsync -avz --delete SRC DST |
参考资料:
macOS 上搭建 Rsync Server
1 | $ tree |
启动脚本:
1 |
|
配置文件(rsync.conf.txt):
1 | port = 8873 |
认证配置(rsyncd.secrets.txt)
1 | username:password |
在 DS923+ 上配置 Hyper Backup :
上面的 Rsync Server 需要在 macOS 启动后手动执行 start 脚本启动, 为了减少手动操作, 我们可以通过 macOS 的 launchctl 来管理 Rsync Server 的自启动:
在 ~/Library/LaunchAgents
下新增 xx.xxx.rsync.plist
文件:
1 |
|
加载 plist:
1 | launchctl load ~/Library/LaunchAgents/xx.xxx.rsync.plist |
确认服务已运行:
1 | $ launchctl list | grep xx.xxx.rsync |
1 | $ ps -ef | grep -v grep | grep --color=auto rsync |
同步日志:
如果需要卸载服务(临时停止并从启动项中移除):
1 | launchctl unload ~/Library/LaunchAgents/xx.xxx.rsync.plist |
参考:
- macOS 设置开机启动任务
- macOS 实现软件开启自启动
- Creating Launch Daemons and Agents
- Daemons and Services Programming Guide
- Technical Note TN2083: Daemons and Agents
云端备份
最后就是异地备份了, 这里直接使用 阿里云盘的 WebDAV 服务.
为什么不用 Cloud Sync 利用单向同步的方式备份到云端:
- Cloud Sync 更适合同步数据, 会保留原始的文件路径;
- Cloud Sync 一个任务只能选择一个共享目录;
- 没有 Hyper Backup 的 压缩备份, 块级传输, 多版本管理 等高级功能;
备份到云端:
Hyper Backup 支持备份到云端, 这里我直接使用 阿里云盘 WebDAV 这个第三方套件:
然后 Hyper Backup 通过 WevDAV 备份到阿里云盘:
阿里云盘 WebDAV 套件使用教程, 获取到 refresh_token 后就可直接使用, 还能在 File Station 中通过 远程连接 挂载阿里云盘到本地, 可以方便的浏览云盘内容:
我还会使用 阿里云盘 WebDAV 配合 Cloud Sync 下载云盘内容, 工作流为:
- 将待下载的文件保存到阿里云盘;
- 然后在 DS923+ 的 Cloud Sync 连接阿里云盘的 WebDAV 服务, 设置为 单向同步;
- 云盘内容下载完成后直接在 File Station 挂载的阿里云盘 WebDAV 中删除即可. 除了第一步, 后续流程完全不需要登录到官方的阿里云盘操作;
备份时间整理
因为我使用 NAS 作为备份中枢, 且 2 台 NAS 之间存在关联关系, 所以我需要整理备份的时间, 以保证备份的正确性与可用性.
还需要考虑到 2 台路由器的重启计划:
- 小米 AX9000 周 2 4 6 的 04:30 定时重启;
- 小米 6500Pro 周 1 3 5 04:00 定时重启;
macOS
源文件 | 备份方式 | 目的地 | 时间 | 备份数量 |
---|---|---|---|---|
系统卷 [MBP] | Active Backup for Business(物理服务器备份) | DS923+:/backups/ActiveBackupData | 周 1 3 5 21:00 启动 | 3 |
整个磁盘 [MBP] | Time Machine | DS923+:/timemachine | 周 2 4 6 22:00 启动 | 自动轮转 |
其他重要文件 [MBP] | Synology Drive Client | DS923+:/home/Backup | 每隔 8 小时启动 | 1 |
整个磁盘 [Mac mini M2] | Time Machine | AirPort Time Capsule 2T | 每周 | 自动轮转 |
整个磁盘 [Mac mini 2018] | Time Machine | AirPort Time Capsule 2T | 每周 | 自动轮转 |
M920x
源文件 | 备份方式 | 目的地 | 时间 | 备份数量 |
---|---|---|---|---|
系统卷 | Active Backup for Business(物理服务器备份) | DS923+:/backup/ActiveBackupData | 周 1 3 5 12:00 启动 | 3 |
3.860.ssd | Active Backup for Business(物理服务器备份) | DS923+:/backup/ActiveBackupData | 周 2 4 6 12:00 启动 | 3 |
3.860.ssd | 自动化脚本 | 1.870.ssd | 每天 2 点增量备份 | 1 |
其他重要文件 | Active Backup for Business(文件服务器备份) | DS923+:/backup/m920x | 周 1 3 5 05:20 启动 | 5 |
Station
源文件 | 备份方式 | 目的地 | 时间 | 备份数量 |
---|---|---|---|---|
系统卷 | Active Backup for Business(物理服务器备份) | DS923+:/backup/ActiveBackupData | 假日 22:00 启动 | 3 |
其他重要文件 | Active Backup for Business(文件服务器备份) | DS923+:/backup/station | 假日 19:00 启动 | 5 |
H28K
源文件 | 备份方式 | 目的地 | 时间 | 备份数量 |
---|---|---|---|---|
eMMC | DS923+ 任务计划: eMMC 备份脚本 | DS923+:/backups/eMMC | 周 2 08:00 启动 | 3 |
其他重要文件 | Active Backup for Business(文件服务器备份) | DS923+:/backup/H28K | 周 2 4 6 07:00 启动 | 5 |
HK1Box
源文件 | 备份方式 | 目的地 | 时间 | 备份数量 |
---|---|---|---|---|
eMMC | DS923+ 任务计划: eMMC 备份脚本 | DS923+:/backups/eMMC | 周 3 08:00 启动 | 3 |
其他重要文件 | Active Backup for Business(文件服务器备份) | DS923+:/backup/HA | 周 1 3 5 09:00 启动 | 5 |
NanoPI NEO4
2 个 NEO4, 第二个往后延长 30 分钟执行.
源文件 | 备份方式 | 目的地 | 时间 | 备份数量 |
---|---|---|---|---|
系统(eMMC) [NEO4.1] | DS923+ 任务计划: eMMC 备份脚本 | DS923+:/backups/eMMC | 周 6 19:00 启动 | 3 |
其他重要文件 [NEO4.1] | Active Backup for Business(文件服务器备份) | DS923+:/backup/NEO4.1 | 周 6 20:00 启动 | 3 |
系统(eMMC) [NEO4.2] | DS923+ 任务计划: eMMC 备份脚本 | DS923+:/backups/eMMC | 周 6 19:30 启动 | 3 |
其他重要文件 [NEO4.2] | Active Backup for Business(文件服务器备份) | DS923+:/backup/NEO4.2 | 周 6 20:30 启动 | 3 |
树莓派
4 台树莓派, 每台间隔 30 分钟执行备份任务
源文件 | 备份方式 | 目的地 | 时间 | 备份数量 |
---|---|---|---|---|
系统(SD 卡) [pi4] | M920x 定时任务: 通过网络复制脚本 | DS923+:/backups/SD/pi4 | 周天 10:00 启动 | 3 |
其他重要文件 [pi4] | Active Backup for Business(文件服务器备份) | DS923+:/backup/PI4 | 周天 11:00 启动 | 5 |
系统(SD 卡) [pi51] | M920x 定时任务: 通过网络复制脚本 | DS923+:/backups/SD/pi51 | 周天 10:30 启动 | 3 |
其他重要文件 [pi51] | Active Backup for Business(文件服务器备份) | DS923+:/backup/PI51 | 周天 11:30 启动 | 5 |
系统(SD 卡) [pi52] | M920x 定时任务: 通过网络复制脚本 | DS923+:/backups/SD/pi52 | 周天 11:00 启动 | 3 |
其他重要文件 [pi52] | Active Backup for Business(文件服务器备份) | DS923+:/backup/PI52 | 周天 12:00 启动 | 5 |
系统(SD 卡) [zero2w] | M920x 定时任务: 通过网络复制脚本 | DS923+:/backups/SD/zero2w | 周天 11:30 启动 | 3 |
其他重要文件 [zero2w] | Active Backup for Business(文件服务器备份) | DS923+:/backup/Zero | 周天 12:30 启动 | 5 |
R2S && R5S
源文件 | 备份方式 | 目的地 | 时间 | 备份数量 |
---|---|---|---|---|
系统(SD 卡) [R2S.T] | DS923+ 任务计划: eMMC 备份脚本 | DS923+:/backups/eMMC | 周 1 10:00 启动 | 3 |
OpenWrt 配置 [R2S.T] | OpenWrt 任务计划: OpenWrt 自动备份脚本 + 手动临时备份 | 本地 U 盘 + DS218+:/driver | 周 1 06:00 启动 | 5 |
其他重要文件 [R2S.T] | Active Backup for Business(文件服务器备份) | DS923+:/backup/R2ST | 周 1 3 5 14:00 启动 | 5 |
系统(SD 卡) [R2S.U] | DS923+ 任务计划: eMMC 备份脚本 | DS923+:/backups/eMMC | 周 1 11:30 启动 | 3 |
OpenWrt 配置 [R2S.U] | OpenWrt 任务计划: OpenWrt 自动备份脚本 + 手动临时备份 | 本地 U 盘 + DS218+:/driver | 周 1 07:00 启动 | 5 |
其他重要文件 [R2S.U] | Active Backup for Business(文件服务器备份) | DS923+:/backup/R2SU | 周 1 3 5 15:00 启动 | 5 |
系统(SD 卡) [R2S.C] | DS923+ 任务计划: eMMC 备份脚本 | DS923+:/backups/eMMC | 周 1 12:30 启动 | 3 |
OpenWrt 配置 [R2S.C] | OpenWrt 任务计划: OpenWrt 自动备份脚本 + 手动临时备份 | 本地 U 盘 + DS218+:/driver | 周 1 08:00 启动 | 5 |
其他重要文件 [R2S.C] | Active Backup for Business(文件服务器备份) | DS923+:/backup/R2SC | 周 1 3 5 16:00 启动 | 5 |
系统(SD 卡) [R5S] | DS923+ 任务计划: eMMC 备份脚本 | DS923+:/backups/eMMC | 周 1 13:30 启动 | 3 |
OpenWrt 配置 [R5S] | OpenWrt 任务计划: OpenWrt 自动备份脚本 + 手动临时备份 | 本地 U 盘 + DS218+:/driver | 周 1 09:00 启动 | 5 |
其他重要文件 [R5S] | Active Backup for Business(文件服务器备份) | DS923+:/backup/R5S | 周 1 3 5 17:00 启动 | 5 |
NAS 快照
任务名 | 备份时间 | 源地址 | 目的地 | 备份数量 |
---|---|---|---|---|
DS218-photo-Snap | 每天 00:00 | DS218:/photo | DS218:/photo/#snapshot | 5 |
DS218-driver-Snap | 每天 01:00 | DS218:/driver | DS218:/driver/#snapshot | 5 |
DS218-1Panel-Snap | 每天 20:00 | DS218:/1Panel | DS218:/1Panel/#snapshot | 5 |
DS218-docker-Snap | 每天 20:10 | DS218:/docker | DS218:/docker/#snapshot | 5 |
DS218-Memos-Snap | 每天 22:00 | DS218:/Memos | DS218:/Memos/#snapshot | 5 |
DS218-homes-Snap | 每天 23:00 | DS218:/homes | DS218:/homes/#snapshot | 5 |
DS923-backup-Snap | 周 1 3 5 00:10 | DS923:/backup | DS923:/backup/#snapshot | 3 |
DS923-backups-Snap | 周 2 4 6 00:10 | DS923:/backups | DS923:/backups/#snapshot | 3 |
DS923-Developer-Snap | 周天 01:00 | DS923:/Developer | DS923:/Developer/#snapshot | 3 |
DS923-homes-Snap | 每天 01:30 | DS923:/homes | DS923:/homes/#snapshot | 5 |
DS923-photo-Snap | 每天 02:10 | DS923:/photo | DS923:/photo/#snapshot | 5 |
DS923-driver-Snap | 每天 05:00 | DS923:/driver | DS923:/driver/#snapshot | 5 |
DS923-1Panel-Snap | 每天 12:00 | DS923:/1Panel | DS923:/1Panel/#snapshot | 5 |
DS923-Memos-Snap | 每天 13:00 | DS923:/Memos | DS923:/Memos/#snapshot | 5 |
DS923-docker-Snap | 每天 23:00 | DS923:/docker | DS923:/docker/#snapshot | 5 |
DS218+
任务名 | 备份套件 | 备份时间 | 备份源 | 目的地 | 备份数量 |
---|---|---|---|---|---|
backup.apps | Hyper Backup | 周 3 14:00 | 所有 APP | DS923:/backups/DS218.Apps.hbk | 3 |
backup.datas | Hyper Backup | 周 2 14:00 | 部分共享目录 | DS923:/backups/DS218.Datas.hbk | 3 |
backup.system | Hyper Backup | 周 4 14:00 | 整个系统 | DS923:/backups/DS218.System.hbk | 3 |
backup.to.cloud | Hyper Backup | 周 5 14:00 | 所有 APP + 重要数据 | 阿里云盘:/backups/DS218.Datas.hbk | 3 |
Hyper Backup 整机备份无法使用 WebDAV, 只能是远程 NAS 或 Synology C2 Storage, 所以只能将 APP 和重要数据备份到阿里云盘.
DS923+
任务名 | 备份套件 | 备份时间 | 备份源 | 目的地 | 备份数量 |
---|---|---|---|---|---|
backup.to.Lacie | Hyper Backup | 周天 16:00 | 所有 APP | Lacie:/Backup/NAS/DS923 | 3 |
backup.datas | Hyper Backup | 周 3 16:00 | 部分共享目录 | 阿里云盘:/backups/DS923.Datas.hbk | 3 |
VMS | - | 手动备份 | Virtual Machine Manager | DS923:/backups/NAS.VMs | 3 |
数据备份总结
- macOS 使用 Time machine 和 ABB 进行整机备份, Synology Drive Client 则用于重要数据数据冗余备份;
- OpenWrt 使用 ABB 文件备份, 并使用脚本进行整个系统备份;
- Linux 使用 ABB 的物理服务器和文件备份, 还需要使用脚本在特殊情况下备份;
- 开发版使用 ABB 的文件备份, 并使用自动化脚本对整个系统备份, 包括 eMMC 和 SD 卡;
- 2 台 NAS 分别使用快照对重要共享目录进行备份;
- DS218+ 使用 Hyper Backup 备份数据到 DS923+, 并使用 ABB 进行整机备份;
- 其他设备的备份文件全部传输到 DS923+;
- DS923+ 使用 Hyper Backup 备份数据到云盘和外置磁盘;
这一次算是把所有设备的备份全部梳理了一遍, 整个备份系搭建下来, 感觉 DS923+ 承担了所有, 就是不知道它扛不扛得住, 这就要通过时间去验证这套备份体系了.
总结
至此, 7 篇关于 HomeLab 的文章算是全部完结了, 我以为花个一周时间应该可以写个七七八八, 但是这几篇文章加起来花了接近一个月的时间, 看来还是太高估自己的能力了, 原因应该是花了大量时间查阅文档以及进行各种测试.
如今基于目前的架构, 应该可以支撑很长一段时间, 只要我不手残或不添置新的设备, 所以 HomeLab 相关的文章应该到此结束了, 或许下一篇 HomeLab 的开始应该就是另一种架构了, 比如全套 UniFi + 机架了, 慢慢折腾吧.
相关文章:
- 先导篇:我的 HomeLab 概要;
- 硬件篇:介绍我所拥有的硬件设备;
- 网络篇:包括网络环境、异地组网与网络安全;
- 服务篇:使用 Docker 搭建的各类服务;
- 数据篇:包括数据存储方案、备份方案和数据恢复方案;
- HomeLab数据同步:构建高效的数据同步网络
- HomeLab数据备份:打造坚实的数据安全防线
- HomeLab 网络续集:升级 10G 网络-再战 10 年
- NAT 内网穿透详解:揭秘网络连接背后的奥秘