在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 恢复到当前目录。