1、备份和恢复 AIX 系统,第 2 部分 : 实现您的备份策略和恢复过程级别: 中级Anita Moore, UNIX 系统管理员, MichaelDKKen Milberg, UNIX 顾问、技术作家和网站专家, Future Tech2007 年 3 月 27 日研究用于恢复数据的各种恢复选项。本系列共分两部分,本文是第 2 部分,向您介绍如何实现第 1 部分讨论的备份策略。第 1 部分的内容包括系统备份的重要性,命令行提供的方法,如何使用系统管理界面工具 (SMIT) 执行备份,以及系统数据和用户数据的区别。开始之前该教程将介绍您可以选择的各种不同恢复选项,以恢复您的数据。可供已经阅读了本
2、系统第 1 部分的系统管理员参考。 关于本教程本教程的重点是如何使用标准的 AIX 实用程序(如 restore 和 restvg)、通用 UNIX 实用程序(tar 和 cpio)、系统管理界面工具 (System Management Interface Tool, SMIT) 和网络安装管理 (Network Installation Management, NIM) 来实现您的备份策略和恢复过程。先决条件您必须具有 UNIX 和 AIX 操作系统的基本知识。系统要求要继续本教程,需要下列工具: AIX 5.3.0.0请确保您可以访问某一正在运行 AIX 5.3 的基于 UNIX 的计算
3、机。 SMIT(smitty - tui 界面)请确保所有备份工具都是可用的。 恢复数据在实际实现您的备份策略之前,进行规划工作是十分重要的。您不但要明白您正在做什么,而且要理解为什么这样做。在一天结束时,恢复工作可以在客户需要时准确地提供他们想要的东西。 概述当讨论归档选项以及备份数据时,恢复过程显得比其他任何事项都要重要。恢复过程不仅要向客户准确地提供他们想要的东西,而且必须及时。此外还应对备份进行良好的组织。若是您不知道磁带在哪里,或是不知道每盒磁带中究竟有什么内容,那么您用上千盒磁带存储海量数据的做法就是缺乏效率的。您还必须确保您在完整备份和增量备份方面采用了合理的方法。为了找回一个目
4、录而必须恢复 10 个或更多的增量备份,这样的情况一定是您不愿遇到的。 同样重要的是,与您达成了服务水平协议 (SLA) 的客户会指定恢复数据的期限。如果他们需要在一小时内完成,您可能无法满足该需求,所以您必须谨慎对待 SLA 和过程的编制。在 AIX 操作系统内,当恢复数据时,有许多选项供您使用。关键在于如何找到适用于您的用途的选项。您可以从磁带、CD、DVD 关于本系列第 1 部分说明了执行系统备份的时机,解释了备份级别以及如何开发您自己的备份策略,并帮助您选择用于备份的适宜工具。第 2 部分则扩展了您在前一个教程中学到的知识。它会告诉您如何恢复数据,如何理解恢复过程,以及如何使用 res
5、tore 和 restorevg 命令。或网络上找到数据并恢复它;您可以使用命令行、SMIT 或某种 GUI 界面。实际的工具包括 AIX 专用的特定实用程序、通用的 UNIX 工具,甚至是第三方软件。要成为一名成功的管理员,您必须使用正确的命令语法,还要正确使用命令或实用程序,以达到预期的目的。使用错误的实用程序可能不会防碍您恢复某个文件,但可能会使您无法启动系统。实用程序和命令这一部分将介绍您在恢复 AIX 系统时使用的各种工具背后的细节,某些命令常用的标志,以及在某些用途中最适用的命令和实用程序。它还演示了那些用来执行恢复过程的实际命令。一篇关于 IBM System p 服务器的备份和
6、恢复的文章,如果没有提到 Tivoli Storage Manager,它就显得不够完整。虽然本教程没有这部分内容,但您可以参阅参考资料部分,了解在 AIX 中使用 Tivoli Storage Manager 执行文件系统增量备份的细节。mksysb 概述一个颇有趣味但少有人知的事实是,IBM 实际上是第一家提供可恢复整个系统的实用程序的 UNIX 供应商。这个实用程序就是 mksysb。mksysb 备份一般用来在文件中或可启动磁带上创建根卷组 (rootvg) 的可安装镜像。您可以用它执行系统文件备份,您的用户数据应存储在 rootvg 之外的某个独立卷组上。mksysb 只备份您的 r
7、ootvg,所以您还要用其他实用程序对其他卷组进行备份,这些实用程序稍后将在 restvg 部分中予以讨论。mksysb 会创建一个可启动的镜像,如果某次系统崩溃后您的 rootvg 无法修复,可以从该镜像中恢复。mksysb 的格式包括: 基本操作系统启动镜像 基本操作系统安装镜像 虚拟目录 (TOC) 卷组上的实际数据 值得注意的是,用户定义的分页空间、已卸载的文件系统和原始设备不会在 mksysb 中备份,因此必须重新创建它们。 图 1 显示,启动镜像包含内核的副本和设备驱动程序,它是由 bosboot 命令创建的。 图 1. mksysb 镜像mkinsttape 镜像包含下列重要文件
8、: Tapeblksz这个文件包含运行 mksysb 前设置的磁带驱动器的块大小。 bosinst.data这个文件指定目标系统的需求以及基本操作系统安装程序是怎样运行的。 image.data该文件包含安装过程中实际安装的镜像的描述数据(文件大小、名称、装入点等等)。 在运行 mksysb 前,您可以使用 mkszfile 命令自定义 image.data 文件。或者,您可以运行 mksysb -i 命令,它将自动生成一个新的 image.data 文件。虚拟 TOC 可以确保 mksysb 磁带中包含的镜像数与基本操作系统安装磁带中的镜像数相同。最后,rootvg 数据包含用 mksysb
9、 命令备份的实际数据。它实际上会使用 backup 命令保存 rootvg 中所有装入的文件系统的内容。mksysb 恢复使用 mksysb 镜像时的一个考虑因素是,mksysb 镜像允许您将它恢复到原先执行备份的系统之外的其他系统中。如果在发生灾害后,您需要将数据恢复到另一个数据中心,这个功能会非常有用。如果您希望将数据恢复到另一台计算机,您需要使用 mksysb 的克隆功能。您还可以使用 alt_mksysb 和备用磁盘安装,在不干扰生产系统的情况下恢复数据。我们来看看执行一次 mksysb 恢复所涉及的实际步骤:1. 请确保系统支持从磁带启动(请参阅 清单 1)。清单 1. 确保支持从磁
10、带启动# bootinfo -e1数字 1 表示适用;0 则表示您不能从磁带启动。 2. 检查您的启动列表(请参阅 清单 2)。清单 2. 检查您的启动列表# bootlist -m service -ocd0hdisk1 ent0 speed=auto duplex=auto这说明您需要将磁带驱动器加入启动列表中。(请参阅 清单 3)。清单 3. 将磁带驱动器加入启动列表# bootlist -m service -ormt0cd0hdisk1 ent0 speed=auto duplex=auto3. 在此时,您可以重新启动计算机,这将恢复您的 rootvg。 4. 当系统启动后,它将显示
11、 Storage Management Services (SMS) 菜单。如果您有一个硬件管理控制台 (Hardware Management Console, HMC),您可以在启动分区之前选择启动模式。如果您没有,按下 F5 通常会使系统进入 SMS 模式。当系统以 SMS 模式启动时,选择 Maintenance Mode,然后继续设置您的启动设备。此时将对备份进行兼容性检查。这通常会花若干秒的时间,然后将根据前文所述的 image.data 和 boinstall.date 文件中的设置,继续恢复您的 rootvg。当恢复过程完成时,它会更改启动设备,将其设置为安装目标路径,然后重新
12、启动。清单 4 向您准确地展示了您在恢复时会看到的内容:清单 4. 系统控制台* Please define the System Console. *Type a ? and press Enter to use this terminal as thesystem console.-5. 按要求键入编号 (?) 然后按 回车键。 6. 键入 1,再按 Enter,在安装中使用英语。您看到的下个屏幕如 清单 5 所示。 清单 5. 开始安装Welcome to Base Operating SystemInstallation and MaintenanceType the number o
13、f your choice and press Enter. Choice is indicated by . 1 Start Install Now with Default Settings2 Change/Show Installation Settings and Install3 Start Maintenance Mode for System Recovery Choice 1:-7. 键入 3,然后按 Enter,启动维护模式。您看到的下一个屏幕如 清单 6 所示。清单 6. 维护模式Maintenance Type the number of your choice and
14、press Enter. 1 Access a Root Volume Group 2 Copy a System Dump to Removable Media3 Access Advanced Maintenance Functions4 Install from a System Backup Choice 1: -8. 键入 4,然后按 Enter,从系统备份进行安装。您看到的下一个屏幕如 清单 7 所示。清单 7. 选择磁带驱动器Choose Tape DriveType the number of the tape drive containing the system backu
15、p to beinstalled and press Enter.Tape Drive Path Name 1 tape/scsi/ost /dev/rmt0 Choice 1: -9. 键入与放入 mysysb 磁带的磁带驱动器对应的编号,然后按 Enter。您看到的下一个屏幕如清单 8 所示。清单 8. 指定放入 mysysb 磁带的磁带驱动器Welcome to Base Operating SystemInstallation and MaintenanceType the number of your choice and press Enter. Choice is indicat
16、ed by . 1 Start Install Now with Default Settings2 Change/Show Installation Settings and Install3 Start Maintenance Mode for System Recovery+-88 Help ? |Select 1 or 2 to install from tape device /dev/rmt099 Previous Menu | Choice 1: -您现在可以按照正常的 mksysb 恢复过程操作。在从某个 mksysb 备份中恢复后,您可能需要重新配置某些项目,如更改系统主机名
17、和 IP 地址。使用 SMIT 从一个 mksysb 镜像中恢复数据或者,您还可以使用 SMIT,从 mksysb 镜像中恢复您的数据:# smit mksysb(请参见 图 2)。图 2. 使用 SMIT,从一个 mksysb 镜像中恢复数据选择您的设备和要恢复的文件。使用 restore 命令,您可能希望只从 mksysb 镜像中恢复某些文件。请记住,mksysb 实际上使用了 restore 命令来恢复数据。下面是手动进行 mksysb 恢复的步骤: 首先,您必须进行倒带,将您的磁带移动到正确的标记处: # tctl -f /dev/rmt0 rewind 该命令向前移到第三个磁带标记(
18、第四个镜像的起始处): # tctl -f /dev/rmt0.1 fsf 3 该命令将从 mksysb 镜像恢复您的文件: # restore -xqvf /dev/rmt0.1 /var/myrestorationfile您还可以使用 smitty 快速路径: # smitty lsmksysb如果您没有磁带驱动器,您必须使用 mkcd 命令制作 mksysb 镜像。 # mkcd -d /dev/cd1在这种情况下,恢复过程会确定启动列表中有 CD 这一项,并在您将 CD 放入其驱动器后重新启动计算机。在本教程中,我们介绍了很多恢复命令和实用程序,但请记住,其中最重要的是 mksysb
19、命令。如果您对 mksysb 没有很深的理解,那您就无法成为一名 AIX 系统管理员。适当地使用 mksysb,是您作为一名负责的 UNIX 管理员所应承担的重要任务之一;不过, mksysb 对于使用原始逻辑卷的环境而言并不是一个好的解决方案,您无法用它进行增量备份或备份应用程序卷组。恢复命令您已经看到了如何在 mksysb 的上下文中使用 restore 命令;现在我们来更详细地讨论这个实用程序。这一命令的目的是从 backup 命令创建的存档中提取文件。实际上,restore 命令是从用 backup 命令创建的存档中读取文件,并将存储在存档中的文件提取出来。存档可以按文件名或文件系统的
20、格式存储。它们可以存储在磁盘、软盘或磁带上。它们必须用与原先归档时相同的方式进行恢复。单独的文件可以使用 -x 标志从文件名或文件系统存档中恢复。指定的文件名必须与存档中的文件名完全一致。它们可以用 -i 标志,以互动的方式从文件系统存档中恢复。 表 1 提供了一些在 restore 命令中较为常用的标志。表 1. restore 命令的常用标志标志 描述-f 该标志指定镜像要恢复到的设备或文件名。-M 该标志设置访问权,并将所要恢复的文件的修改时间设置为恢复时间。-T 该标志显示关于存档的附加信息。-q 该标志显示媒介是否已经准备好了。-v 该标志打开详细模式,可提供大量信息。-x 该标志将
21、单独恢复各个文件。-d 该标志将恢复所有文件和子目录。如果您想对归档到磁带设备的整个文件系统进行恢复,这个命令将完成这一任务: # restore -rvqf /dev/rmt0要从一个文件名存档恢复某个特定的目录,请使用: # restore -xdvqf /dev/rmt0 /var/mydirectory要从一个文件系统存档恢复某个特定的目录,请使用: # restore -xvqf /dev/rmt0 /var/mydirectoryrestvg我们先前讨论了用来恢复 rootvg 的 mksysb 命令。如果您对其进行归档的卷组是用户卷组,则您需要使用 savevg 命令。与其对应的
22、恢复命令是 restvg。它的用途是恢复指定的用户卷组和它的所有目录和文件。 表 2. restvg 命令的常用标志标志 描述-s 该标志规定,逻辑卷可以按最小的容量创建,以放置文件系统。-f 该标志指定一个设备名称。-l 这个标志显示关于某个卷组备份的有用信息。-n 这个标志指定将忽略映像文件。下面是一些使用 restvg 的实例: 要从 /dev/rmt1 将卷组恢复到 hdisk4,请使用: # restvg -f/dev/rmt1 hdisk4 如果只想用 vgname.data 文件 ( /var/vg_datafile) 恢复卷的结构而不恢复任何数据,请使用: # restvg -
23、r -d /var/vg_datafilevgname.data 文件是用 mkvgdata 命令创建的。 要显示磁带上的卷组的卷组信息,请使用: # restvg -l -f /dev/rmt0 您还可以使用 SMIT 执行 restvg: # smit restvg图 3. 使用 SMIT 执行 restvg我们倾向于使用 savevg 和 restvg 命令备份和恢复整个卷组。我们发现它们的效果很好,而且很欣赏将整个卷组的内容归档到单盒磁带的做法。它可以只恢复某些文件,这种灵活的做法也是十分有用的。tar 命令我们现在来研究某些通用性较强的 UNIX 命令。tar 命令的目的是操作用 t
24、ar 命令创建的存档。与您先前看到的各种 restore 命令不同, tar 可以用在所有的 UNIX 和大多数 Linux 分发中。对于每位 UNIX 系统管理员而言,这是另一项应收入其指令库的命令。tar 命令对存档进行操作,它既可以将文件写入您使用的任何存档存储媒介,也可以从该媒介获取文件。事实证明,它是在 UNIX 和 Linux 系统中最常用的数据备份实用程序。 表 3 提供了 tar 命令最常用的一些标志。表 3. tar 命令的常用标志标志 描述-c 该标志会创建一个新的存档。-f 该标志指定设备名称。-v 该标志会列出每个处理的文件名称。-x 该标志从存档中提取出由一个或多个文件参数指定的文件。-t 这个文件按存档中文件的显示顺序列出这些文件。 要创建 /var/mydirectory 的存档,请使用: # tar -cvf /dev/rmt0 /var/mydirectory 要恢复该目录,请使用: