跳到内容 中国
HP.com 主页 产品与服务 支持及驱动程序 解决方案 如何购买
» 联系惠普
更多选项
HP.com 主页
HP-UX 系统管理员指南:逻辑卷管理: HP-UX 11i v3 > 第 2 章 配置 LVM

规划恢复

» 

技术文档资料

完整的 PDF 手册
» 反馈
内容从此开始:

 » 目录

 » 词汇表

 » 索引

配置的灵活性是 LVM 的一个主要优点,但也可能成为一些恢复问题的根源。下列准则可以帮助创建能够使恢复时间最短的配置:

  • 在根卷组中保持最少数量的磁盘;HP 建议使用三个磁盘,即使已镜像根卷组也是如此。

    根卷组中包含很多磁盘会给重新安装带来困难,因为恢复根卷组中的附属磁盘的 LVM 配置相当复杂。

    较小的根卷组很快就能恢复。在某些情况下,可以重新安装最低配置的系统、恢复备份以及在诊断和更换硬件的三个小时内重新联机。另一个优点是,不必与以前的根磁盘布局完全一致。

    由于 Quorum 限制,根卷组中包含三个磁盘比包含两个要好。在两个磁盘的根卷组中,丢失一个磁盘就要求忽略 Quorum 以激活该卷组;如果必须重新引导以更换磁盘,则忽略 Quorum 将要求中断引导进程。如果卷组中包含三个磁盘且彼此隔离,以至于硬件故障仅影响其中一个磁盘,则只要一个磁盘出现故障便会使系统保持 Quorum。

    需要在最小大小的基础上扩展根卷组的理由有两个。

    • 非常小的根磁盘。

      这种情况下,HP 建议迁移或安装到更大的磁盘。

    • 为内存容量较大的系统提供转储至交换的功能。

      面向转储的交换卷必须位于根卷组中。一种更好的解决方案是预先额外配置一个专用转储磁盘。

  • 不要将基于网络的备份程序(例如,Omniback 或 Networker)用于基本根卷组备份。与这些实用程序相关联的复杂性会明显地延迟处理过程的恢复。

    HP 建议通过 Ignite-UX 和 make_net_recovery 命令备份和恢复根卷组。

  • 创建足够的文档资料。

    至少需要创建 ioscan -kf、用于所有组的 vgcfgrestore -lv 以及 vgscan -pvlvlnboot -v 的输出。有了上述输出,再加上用于所有组的 vgdisplay -v 和用于所有卷的 lvdisplay -v 的输出,几乎可以在发生任何问题后进行恢复。对于标头损坏的 LVM 卷的恢复来说,盘区映射相当重要。另外,用于所有物理卷的 pvdisplay -v 的输出可以提供完整的卷组信息,尽管这不是很重要。硬拷贝不是必需的,甚至不必实际执行,但恢复过程中的可访问性很重要,应该进行很好的计划。

  • 在配置辅助卷组时,多个比较小的组会比少数几个比较大的组要好。

    根磁盘重建后,由于组中的一个磁盘丢失而重新加载数千兆字节的数据是相当困难的。同时,组中单个磁盘发生灾难性故障的影响范围可通过许多比较小的组降到最低。

    大小体现复杂性。一个组中的磁盘数越多,管理员就越有可能产生影响整个组的错误。识别并导入较小的组(如果需要)要简单一些。此外,使较小的组概念化并进行映射(如果需要)也比较简单。

准备 LVM 系统恢复

要确保在系统出现故障时能够恢复系统数据和配置,请执行下列步骤:

  1. 加载 LVM 的任何修补程序。

  2. 使用 Ignite-UX 创建根卷组的恢复映像。Ignite-UX 并不用于备份所有系统数据,但可以将其与其他数据恢复应用程序配合使用,创建一种整体系统恢复方式。

  3. 对系统中的其他重要数据执行常规备份。

    如果没有有效的备份,可能会丢失部分甚至全部的数据。

  4. 定期打印出系统配置。

    在恢复过程中,可能无法访问存储在系统中的配置详细信息。打印的副本是非常珍贵的参考。HP 建议每周打印一次配置详细信息,在每次做出更改时也要进行打印。某些命令可以生成大量输出。除了打印,也可以将上述信息输出到文件,然后将该文件存储到磁带上,这样可以在需要时快速恢复信息。可以在第 3 步的备份中包含此配置文件。

    保存配置的最简便方式是,设置一个定期运行的 cron 作业,以便系统能够自动备份它。

    使用以下命令可获取有用的输出:

    /usr/sbin/ioscan -fk

    /usr/sbin/vgdisplay -v

    /usr/sbin/lvlnboot -v

    /usr/sbin/lvdisplay -v /dev/vgXX/lvYY(用于每个逻辑卷)

    /usr/sbin/pvdisplay -v /dev/dsk/c#t#d0(用于每个 LVM 磁盘)

    lp /etc/fstab

    作为一种替代方式,也可以编写一个智能化脚本,用于检测任何配置更改并仅输出这些更改。本节结尾包含一个示例脚本。

  5. 每次发生配置更改后备份 LVM 配置。

    通过 vgcfgbackup 命令可以将 LVM 标头从磁盘的系统区域复制到磁盘文件,该磁盘文件位于 /etc/lvmconf 目录中。将以上信息存储到磁盘文件后,可以在备份文件系统过程中将其备份到磁带。

    通过此文件中的信息,可以在更换磁盘或 LVM 配置损坏时替换磁盘上的 LVM 标头。

    只要对 LVM 配置做了任何更改,都应该进行这些配置备份,这一点非常重要。缺省情况下,所有命令均可执行备份,因此不必在每个命令之后手动执行 vgcfgbackup

    无论是否进行更改,都要定期执行此任务。输入以下命令:

    # /usr/sbin/vgcfgbackup /dev/vgXX   (for every volume group)
  6. 每次对根卷组做出更改后更新引导结构。

    仅当在引导磁盘中使用 LVM 时才需要执行此任务。只要对根卷组(其名称通常为 /dev/vg00)做出更改,就必须更新引导磁盘上的 BDRA。这通常由 LVM 命令自动执行。要手动更新 BDRA,请输入以下命令:

    # /usr/sbin/lvlnboot -R

LVM 配置记录的示例脚本

以下示例脚本用于捕获当前的 LVM 和 I/O 配置。如果这些配置与先前捕获的配置不同,该脚本将输出更新的配置文件,并通知系统管理员。

#!/usr/bin/ksh
WORKDIR=/lvmbackup # directory is regularly backed up
LOG=$WORKDIR/log
SYSADM=root
if [ -f "$LOG" ]
then
    rm -f "$LOG"
fi
if [ ! -d "$WORKDIR" ]
then
    echo "missing directory $WORKDIR" exit 1
fi
cd $WORKDIR
/usr/sbin/vgdisplay -v -F > vgdisplay.new
LVMVGS=`grep vg_name vgdisplay.new | cut -d: -f1 | cut -d= -f2`
LVMPVOLS=`grep pv_name vgdisplay.new | cut -d: -f1 | cut -d= -f2 | cut -d, -f1`
LVMLVOLS=`grep lv_name vgdisplay.new | cut -d: -f1 | cut -d= -f2`
/usr/sbin/pvdisplay -v $LVMPVOLS > pvdisplay.new
/usr/sbin/lvdisplay -v $LVMLVOLS > lvdisplay.new
/usr/sbin/lvlnboot -v > lvlnboot.new 2> /dev/null
/usr/sbin/ioscan -fk > ioscan.new
cp /etc/fstab fstab.new
for CURRENT in *new.
do
    ORIG=${CURRENT%.new}
    if diff $CURRENT $ORIG > /dev/null then
        # files are the same....do nothing
        rm $CURRENT
    else
        # files differ...make the new file the current file, move old
        # one to file.old.
        echo `date` "The config for $ORIG has changed." >> $LOG
        echo "Copy of the new $ORIG config has been printed" >> $LOG
        lp $CURRENT
        mv $ORIG ${ORIG}old.
        mv $CURRENT $ORIG
    fi
done
if [ -s "$LOG" ]
then
    mailx -s "LVM configs have changed" $SYSADM < $LOG
fi
exit 0
打印版本
保密声明 使用本网站表示您同意其使用条件
© 2008 Hewlett-Packard Development Company, L.P.