注:此實例在FreeBSD7.2下測試通過,對於FreeBSD8或FreeBSD9同樣適用,FreeBSD9簡化了默認分區個數,備份恢復步驟也可以簡化。
環境:公司有幾台FreeBSD7.2服務器硬盤老化需更換,由於公司寫的應用對低版本php5.2依賴比較多,如果升級FreeBSD會比較麻煩(維護版FreeBSD的ports中已經沒有php5.2),即使是重新安裝FreeBSD7.2,由於官方已經不維護,ports安裝也會比較困難。這樣考慮使用dump和restore方式直接備份恢復硬盤。
步驟:
一、對每台服務器定期dump,以備在硬盤故障時快速恢復系統
1、關機,掛接備份盤(用來存放dump數據),拔掉原FreeBSD系統盤硬盤線(防止誤操作毀數據)
2、U盤引導FreeBSD(我用的FreeBSD8.2 U盤),對備份盤分區格式化,此步驟可以使用sysinstall工具,比較方便(可以只分一個區,也可以按默認分區無所謂)。
3、接上原系統盤,重新硬盤引導,mount上備份盤(我的是/bkdisk)
4、撰寫備份腳本,並放到cron裡執行,我的腳本dumpslice.sh:
#!/bin/sh
# Program:
# Dump disk slice
# History:
# 2014/09/10 yanglifeng First release
bak_root="/bkdisk/dumpfiles"
dir_name=`date +%Y%m%d`
#create backup dir
mkdir ${bak_root}/${dir_name}
/sbin/dump -0Lauf ${bak_root}/${dir_name}/ad4s1a_root.dump /dev/ad4s1a
/sbin/dump -0Lauf ${bak_root}/${dir_name}/ad4s1d_var.dump /dev/ad4s1d
/sbin/dump -0Lauf ${bak_root}/${dir_name}/ad4s1f_usr.dump /dev/ad4s1f
df -h > /${bak_root}/sliceinfo.txt
對於FreeBSD7和FreeBSD8,只需備份/、/var、/usr,/tmp和/dev不需備份
我的1T硬盤每次dump大概1個多小時
cron最好在沒人用的時間執行,因為dump時系統反應會非常慢,幾乎不可用。
RHEL6服務器dump備份和restore恢復以及dd的使用 http://www.linuxidc.com/Linux/2013-10/91263.htm
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-09/106802p2.htm