前言:因為是生產系統不能中斷,而ufsdump需在單用戶模式運行,所以想用fssnap來在線做備份。因為要備份兩個server共四個分區,又想節約磁帶,所以想將多個分區備份到一個磁帶上。
目的:在多用戶模式不中斷系統應用的條件下備份APP、Oracle系統分區,並將APP、Oracle兩個系統備份寫入一個磁帶。
系統環境:
APP server,Oracle server均為SUN V480服務器,系統Solaris 8,磁帶機裝在APP server上
APP server:主機名為mdc-cq-sun1 Oracle server:主機名為mdc-cq-sun2
要備份的分區:
root@mdc-cq-sun1 # df -k
Filesystem kbytes used avail capacity Mounted
/dev/dsk/c1t0d0s0 21688297 2716432 18754983 13% /
/dev/dsk/c1t0d0s7 40430179 9397578 30628300 24% /export/home
root@mdc-cq-sun2 #df -kFilesystem kbytes used avail capacity Mounted
/dev/dsk/c1t0d0s0 21688297 1921721 19549694 9% /
/dev/dsk/c1t0d0s7 40430179 4171755 35854123 11% /export/home
fssnap命令介紹:快照是solaris一種在線備份的方法,可對掛載的或者多用戶模式的文件系統進行備份
fssnap用命令來創建,查詢,或者刪除一個UFS文件系統的臨時快照,命令格式:
/usr/sbin/fssnap -F FSType -V -o special_option mount-point | special
fssnap命令的部分常用選項:
-d 刪除和文件系統相關的快照,如果在建立快照的時候帶有-o選項,那麼刪除快照的時候連同備份文件一起刪除,否則就只有手動刪除
-F 展示被使用的文件系統類型
-i 展示FSType快照的狀態
-V 顯示完整的命令行但是不執行命令
-o 允許使用特殊選項,比如說備份文件的路徑和大小
fssnap命令創建了快照文件和兩個只讀的虛擬設備,一個是塊虛擬設備,/dev/fssnap/0,可以作為只讀的文件系統被掛載,一個是原始虛擬設備,/dev/rfssnap/0
當快照首次被創建的時候,文件系統會出現暫時鎖定的情況,用戶在對文件系統進行寫操作的時候可能會注視到一個短暫的停頓,停頓的時間隨文件系統的大小而增加.當用戶對文件系統進行讀操作的時候卻不會發生這樣的現象。創建快照不會對系統造成明顯的影響。
操作步驟:
要使用fssnap先要執行 /etc/init.d/xntpd stop,否則會出錯。
1、用fssnap為要備份的分區做快照
先做APP server上/分區的快照,快照文件存放在/data/backup/目錄下,名字為root.snap
root@mdc-cq-sun1 #fssnap -F ufs -o bs=/data/backup/root.snap / /dev/fssnap/0(執行這個命令後,它將創建一個用於快照的虛擬設備文件/dev/fssnap/0)
再做/export/home分區的快照,快照文件存放在/data/backup/目錄下,名字為export.snap
root@mdc-cq-sun1 #fssnap -F ufs -o bs=/data/backup/export.snap /export/home
/dev/fssnap/1(執行這個命令後,它將創建一個用於快照的虛擬設備文件/dev/fssnap/1)
查詢文件系統快照的相關信息
root@mdc-cq-sun1 #fssnap -i
0 /
1 /export/home
查詢某個快照的具體信息
root@mdc-cq-sun1 #fssnap -i /
Snapshot number : 0
Block Device : /dev/fssnap/0
Raw Device : /dev/rfssnap/0
Mount point : /
Device state : idle
Backing store path : /data/backup/root.snap
Backing store size : 58016 KB
Maximum backing store size : Unlimited
Snapshot create time : Thu Oct 20 14:57:21 2005
Copy-on-write granularity : 32 KB
使用快照:
root@mdc-cq-sun1 #mount /dev/fssnap/0 /mnt
當系統需要恢復某些文件時可以掛載快照,掛載後的快照分區為只讀。
對Oracle server 的/和/export/home分區進行同樣的快照操作完成後再執行 /etc/init.d/xntpd start
2、用ufsdump將兩個系統多個快照分區備份到一盤磁帶
先為APP server做備份
root@mdc-cq-sun1 #ufsdump 0ucf /dev/rmt/0bn /dev/rfssnap/0;
root@mdc-cq-sun1 #ufsdump 0ucf /dev/rmt/0bn /dev/rfssnap/1;
再為Oracle server做備份
Oracle server要使用APP server上的磁帶機需將兩個server設為信任關系分別在兩個系統/下建立.rhosts文件,寫入內容 + +
注:做完備份後需刪除或注釋.rhosts,否則可能導致系統不安全
root@mdc-cq-sun1 #ufsdump 0ucf mdc-cq-sun1:/dev/rmt/0bn /dev/rfssnap/0;
root@mdc-cq-sun1 #ufsdump 0ucf mdc-cq-sun1:/dev/rmt/0bn /dev/rfssnap/1;
注:
(1) 一定要用/dev/rmt/0bn,使用非回繞模式,做完一個分區備份後磁帶不回繞;
(2)每執行完一個分區ufsdump,不要對磁帶做任何動作,否則可能使磁帶定位不正確;
(3)全部備份完成後,使用mt -f /dev/rmt/0 rewind回繞磁帶;
(4)須記住每一個文件系統備份的順序,以上備份順序為:
磁帶位置0 對應mdc-cq-sun1:/dev/rfssnap/0
磁帶位置1 對應mdc-cq-sun1:/dev/rfssnap/1
磁帶位置2 對應mdc-cq-sun2:/dev/rfssnap/0
磁帶位置3 對應mdc-cq-sun2:/dev/rfssnap/1
3、磁帶基本操作和如何恢復系統文件
mt 磁帶機操作命令常用參數:
mt -f /dev/rmt/0 status 報告設備狀態
mt -f /dev/rmt/0 rew 回繞倒帶
mt -f /dev/rmt/0n fsf 1 前進一段
mt -f /dev/rmt/0n bsf 3 後退兩段
需要恢復某個分區時需先確定該分區在磁帶上的位置
比如,恢復分區 mdc-cq-sun2:/dev/rfssnap/0
先確定該分區在磁帶上位置為:2
再將磁帶回繞到開始位置: mt -f /dev/rmt/0 rew
然後將磁帶前進到該分區位置2 : mt -f /dev/rmt/0n fsf 2
最後再恢復: ufsrestore ivf /dev/rmt/0n