在AIX中可以使用mksysb對系統rootvg進行備份,對於其他用戶卷組該如何備份?在本文將著重介紹在AIX中如何創建、驗證和恢復用戶卷組的備份。
為什麼使用savevg 命令?
由於在AIX中 mksysb命令只能備份rootvg中文件系統的內容,所以還需要有其他途徑來備份用戶卷組上的內容。使用系統中的savevg 命令就可為用戶卷組 創建一卷組備份,使用restvg 命令恢復savevg 所做的備份映像 ,包括重新創建用戶卷組、邏輯卷和文件系統等操作。
需要注意的是,所有用戶卷組上的邏輯卷的定義會寫到備份設備上並在重建卷組時創建,但只有已mount的文件系統中的內容才會在執行savevg命令 時備份到備份介質上。Savevg命令不能備份裸設備上的內容。
Savevg 的磁帶介質映像
與mksysb 不同的是,用savevg命令創建的備份磁帶不能用於引導系統。
無論savevg命令中備份設備選擇是磁帶還是 系統文件,在其上都沒有引導區,只有一個數據映像。
用savevg 創建備份
使用smit 菜單, 選擇合適 的備份設備或文件名,以及用戶卷組名。 如果備份內容較多需要多盤磁帶,系統會在運行中提示換磁帶。
#smit savevg
Backup DEVICE or FILE [ ]
VOLUME GROUP to back up [ ]
List files as they are backed up? no
Generate new vg.data file? yes
Create MAP files? no
EXCLUDE files? no
EXPAND /tmp if needed? no
Disable software packing of backup? no
Number of BLOCKS to write in a single output [ ]
(Leave blank to use a system default)
若使用命令行,可鍵入:
# savevg -if /dev/rmt# vgname 2 > /tmp/savevg.err
注意:
a. 進行備份的用戶卷組必須是 varyon,其上的文件系統是 mount。
b. 當將savgvg 結果寫到磁帶上時,該磁帶是不可用於引導系統的;
c. 不要追加(append)寫到 一盤已用的磁帶上,因為在使用restvg 恢復 savevg 的映像時要求必須是磁帶上的第一個映像區。
驗證savevg的映像
驗證 備份帶可用的最好辦法就是將其恢復到另一台服務器上。
一個簡單的方法是從備份帶中能讀出備份的內容:
# smit lsbackvg
DEVICE or FILE [/dev/rmt#]
Number of BLOCKS to read in a single input [ ]
(Leave blank to use a system default)
此命令將會列出所有備份到磁帶上的文件名,確保了磁帶是可正確讀入。
也可用命令行來驗證映像可讀,鍵入:
#restore -Tvqf /dev/rmt#.1 > /tmp/savevg.log
恢復savevg 的映像
恢復savevg的映像,使用restvg 命令。該命令用於從savevg 命令創建的用戶卷組映像中恢復一用戶卷組,邏輯卷和文件系統中的內容。
在恢復前要確定有哪些hdisk 是空閒、可用的,這些hdisk 不能被當前系統中任何已定義的卷組所使用,要列出所有用於恢復用戶卷組的 hdisk。
#smit restvg
Restore DEVICE or FILE [/dev/rmt0]
SHRINK the filesystems? no
PHYSICAL VOLUME names [ ]
(Leave blank to use the PHYSICAL VOLUMES listed
in the vgname.data file in the backup image)
Number of BLOCKS to read in a single input [ ]
(Leave blank to use a system default)
命令完成後,在所指定的hdisk上就創建了一個savevg 所備份的用戶卷組。
其命令行方式為:
#restvg -f /dev/rmt# hdisk# {hdisk# ...}
也可從savevg的映像中恢復某一目錄或單獨的文件,此時 savevg就象是普通的 備份映像(backup/restore)。在savevg 映像中所有文件都是按相對路徑進行備份的。
例如:
# restore -xvqf /dev/rmt# ./path/file_to_restore
將 /path 目錄下的 文件 file 恢復到當前目錄。