solaris 備份恢復解決方案—利用fssnap快照及ufsdump
現狀如下:
solaris 8+oracle db server,硬盤開始出現hard err,尚無可更換硬盤,生產環境,遠程操作,不便進入單用戶模式下備份,所以選擇fssnap+ufsdump方式進行備份,等待新硬盤方可更換。
1. 掛載nfs 或使用磁帶機,本人選擇掛載網絡nfs,命令如下:
#mount -F nfs 172.16.x.x:/home/nfs/ /bak
2. fssnap 快照,參考以下腳本:
/etc/init.d/xntpd stop
fssnap -F ufs -o bs=/bak/snap/root.snap /
fssnap -F ufs -o bs=/bak/snap/usr.snap /usr
fssnap -F ufs -o bs=/bak/snap/var.snap /var
fssnap -F ufs -o bs=/bak/snap/opt.snap /opt
fssnap -F ufs -o bs=/bak/snap/u01.snap /u01
fssnap -F ufs -o bs=/bak/snap/home.snap /export/home
/etc/init.d/xntpd start
(注:先停止/etc/init.d/xntpd,否則會出現錯誤:snapshot error: File system could not be write locked)
3. ufsdump 備份虛擬設備
通過 fssnap –i 命令查看對應快照的虛擬設備,對快照進行備份參考以下腳本:
ufsdump 0uf /bak/dump/root.dmp /dev/rfssnap/5
ufsdump 0uf /bak/dump/usr.dmp /dev/rfssnap/4
ufsdump 0uf /bak/dump/var.dmp /dev/rfssnap/3
ufsdump 0uf /bak/dump/opt.dmp /dev/rfssnap/2
ufsdump 0uf /bak/dump/u01.dmp /dev/rfssnap/1
ufsdump 0uf /bak/dump/home.dmp /dev/rfssnap/0
4. ufsrestore 恢復
更換新硬盤,從本地CD 或從網絡進行引導,並掛載nfs在/a下:
#mount -F nfs 172.16.x.x:/home/nfs/ /a
#cd /a
#mkdir mnt
通過format交互命令,調整分片大小,newfs創建文件系統:
#newfs /dev/rdsk/c0t0d0s0
# mount /dev/dsk/c0t0d0s0 /a/mnt
# cd /a/mnt
ufsrestore 恢復文件:
# ufsrestore rvf /a/dump/root.dmp
# ls
# rm restoresymtable
# cd /
# umount /a/mnt
# fsck /dev/rdsk/c0t0d0s0
重複以上過程對其他分片進行恢復,根分區需執行以下命令創建引導塊:
# installboot /usr/platform/’uname –m’/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 (sparc)
# /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t3d0s0 (x86)
系統將執行轉儲級別0 備份。由於ufsrestore 命令將重定位文件並更改inode 分配,因
此應始終立即執行新創建文件系統的完整備份:
# ufsdump 0uf /a/dump/newroot.dmp /dev/rdsk/c0t0d0s0
重新啓動:
# init 6
至此,系統恢復完成。