AIX系统备份相关知识
--------------------------2013/10/16
预备知识。
1.rootvg
类似于windows中的C盘,即系统vg,这个vg上面当然也可以划分用户的逻辑卷,就像windows系统盘一个道理。
2.非rootvg,如datavg
一般放置用户的逻辑卷
备份方式:
1. 对rootvg进行备份,使用mksysb进行备份。
使用 mksysb 备份系统
假设您是一位中型企业的系统管理员,您刚刚了解到公司已赢得一个重大项目,需要新增 40 个 CAD 设计师和工作站,并且新客户要求您将 CAD 软件升级到下一个版本级别。
在升级现有的 CAD 软件之前,您的第一项工作是对现有系统执行备份,而第一步便是登录到要备份的计算机,打开一个终端窗口,键入 smitty mksysb
,然后按 Enter 键。
SMIT 的 TUI 界面将打开 Back Up the System 屏幕(图 2)。在此屏幕中,您需要键入或选择相关字段的值,如下所述。
图 2. SMIT 的 TUI 界面
-
Backup device or file——根据您在紧急会议中收到的新信息,您需要先将 AIX 系统备份至磁带,然后再升级 CAD 软件。备份至磁带是最常见也是最省时的系统备份方法。请按 F4 或 Esc+4 键获取设备的列表,选择 /dev/rmt0 选项,然后按 Enter 键。请记住,计算机不同,设备说明也可能不同。
-
Create map files——此计算机是从中克隆 40 个新工作站的工作站。选择 Yes 创建映射文件。
-
Exclude files——由于您要对整个系统(位于 rootvg 上)执行备份,因此不需要排除任何文件,请将缺省设置保留为No。
-
List files as they are backed up——此选项允许您查看要备份的所有文件。请将此选项设置为 No,因为它会降低备份过程的速度。
-
Verify readability if tape device——由于您要将系统备份到磁带上,因此需要选择 Yes,以便可以对磁带进行检查,确保磁带能够被读取。
-
Expand /tmp if needed——有时,创建的临时文件可能会填满文件系统,因此您可能需要对 /tmp 目录进行扩展。您不会希望备份因 /tmp 目录不够大而失败。
-
Generate new /image.data file——缺省设置为 Yes。在运行备份时,系统将创建 image.data 文件。请将此字段设置保留为缺省设置。
-
Disable software packing of backup——缺省设置为 Yes;在备份系统时,请保留该设置。
-
Backup extended attributes——缺省设置为 Yes。此选项将备份 rootvg 中所有扩展的属性。
-
Number of blocks to write in a single output——此选项允许您指定要在备份媒体上写入的块数。请将此选项保留为空白,以便让系统选择该块数。
现在,您已填写完主要的字段,接下来,请按 Enter 键开始备份过程。当屏幕显示成功时,说明已完成系统备份。注意:根据磁带和系统文件的大小,系统可能提示您更换磁带。下面的图 3 显示了一个关于要如何备份系统的完整示例。
图 3. 使用 SMIT 的 mksysb 的完整示例
2. 使用SAVEVG进行备份
在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 恢复到当前目录。