| 中国 |
|
|
|
![]() |
管理系统和工作组: HP-UX 系统管理员指南 > 第 6 章 管理系统:管理磁盘和文件备份数据 |
|
在系统管理员执行的所有任务中,最重要的任务之一就是创建系统备份。确保不丢失系统数据的最有效方式就是,将数据从系统上复制到可以存储在系统之外的存储介质(例如,磁带或光盘)。这样,就可以在主副本出问题的时候恢复数据。也可以通过网络将数据传送到其他位置的计算机。重要的是,在系统之外的其他地点保留了所有重要文件的副本。 HP-UX 有许多用于备份和恢复的实用程序。这里的讨论集中在 fbackup/frecover 命令(由 SAM 使用)、OmniBack II、tar 和 cpio。还解释 JFS 快照文件系统的联机备份。有关其他备份和恢复实用程序的信息,请参考《HP-UX Reference》:dump、ftio、pax、restore、rrestore、vxdump 和 vxrestore。 下面是本节介绍的主题: 在选择应该使用哪种介质来备份数据时,请考虑以下问题:
使用表 6-11 “选择介质的标准 ”帮助确定使用哪种存储设备进行备份。此表对支持的设备类型进行相互比较,但不提供具体值。有关详细信息,请参阅随磁带或磁盘驱动器附带的文档,了解关于存储介质的容量信息。 表 6-11 选择介质的标准
根据系统备份需要和工作组配置,可以从许多不同的备份方法中进行选择。以下是建议的备份方法:
如果要备份大量系统,HP Omniback II 软件产品就特别有用。HP Omniback II 的备份速度比其他备份方法快,并且可进行无人照管的备份。通过该产品,可以有效地集中管理备份过程。 HP Omniback II 的使用涉及以下两方面的内容:设置数据库服务器和运行用于指导及记录客户端备份进程的 Omniback 软件。 有关详细说明,请参阅《《HP OpenView Omniback II Administrator's Guide》》。 表 6-12 “HP-UX 备份和(或)恢复实用程序的比较 ” 基于所选择的任务比较了几种 HP-UX 备份实用程序。有关具体命令的详细信息,请参阅相关的联机帮助页。 表 6-12 HP-UX 备份和(或)恢复实用程序的比较
要在丢失全部数据后恢复系统,需要以下内容的副本:
如果要使用 fbackup 命令备份,必须指定要备份的目录和文件:
请评估系统上运行的应用程序和用户的需要,以确定系统上的数据对用户的关键程度。请考虑以下问题:
一旦确定了要包括和排除的文件的列表,请决定希望备份列表所代表的所有文件(完全备份),还是只备份自上次备份文件后更改的或新创建的那些文件(增量备份)。
如果使用 SAM 备份系统,不需要了解备份级别(因为 SAM 会处理它们)。如果直接使用命令 fbackup 和 frecover,就应该阅读本节。 备份级别是为了标识不同程度的增量备份而定义的级别。每个备份级别都有一个与其相关联的日期,它表示以该级别创建上次备份的日期。最多可以有十个备份级别(0 到 9)。例如,级别 0 是完全备份,级别 1 备份上次级别 0 备份后更改的文件,级别 2 备份上次级别 1 备份后更改的文件,依此类推。 这就提出了一个问题:“fbackup 如何知道以前的备份是何时创建的呢?”此信息包含在文件 /var/adm/fbackupfiles/dates 中,该文件只有在以下所有条件为真时才进行更新:
备份级别是指定各种增量备份程度的方式。例如,假设要设置以下备份时间安排:
有三个“层次”(级别)与上面的时间安排相关联(每月一次的级别、每周一次的级别和每天一次的级别)。每月一次的级别是完全备份。另外两种级别是增量备份。现在的问题是,如何区别这两种增量备份。通过备份级别可实现这个目的。 文件 /var/adm/fbackupfiles/dates 包含有关在每个备份级别执行上次备份的时间的信息。此信息由 fbackup 使用,连同文件本身上的修改日期戳,一起确定在所指定的一组文件中哪些文件包括在当前正创建的备份中。 如前所述,最多可以有 10 个备份级别。运行 fbackup 时,可以指定使用哪个级别。fbackup 按如下所示使用指定的级别:
假设需要以下三个备份级别:
有三种方式可实施这些备份级别:使用 SAM;输入 fbackup 命令,然后在命令行指定备份级别;或者自动执行命令(请参阅“设置自动备份时间安排”)。下图显示了进行备份的备份级别号。 Date: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 1 如果数据在 12 日星期四受到损坏,请执行以下步骤将系统恢复到 11 日星期三的状态:
有关恢复这些磁带的实际方法和命令的信息,请参阅“恢复数据”。 /usr/sbin/fbackup 命令是建议使用的 HP-UX 备份实用程序。fbackup 命令可以执行以下任务:
要使用 fbackup (1M) 命令,请执行下列步骤:
如果使用 fbackup 命令,索引将写在每个磁带的开头,列出正在备份的表文件中的所有文件。然而,由于此索引写在实际备份文件之前,如果某个文件在写完索引之后、但在备份到磁带之前被删除(或者发生了阻止备份该文件的其他事情),索引就不完全准确。 如果指定 fbackup 创建联机索引文件(使用 -I 选项),它将在备份完成之后才创建该文件。因此,唯一准确的索引是联机索引,该索引是在写完最后一卷之后才产生的(该索引是使用 fbackup -I 选项创建的)。 并且,fbackup 假定当前磁带中包含的索引对应于其余要备份的文件。因此,如果在 fbackup 命令中没有使用 -I 选项或删除了索引文件,请从当前介质组的上一个介质中抽出索引。 使用 /usr/sbin/frecover 实用程序列出在 fbackup 创建的备份卷开头的索引的内容。例如,命令 frecover -I /tmp/index2 -f /dev/rmt/0m 指定了磁带驱动器的设备文件是 /dev/rmt/0m,并且希望将列出的索引内容放在文件 /tmp/index2 中。 以下是一些示例,介绍了使用 fbackup 的各种方式。 示例:备份到 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
完成上述备份的 fbackup 命令是:
fbackup -f /dev/rmt/1h -0 -u -g /var/adm/fbackupfiles/graphs/g1此示例是前面示例的扩展。前面示例的所有特征都保持不变,除了一点:这是在前一个示例的备份之后某个时间点进行的增量备份。
我们将使用备份级别 5。确切数字并不重要,只要比前一个示例中使用的级别高就可以了。有关 fbackup 如何解释备份级别的详细信息,请参阅“备份级别”。
fbackup -f /dev/rmt/1h -5 -u -g /var/adm/fbackupfiles/graphs/g1此示例将显示如何可能指定一个以上的设备接受来自 fbackup 的输出。指定一个以上的设备时,只有第一个设备上的介质写满后才写入第二个设备。如果第一个设备上的介质写满了,第二个设备上的介质能容纳剩下的数据,就可以进行无人照管的备份。如果只有一个设备,在这种情况下就需要更换介质。
同样,在此示例中,将创建名为 /tmp/index 的索引文件。索引写在每个磁带的开头,列出正在备份的指定的表中的所有文件。然而,如果某个文件在写完索引之后、但在备份到磁带之前被删除(或者发生了阻止备份该文件的其他事情),索引就不完全准确。如果指定 fbackup 创建联机索引文件(使用 -I 选项),它将在备份完成之后才创建该文件。因此,联机索引文件在关于每个备份卷上有哪些文件方面是完全准确的。
例如,要将整个系统上的所有文件备份到两个磁带驱动器,它们的设备文件分别是 /dev/rmt/0m 和 /dev/rmt/1m,请输入:
|
通常应该对这两个磁带驱动器都使用相同的磁带密度模式。
如果正在管理某个工作组,很有可能工作组中只有一部分系统有本地连接的存储设备(例如,磁带驱动器或光盘驱动器)。在这种情况下,需要执行远程备份。
要使用 fbackup 执行远程备份,请输入:
|
有关使用 frecover 命令远程恢复文件的信息,请参阅“恢复数据”。
|
|
如果相对路径是根 (/),将执行完全备份。/tmp/index 文件是备份的索引文件。-v 选项可将输出写到标准错误中。
注意,通过网络执行的 cpio 不支持多个磁带。
如果使用 HP-UX 命令,可以使用 crontab 实用程序自动进行备份过程,该实用程序与 HP-UX 进程调度工具 cron 一起使用。有关详细信息,请参阅
cron (1M) 和 crontab (1)。
| 注释:如果使用 crontab 来安排 fbackup,请注意,fbackup 是一个交互式的实用程序。如果 fbackup 需要有人参与(更换磁带、设备没有联机等等),它会发出要求输入的提示。如果没有提供输入,自动备份可能失败或没有完成。 | |
使用 crontab 实用程序指定输入文件,该文件中包含要自动进行的备份过程的信息。crontab 实用程序允许指定输入文件,文件中包含要自动进行的备份过程的日期、时间和运行字符串。此文件(对 crontab 实用程序的输入)中的每行都有六个必需字段。各字段之间用空格或制表符分隔。此文件中每个条目的格式如下:
分钟 小时 日期 月份星期 运行字符串
其中:
| 分钟 | 指定一小时内的分钟 (0-59) | |
| 小时 | 指定一天内的小时 (0-23) | |
| 日期 | 指定一月内的具体日期 (1-31) | |
| 月份 | 指定一年内的具体月份 (1-12) | |
| 星期 | 指定一周内的具体日子(0-6,0 代表周日) | |
| 运行字符串 | 指定要执行的命令行或脚本文件 |
| 注释:一个字段中指定多个值时,各值之间用逗号分隔(没有空格),例如:10,20,30。 任何字段中的值 * 代表所有合法值。 | |
因此,要安排 ps 命令(请参阅 ps (1))在六月、七月和八月期间的每个星期五和星期一的下午 5: 10 (17: 10) 执行,应该在 crontab 输入文件中加入如下所示的条目:
|
使用 crontab 时,将通常发送到终端的任何输出重定向到一个文件。在此示例中,2>&1 将任何错误消息重定向到文件 psfile 中。
示例备份策略可能包括完全备份(每周执行一次)和每天的增量备份。假设备份将在上午 4: 03 执行,介质是 DDS (DAT) 磁带。以下 crontab 文件实施示例备份策略:
|
在上面的示例中,incrback 和 fullback 是示例 shell 脚本。请确保正确地设置 PATH 变量,或使用到包括在 crontab 输入文件中的任何脚本的完整路径。这样的脚本可能用于:
警告登录的任何用户系统即将关闭(因为要进行备份)。
关闭系统(到单用户模式)。
挂接要备份的任何文件系统。
运行 fbackup 执行实际备份。
将系统返回到多用户操作模式。
可以在 crontab 输入文件中,或者在 crontab 输入文件中包含的脚本内指定输出重定向。
| 提示:要直接编辑 crontab 输入文件,请使用 crontab -e 选项。 | |
在激活新的 crontab 输入文件之前,应该查看当前安排的进程(请参阅“显示自动备份时间安排”)。考虑将这些进程添加到 crontab 输入文件。
要激活 crontab 输入文件中定义的所有进程,并取消 crontab 输入文件中未定义的以前安排的任何进程,请输入:
|
激活 crontab 备份后,请确保:
系统时钟设置正确。
备份设备连接正确,并且 HP-UX I/O 系统识别 fbackup 运行字符串中指定的设备文件。
备份设备已装入充足的介质。
备份设备已连接到系统并且已打开。
要备份的以 NFS 方式挂接的文件具有正确的权限。有关详细信息,请参阅“利用 fbackup 备份以 NFS 方式挂接的文件”。
如果正在运行 LVM,必须维护每个卷组的备份配置文件。对某个卷组内的磁盘或逻辑卷的配置进行更改后,将自动运行 vgcfgbackup 命令记录该卷组的配置(vgcfgbackup 将每个卷组的配置保存在 /etc/lvmconf/卷组名.conf 中)。
为确保在磁盘损坏后能恢复 LVM 信息,必须备份 /dev 和 /usr 目录。在备份期间,包括根卷组中的 /usr 目录。然而,如果 /usr 目录原来不是根卷组的一部分,仍然可以在根卷组中创建一个新逻辑卷,将 /usr 目录移到里面。
有关使用 vgcfgbackup 保存卷组配置信息的有关信息,请参阅“备份和恢复卷组配置 ”。
| 注释:创建和备份 JFS 快照文件系统要求系统安装可选的 HP OnLineJFS 产品。 | |
定期文件系统 (JFS) 允许在文件系统联机的情况下执行备份。可通过创建文件系统的快照(即文件系统在某个时刻的只读映像)来进行备份。主文件系统仍然保持联机状态,可继续更改系统上的内容。一旦创建了快照,可使用除 dump 之外的任何备份实用程序进行备份。
使用 bdf 估计主文件系统的大小,然后考虑以下事项:
文件系统的块大小(缺省情况下,每块为 1024 字节)
此文件系统中可能更改的数据有多少(建议是文件系统总大小的 15 到 20%)
例如,要确定挂接在 /home 上的 lvol4 的快照有多大,请查看它的 bdf 输出:
# bdf /home
Filesystem kbytes used avail %used Mounted on
/dev/vg00/lvol4 40960 38121 2400 94% /home
考虑到对这个 40 MB 的文件系统进行 20% 的更改,可能需要创建 8 个块的逻辑卷 (8 MB)。
使用 lvcreate 创建一个逻辑卷以包含该快照文件系统。
例如,
|
创建名为 /dev/vg02/lvol1 的 8 MB 逻辑卷,该逻辑卷的大小应该足够容纳 lvol4 的快照文件系统。
有关语法信息,请参阅 lvcreate (1M)。
为快照文件系统的挂接点创建一个目录。
例如,
|
创建和挂接快照文件系统。
在下面的示例中,创建逻辑卷 /dev/vg00/lvol4 的快照,并将其放在挂接在 /tmp/house 上的逻辑卷 /dev/vg02/lvol1 中:
|
有关语法信息,请参阅 mount_vxfs (1M)。
利用除 dump 之外的任何备份实用程序备份快照文件系统。
例如,要使用 tar (1) 来存档快照文件系统 /tmp/house,确保磁带上的文件具有相对路径名:
|
此外,也可以使用下面的 vxdump (1M) 命令来备份具有盘区属性的快照文件系统 /tmp/house:
|
|
|||||||||||||||