Linux - 從 Tar 文件進行 Bare Metal Restore
我每天都會備份我的 Debian 網路伺服器。週日進行完整備份,並在一周中的每一天進行差異化。
使用 Tar 進行備份。我將整個系統備份到 Tar 文件中。
如果我的網路伺服器上的硬碟壞了,我會把所有的備份都放在一個安全的地方。
但是,在前一天使用差異備份在新 HDD 上執行 Bare Metal Restore 的最佳方法是什麼?我可以用啟動光碟啟動,然後格式化一個新的硬碟並將備份文件解壓縮到其中嗎?我該怎麼做?
編輯:
這是我的備份腳本:
#!/bin/sh # Backup script BACKUPDIR="/backups" BACKUPFILE=$BACKUPDIR/backup_$(date +%y-%m-%d).tgz if [ ! -d $BACKUPDIR ]; then mkdir $BACKUPDIR fi if [ -f $BACKUPFILE ]; then echo "Backup file already exists and will be replaced." rm $BACKUPFILE fi apt-get clean tar czpf $BACKUPFILE --same-owner \ --exclude=$BACKUPDIR \ --exclude=/boot/grub/menu.lst* \ --exclude=/home/error.log \ --exclude=/proc \ --exclude=/media \ --exclude=/dev/* \ --exclude=/mnt \ --exclude=/sys/* \ --exclude=/cdrom \ --exclude=/lost+found \ --exclude=/var/cache/* \ --exclude=/tmp / 2>/home/error.log
簡單地恢復硬碟是不夠的,你可能還想要你的引導記錄,我幾乎不相信它存在於你的備份中(我錯了嗎?如果我這樣做對你更好!)…
以免假設您已將伺服器啟動到可以啟動的程度(我個人更喜歡創建附加的分區,
/boot
該分區將具有kernel
和initrd
withbusybox
或類似的東西以允許您完成基本的維護任務)。您還可以使用 Linux 發行版的 Live CD。將您的未來掛載
root partition
到某個地方並恢復您的備份。
tar
是為磁帶創建的,因此它支持附加到具有相同名稱的存檔文件。如果您使用此方法,untar -xvpf backup.tar -C /mnt
如果不是,您將需要恢復“上週日”備份並在需要的日期之前應用相應的部分。您應該記住,有很多東西是您不應該備份的,例如:、、、、、(
/proc
可能還有更多取決於您的需要)。您需要在創建備份之前照顧它,否則在恢復過程中它可能會變得非常痛苦!/dev``/sys``/media``/mnt
對於整個伺服器的備份方法,您很容易錯過許多要點:
- 用於恢復的命令可能在很大程度上取決於您用於備份數據的實際命令。
- 開機記錄
- 核心映像和模組正常,恢復後相互匹配
- 忽略備份上不需要的東西而不是恢復。
- 等等,等等……
可以在Ubuntu Wiki:BackupYourSystem/TAR上找到有關該確切方法的一些優點。尋找恢復。
順便提一句:
- 你有沒有試過恢復你的備份之一?
- 您是否考慮過更改備份策略?
- 您是否考慮過將需要備份的數據和系統設置分開(今天有一些好東西可以管理系統配置,因此可以輕鬆地以零痛苦的方式使用
puppet
orchief
,所以您唯一應該關心的是真實數據)聚苯乙烯
我建議閱讀Jeff Atwood關於備份的幾篇文章 http://www.codinghorror.com/blog/2008/01/whats-your-backup-strategy.html和http://www.codinghorror.com/blog/2009/ 12/international-backup-awareness-day.html