我有一个 Pi2(运行 Raspbian Jessie),很好地设置了 2Tb 外部 USB 驱动器(sda),这样我就可以从/dev/sda1
(16Gb)启动,将 torrent 下载到/dev/sda2
(200Gb)并将所有重要文档保存在 OwnCloud 上/dev/sda3
(1.7Tb)
df -h
:
Filesystem Size Used Avail Use% Mounted on
/dev/root 16G 2.0G 13G 14% /
/dev/mmcblk0p1 63M 21M 43M 33% /boot
/dev/sda3 2.5T 744G 1.7T 31% /media/owncloud
/dev/sda2 193G 131G 52G 72% /media/torrent
现在,正如您从上面看到的,我在 OwnCloud 上存储了大约 750Gb。我真的不想失去任何一个。想想看,我真的不想失去 130Gb 的种子,也不想失去我为让系统运行而付出的努力只是我多么喜欢它/dev/root
。
所以我打算购买第二块 2Tb 硬盘。
第一个问题是:备份/保存这些数据的最佳方法是什么?
我以前从未设置过 RAID 阵列,但根据初步研究,我需要从 2 个空白驱动器开始,然后从那里进行设置。这并不是真正的可能性(问题2:是吗?)因为我没有地方可以暂时存储当前驱动器上的 870+Gb。(问题3:)另外,可以用U盘组建RAID1吗?
我可以定期cron
备份rsync
主驱动器,(问题4:)但这是最好的方法吗?而如果真的是的话...奖金问题 5:我应该运行什么时间段(初始同步之后)?一天一次肯定不够,每分钟可能就有点多了。
答案1
您预计会遇到什么样的危险?当然会丢失数据,但是您预计数据丢失会如何发生呢?这立即排除了几种策略。不管,RAID 不是备份。某些 RAID 级别(1、5、6...)仅提供一种在发生故障时保持系统运行的方法。磁盘失败。
如果您的系统出现错误(例如意外错误)rm -rf /media/*
,则 RAID 中所有驱动器上的所有数据都将被删除。请注意,理论上可以创建只有一个驱动器的 RAID1,将数据复制到其中,然后开始镜像,但再说一遍,这不是备份。
因此,只需使用 ext4 或您选择的其他文件系统对第二个磁盘进行分区和格式化即可。现在,我们进入下一个问题:您想要增量备份吗?或者您想要数据的镜像吗?
镜子相当简单:
rsync -av --delete --progress /media/* /path/to/backupdrive/
但根据您的情况,您需要增量备份。有多种应用程序可用,例如borg
,它们具有不同的功能,例如重复数据删除、速度等:
borg create /path/to/backup::repo-{now:%Y-%m-%d} /media/*
这有一个很好的副作用,即提到的rm -rf /media/*
不会删除您的备份(除非您使用过rsync --delete
)。
无论您使用哪种方法,都将该方法放入 shell 脚本中,例如~/utils/backup.sh
.但不要为该文件创建 cron 作业。相反,添加第二个文件 ,~/utills/backupreminder.sh
它会向您发送电子邮件、短信、通知或在打印机上打印页面,以提醒您应该拿起驱动器,转到 Raspberry,连接它,执行~/utils/backup.sh
,断开连接,然后将回来了。
物理距离很重要。如果你的狗把你的树莓派从架子上拉下来,任何连接的驱动器都可能会死掉。如果这太麻烦(并且您的树莓派位于婴儿安全位置),至少在每次备份后卸下驱动器。
附加问题 5:我应该运行什么时间段(初始同步后)?一天一次肯定不够,每分钟可能就有点多了。
这完全取决于你。如果您每天在 OwnCloud 中归档非常重要的文档,则应该每天晚上进行备份。如果您的 OwnCloud 和其他文件夹的内容仅每隔一天更改一次,并且您可以处理这样一天的丢失,请每四个晚上备份一次。
如果磁盘故障是您最关心的问题,请为该 RAID1 添加第三个驱动器。但不要忘记备份。
但是,如果这太多了(这是可以理解的),您可以随时以每年约 60 美元的价格在线租用一些空间,并在那里备份您的文件。