如何防止數據失去(安裝後)
我有一個 Pi2(執行 Raspbian Jessie)很好地設置了一個 2Tb 外部 USB 驅動器(sda)設置,以便我啟動
/dev/sda1
(16Gb),將種子下載到/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:)**另外,可以用USB驅動器設置RAID1嗎?
我可以
cron
定期rsync
備份主驅動器,**(問題 4:)**但這是最好的方法嗎?如果真的是……**額外問題 5:**我應該執行什麼時間段(在初始同步之後)?一天一次肯定不夠,每一分鐘都可能有點多。
你預計會有什麼樣的危險?數據失去,當然,但是您如何期望數據失去發生?這立即排除了幾種策略。無論如何,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
,斷開它,然後放回來了。物理距離很重要。如果你的狗把你的樹莓從架子上拉下來,任何連接的驅動器都可能會死掉。如果這太麻煩了(並且您的 Raspberry 在嬰兒安全位置),請至少在每次備份後卸下驅動器。
額外問題 5:我應該執行多長時間(在初始同步之後)?一天一次肯定不夠,每一分鐘都可能有點多。
這完全取決於你。如果你每天在你的 OwnCloud 中歸檔一個非常重要的文件,你應該每天晚上備份。如果您的 OwnCloud 和其他文件夾的內容僅每隔一天更改一次,並且您可以處理這一天的失去,則每隔四晚備份一次。
如果磁碟故障是您最關心的問題,請為該 RAID1 添加第三個驅動器。但不要忘記備份。
但是,如果這太多了(這是可以理解的),您可以隨時以大約 60 美元/年的價格線上租用一些空間,並在那裡備份您的文件。