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

移动和重新配置磁盘

» 

技术文档资料

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

 » 目录

 » 词汇表

 » 索引

本节包括下列主题:

可能需要执行下列任务:

  • 将卷组中的磁盘移动到系统上的另一个硬件位置。

  • 将整个磁盘卷组从一个系统移动到另一个系统。

注意:建议不要移动作为根卷组的一部分的磁盘。有关详细信息,请参阅《Configuring HP-UX for Peripherals》。

文件 /etc/lvmtab/etc/lvmtab_p 包含系统上的 LVM 磁盘与卷组之间的映射信息;即,卷组名和卷组中包含的物理卷的列表。执行上面的两项任务之一时,必须更改这些配置文件,使其反映新的硬件位置和磁盘的设备文件。但由于这些文件不是文本文件,因此无法直接对其进行编辑。而是必须使用 vgexportvgimport 对卷组进行重新配置,从而在 LVM 配置文件中记录配置更改。

在系统内移动磁盘

有两种方式可将卷组中的磁盘移动到系统上的其他硬件位置。选择的方式取决于应用于物理卷的是持久性设备文件还是 Legacy 设备文件,设备文件的类型在“Legacy 设备文件与持久性设备文件”中描述。

使用持久性设备文件的 LVM 配置

如果 LVM 配置使用持久性设备文件,请执行下列步骤:

  1. 确保已有卷组内数据和卷组配置的最新备份。

  2. 输入以下命令停用卷组:

    # vgchange -a n /dev/vgnn
  3. 将磁盘物理地移动到所需的新位置。

  4. 激活卷组,如下所示:

    # vgchange -a y /dev/vgnn

使用 Legacy 设备文件的 LVM 配置

到物理设备的硬件路径更改时,Legacy 设备文件的名称也随之更改。因此,必须通过导出和导入卷组来更新 LVM 配置,以便使用新的 Legacy 设备文件。请执行下列步骤:

  1. 确保已有卷组内数据和卷组配置的最新备份。

  2. 停用卷组,如下所示:

    # vgchange -a n /dev/vgnn
  3. 如果要为卷组保留相同的次编号,请检查卷组的 group 文件,如下所示:

    # ls -l /dev/vgnn/group
    crw-r--r-- 1 root sys 64 0x010000 Mar 28  2004 /dev/vgnn/group

    对于本示例,卷组的主编号为 64,次编号为 0x010000。

  4. 输入以下命令,从 LVM 配置文件中删除卷组设备文件及其条目:

    # vgexport -v -s -m /tmp/vgnn.map /dev/vgnn
  5. 将磁盘物理地移动到所需的新位置。

  6. 要查看新位置,请输入以下命令:

    # vgscan -v
  7. 如果使用的是 2008 年 3 月之前的 HP-UX 发行版,或者要保留卷组设备文件的次编号,请执行“创建卷组设备文件”中的步骤创建它。

    由于本示例中的 group 文件的主编号为 64,次编号为 0x01000000,因此请输入下列命令:

    # mkdir /dev/vgnn
    # mknod /dev/vgnn/group c 64 0x010000
  8. 使用 vgimport 命令将卷组条目添加回 LVM 配置文件,如下所示:

    # vgimport -v -s -m /tmp/vgnn.map /dev/vgnn
  9. 激活新导入的卷组,如下所示:

    # vgchange -a y /dev/vgnn
  10. 备份卷组配置,如下所示:

    # vgcfgbackup /dev/vgnn

在系统之间移动磁盘

要将卷组中的磁盘移动到其他系统中的其他硬件位置,请从一个系统导出卷组,然后以物理方式将磁盘移动到其他系统,最后将卷组导入到该系统。导出和导入卷的过程分别在“导出卷组”“导入卷组”中描述。这些步骤将在下面的示例中说明。

注释:如果卷组包含任何多路径磁盘,请参阅“导入卷组”下的说明。

要将卷组 /dev/vg_planning 中的三个磁盘移动到其他系统,请执行下列步骤:

  1. 如果其中任何逻辑卷包含文件系统,请卸除该文件系统。如果其中的任何逻辑卷被用作次交换,需要禁用交换,然后重新引导系统。有关次交换的信息,请参阅《HP-UX 系统管理员指南:配置管理》。

  2. 使用户不能使用卷组及其相关联的逻辑卷,如下所示:

    # vgchange -a n /dev/vg_planning
  3. 使用以下命令预览从 LVM 配置文件中删除卷组信息的操作:

    # vgexport -p -v -s -m /tmp/vg_planning.map /dev/vg_planning

    通过 -m 选项,可以指定映射文件的名称,该映射文件将保留从 LVM 配置文件删除的信息。该映射文件包含卷组中所有逻辑卷的名称。在新系统上设置卷组时,请使用该映射文件。

  4. 如果预览结果满足要求,则删除卷组信息,如下所示:

    # vgexport -v -s -m /tmp/vg_planning.map /dev/vg_planning

    vgexport 命令将从系统中删除卷组并创建 /tmp/vg_planning.map 文件。

  5. 将磁盘连接到新的系统并将文件 /tmp/vg_planning.map 复制到新系统。

  6. 如果使用的是 2008 年 3 月之前的 HP-UX 发行版,请执行“创建卷组设备文件”中的步骤创建卷组设备文件。

  7. 要获取有关磁盘的设备文件信息,请运行 ioscan 命令:

    # ioscan -funN -C disk
  8. 要预览导入操作,请运行带 -p 选项的 vgimport 命令:

    # vgimport -p -N -v -s -m /tmp/vg_planning.map /dev/vg_planning
  9. 要导入卷组,请运行不带 -p 选项的 vgimport,如下所示:

    # vgimport -N -v -s -m /tmp/vg_planning.map /dev/vg_planning
  10. 激活新导入的卷组,如下所示:

    # vgchange -a y /dev/vg_planning

将数据移动到另一个物理卷

可以使用 pvmove 命令将逻辑卷中包含的数据从一个磁盘移动到另一个磁盘,或者在卷组内的磁盘之间移动数据。

例如,可以将某个逻辑卷的数据从一个磁盘移动到另一个磁盘,以便将第一个磁盘上腾出的空间用于其他目的。要将逻辑卷 /dev/vg01/markets 中的数据从磁盘 /dev/disk/disk4 移动到磁盘 /dev/disk/disk7,请输入以下命令:

# pvmove -n /dev/vg01/markets /dev/disk/disk4 /dev/disk/disk7

另一方面,可以将一个磁盘上包含的所有数据移动到同一个卷组内的另一个磁盘,而不管该磁盘与哪个逻辑卷相关联。例如,可以执行此操作从卷组中删除磁盘。可以使用 pvmove 将数据移动到指定的其他磁盘,或者让 LVM 按照特定的镜像分配策略将数据移动到卷组内合适的可用空间。

要将所有数据从磁盘 /dev/dsk/disk3 移出来,然后将其重新放在目标磁盘 /dev/disk/disk5 上,请输入以下命令:

# pvmove /dev/disk/disk3 /dev/disk/disk5

要将所有数据从磁盘 /dev/disk/disk3 移出来,并且让 LVM 将数据转移到卷组内的可用空间,请输入以下命令:

# pvmove /dev/disk/disk3

在上面的每个示例中,如果目标磁盘上没有空间,pvmove 命令将失败。

注释:pvmove 命令不是整体操作,而是逐个盘区地移动数据。如果 pvmove 因系统崩溃或 kill -9 而异常终止,卷组配置可能不一致,从而显示要移动的盘区的额外伪镜像副本。可以使用带 –m 选项的 lvreduce 命令删除每个受影响的逻辑卷上的该额外镜像副本;不必指定磁盘。

创建备用磁盘

注释:磁盘备用需要安装可选产品 HP MirrorDisk/UX。

2.0 版卷组不支持磁盘备用。

要将一个备用物理卷配置到需要防止磁盘故障的卷组中,请在实际发生磁盘故障之前执行下列步骤:

  1. 使用 pvcreate 命令将磁盘初始化为 LVM 磁盘。

    注释:不要使用 -B 选项,因为备用物理卷不能包含引导信息。

    # pvcreate /dev/rdisk/disk3
  2. 确保已激活卷组,如下所示:

    # vgchange -a y /dev/vg01
  3. 使用带 -z yvgextend 命令将一个或多个物理卷指定为卷组内的备用物理卷。例如:

    # vgextend -z y /dev/vg01 /dev/disk/disk3

    或者,也可以使用带 -z y 选项的 pvchange 命令将当前没有分配盘区的物理卷更改为备用物理卷。例如:

    # pvchange -z y /dev/disk/disk3

有关磁盘备用的详细信息,请参阅“通过磁盘备用增强磁盘冗余性”

恢复备用磁盘

注释:磁盘备用需要安装可选产品 HP MirrorDisk/UX。

2.0 版卷组不支持磁盘备用。

故障磁盘已修复或决定替换故障磁盘后,请执行下列步骤恢复故障磁盘,并使备用磁盘回到原来备用磁盘的状态:

  1. 物理连接新的磁盘或修复的磁盘。

  2. 使用 vgcfgrestore 将 LVM 配置恢复到重新连接的磁盘,如下所示:

    # vgcfgrestore -n /dev/vg01 /dev/rdisk/disk1
  3. 确保已激活卷组,如下所示:

    # vgchange -a y /dev/vg01
  4. 确保现在能够在更换的磁盘上进行盘区分配,如下所示:

    # pvchange -x y /dev/disk/disk1
  5. 使用 pvmove 命令将数据从备用物理卷移动到替换的物理卷。例如:

    # pvmove /dev/disk/disk3 /dev/disk/disk1

    备用磁盘中的数据现在又返回到原始磁盘或者更换磁盘上,而备用磁盘恢复为备用的空磁盘。

有关磁盘备用的详细信息,请参阅“通过磁盘备用增强磁盘冗余性”

修改物理卷特性

注释:2.0 版卷组不支持可引导物理卷。

通过 vgmodify 命令,可以修改卷组来适应物理卷的更改。具体地说,可以调整卷组以识别物理卷的大小更改,还可以在可引导和不可引导之间更改物理卷类型。

识别大小更改

磁盘阵列通常允许调整 LUN 的大小。如果增加 LUN 的大小,请执行下列步骤将附加空间合并到卷组中:

  1. 按照阵列说明增加 LUN 的大小。

  2. 运行 vgmodify 检测任何物理卷大小更改。它还将报告卷组能否使用所有空间。

  3. 如果 vgmodify 报告,每个物理卷的最大物理盘区数 (max_pe) 太小,无法容纳新增的空间,请使用带 -t-n 选项的 vgmodify 确定 max_pe 的新值,如“修改卷组参数”中所述。

  4. 按照新的设置运行带 -r 选项的 vgmodify 检查这些值。

  5. 停用卷组。

  6. 提交 max_pe 的任何新值,运行不带 -r 选项的 vgmodify 更新物理卷信息。

  7. 激活卷组。要验证增加的空间是否可用,请运行 vgdisplaypvdisplay 命令。

例如,要将物理卷 /dev/rdisk/disk6 的大小从 4 GB 增加到 100000000 KB,请执行下列步骤:

  1. 按照磁盘阵列说明增加 LUN 的大小。

  2. 运行带 -v-r 选项的 vgmodify,检查磁盘大小是否发生了更改,以及物理卷上的所有空间是否均可用。

    # vgmodify -v -r vg32
    当前卷组设置:
                         最多 LV 数    255
                         最多 PV 数    16
           每个物理卷的最大物理盘区  1016
                  物理盘区大小 (MB)    32
                     VGRA 大小 (KB)   176
    /dev/rdisk/disk6 警告:卷组 (1016) 的每个物理卷的最大物理盘区对于此物理卷 (3051) 来说太小。
    只使用此物理卷中的 1016 个物理盘区。
    
    已将“/dev/rdisk/disk6”大小从 4194304 更改为 100000000kb
    
    需要更新卷组
    
    新卷组设置:
                         最多 LV 数    255
                         最多 PV 数     16
           每个物理卷的最大物理盘区   1016
                  物理盘区大小 (MB)     32
                     VGRA 大小 (KB)    176
    
    审阅完成。卷组未被修改

    扩展的物理卷需要 3051 个物理盘区来使用其所有空间,但是当前的 max_pe 值将此值限制为 1016。

  3. 要确定 max_pvmax_pe 的最佳值,请分别运行带和不带 -n 选项的 vgmodify -t,如下所示:

    # vgmodify -t vg32
    当前卷组设置:
                                                    最多 LV 数       255
                                                    最多 PV 数        16
                                      每个物理卷的最大物理盘区      1016
                                              物理盘区大小 (MB)       32
                                                 VGRA 大小 (KB)      176
                                 VGRA 空间 (KB) - PE 未重新编号      896
                               VGRA 空间 (KB) - PE 重新编号更低    32768
    
    卷组优化设置(PE 未重新编号):
            max_pv(-p) max_pe(-e) 磁盘容量 (Mb)
                2         53756     1720193 
                3         35836     1146753 
                4         26876     860033
                ...
                28         3836     122753 
                30         3580     114561 
                32         3324     106369 
                35         3068     98177 
                38         2812     89985 
                ...
                255         252     8065

    上表显示,如果不重新计算物理盘区数,max_pv 值为 35 或更低即可使 max_pe 足以容纳增加的物理卷大小。

    # vgmodify -v -t -n vg32
    /dev/vg32 的卷组配置已保存在 /etc/lvmconf/vg32.conf 中 
    
    当前卷组设置:
                                                    最多 LV 数      255
                                                    最多 PV 数       16
                                      每个物理卷的最大物理盘区     1016
                                             物理盘区大小 (MB)       32
                                                VGRA 大小 (KB)      176
    
    所有物理卷上的 VGRA 空间 (KB):
                    PV                  当前            -n
            /dev/rdisk/disk6            896             32768
            /dev/rdisk/disk5            896             32768
            摘要                        896             32768
    
    卷组优化设置(PE 重新编号更低):
        max_pv(-p) max_pe(-e) 磁盘容量 (Mb)
            61       65535     2097152 
            62       65532     2097056 
            63       64252     2056096 
            ...
            251      16124     516000 
            252      16048     513568 
            255      15868     507808

    上表显示,如果重新计算物理盘区数,则 max_pv 的所有值都可使 max_pe 足够容纳增加的物理卷大小。

    在本示例中,选择 max_pv 值为 10,允许的 max_pe 值为 10748。

  4. 使用带 -r 选项的 vgmodify 预览更改,如下所示:

    # vgmodify -p 10 -e 10748 -r vg32
    当前卷组设置:
                                 最多 LV 数   255
                                 最多 PV 数    16
                   每个物理卷的最大物理盘区  1016
                          物理盘区大小 (MB)    32
                            VGRA 大小 (KB)    176
    当前卷组参数和新卷组参数不同。
    已将“/dev/rdisk/disk6”大小从 4194304 更改为 100000000kb
    需要更新卷组
    
    新卷组设置:
                                 最多 LV 数    255
                                 最多 PV 数     10
                   每个物理卷的最大物理盘区  10748
                           物理盘区大小 (MB)    32
                              VGRA 大小 (KB)   896
    审阅完成。卷组未被修改
  5. 停用卷组,如下所示:

    # vgchange -a n vg32
    Volume group "vg32" has been successfully changed.
  6. 提交新值,如下所示:

    # vgmodify -p 10 -e 10748 vg32
    当前卷组设置:
                                 最多 LV 数    255
                                 最多 PV 数     16
                   每个物理卷的最大物理盘区   1016
                          物理盘区大小 (MB)     32
                             VGRA 大小 (KB)    176
    当前卷组参数和新卷组参数不同。
    已将“/dev/rdisk/disk6”大小从 4194304 更改为 100000000kb
    需要更新卷组
    
    新卷组设置:
                                 最多 LV 数    255
                                 最多 PV 数     10
                   每个物理卷的最大物理盘区  10748
                          物理盘区大小 (MB)     32
                             VGRA 大小 (KB)    896
    “vg32”的新卷组配置已保存在“/etc/lvmconf/vg32.conf”中
    “vg32”的旧卷组配置已保存在“/etc/lvmconf/vg32.conf.old”中
    通过写入所有物理卷开始修改
    将此配置应用于“/etc/lvmconf/vg32.conf”中的所有物理卷
    已完成修改过程。
    “vg32”的新卷组配置已保存在“/etc/lvmconf/vg32.conf.old”中
    卷组“vg32”已更改成功。
  7. 通过输入下列命令激活卷组并验证更改:

    # vgchange -a y vg32
    Activated volume group
    Volume group "vg32" has been successfully changed.
    
    # vgdisplay vg32
    --- Volume groups ---
    VG Name                     /dev/vg32
    VG Write Access             read/write
    VG Status                   available
    Max LV                      255
    Cur LV                      0
    Open LV                     0
    Max PV                      10
    Cur PV                      2
    Act PV                      2
    Max PE per PV               10748
    VGDA                        4
    PE Size (Mbytes)            32
    Total PE                    3119
    Alloc PE                    0
    Free PE                     3119
    Total PVG                   0
    Total Spare PVs             0
    Total Spare PVs in use      0
    VG Version                  1.0
注意:此过程也可以用于减小物理卷大小的情况。但是,有一些限制:
  • 为了避免数据损坏,必须在 vgmodify 已成功更改卷组之后才能减小 LUN(在磁盘阵列中)的大小。

  • 在尝试执行减小大小操作之前,必须停用卷组。如果在卷组处于活动状态的情况下减小 LUN 的大小,LVM 会将物理卷标记为不可用。

  • 如果为物理卷分配了任何超出目标大小的物理盘区,vgmodify 将输出一条错误消息并退出,而不会更改物理卷。在这种情况下,必须做好将 LUN 恢复到其原始大小(确保分配相同的磁盘空间)的准备。

更改物理卷引导类型

注释:vgmodify 命令不支持 2.0 版卷组。

在初始化物理卷以便供 LVM 使用时,可以将其设置为可引导或不可引导。可引导物理卷需要额外的 LVM 元数据空间,用于存储引导实用程序和相关信息。如果无意中将物理卷初始化为可引导,可以将磁盘转换为不可引导的磁盘并回收 LVM 元数据空间。

注意:引导卷组至少需要一个可引导物理卷。不要将引导卷组中的所有物理卷都转换为不可引导,否则系统将无法引导。

要将磁盘类型从可引导更改为不可引导,请执行下列步骤:

  1. 使用 vgcfgrestore 确定卷组是否包含任何可引导磁盘。

  2. 运行 vgmodify 两次,一次带 -B n 选项,一次不带。比较 max_pemax_pv 的可用值。

  3. 选择 max_pemax_pv 的新值。按照新的设置运行带 -r 选项的 vgmodify 检查这些值。

  4. 停用卷组。

  5. 运行不带 -r 选项的 vgmodify 提交更改。

  6. 激活卷组。运行 vgcfgrestorepvdisplay 命令验证磁盘类型是否已更改。

例如,要转换卷组 vg 中的任何可引导磁盘,请执行下列步骤:

  1. 检查 vg01 中的任何物理卷是否均可引导,如下所示:

    # vgcfgrestore -l -v -n vg01
    Volume Group Configuration information in "/etc/lvmconf/vg01.conf"
    
    VG Name /dev/vg01
    ---- Physical volumes : 1 ----
    PV Type Size (kb) Start (kb) PVkey
    c2t1d0 Bootable 35566480 2912 0
    
    max_pv 16 max_pe 1085 max_lv 255
  2. 要确定可用的 max_pemax_pv 值,请运行以下命令:

    # vgmodify -t -B n vg01 /dev/rdsk/c2t1d0
    当前卷组设置:
                                                   最多 LV 数      255
                                                   最多 PV 数       16
                                     每个物理卷的最大物理盘区     1085
                                             物理盘区大小 (MB)      32
                                                VGRA 大小 (KB)     208
                               VGRA 空间 (KB) - PE 未重新编号     2784
                             VGRA 空间 (KB) - PE 重新编号更低    32768
    
    卷组优化设置(PE 未重新编号):
    max_pv(-p) max_pe(-e) 磁盘容量 (Mb)
    5          65535         2097122 
    6          56828         1818498 
    ...
    255         1276           40834

    比较这两个值,确定磁盘是否已设置为不可引导。输入以下命令:

    # vgmodify -t vg01
    当前卷组设置:
                                                   最多 LV 数      255
                                                   最多 PV 数       16
                                     每个物理卷的最大物理盘区     1085
                                            物理盘区大小 (MB)       32
                                               VGRA 大小 (KB)      208
                               VGRA 空间 (KB) - PE 未重新编号      768
                             VGRA 空间 (KB) - PE 重新编号更低      768
    
    卷组优化设置(PE 未重新编号):
    max_pv(-p) max_pe(-e) 磁盘容量 (Mb)
    1          65535       2097120 
    2          45820       1466240 
    ...
    255          252          8064

    如果更改磁盘类型,可用的 VGRA 空间将从 768 KB 增加到 2784 KB(如果未重新计算物理盘区数)或 32768 KB(如果重新计算了物理盘区数)。更改磁盘类型还会允许更大范围的 max_pvmax_pe 值。例如,如果 max_pv 为 255,则可引导磁盘可容纳的磁盘大小仅为 8064 MB,但在转换为不可引导的磁盘后,可容纳的磁盘大小变为 40834 MB。

  3. 在本示例中,选择 6 作为 max_pv 的值,该值允许 max_pe 值为 56828。输入以下命令预览更改:

    # vgmodify -r -p 6 -e 56828 -B n vg01 /dev/rdsk/c2t1d0
    当前卷组设置:
                                                   最多 LV 数      255
                                                   最多 PV 数       16
                                     每个物理卷的最大物理盘区     1085
                                            物理盘区大小 (MB)       32
                                               VGRA 大小 (KB)      208
    当前卷组参数和新卷组参数不同。
    需要更新卷组
    
    新卷组设置:
    当前卷组设置:
                                                    最多 LV 数      255
                                                    最多 PV 数        6
                                      每个物理卷的最大物理盘区    56828
                                             物理盘区大小 (MB)       32
                                                VGRA 大小 (KB)     2784
    审阅完成。卷组未被修改
  4. 停用卷组,如下所示:

    # vgchange -a n vg01
    Volume group "vg01" has been successfully changed.
  5. 提交新值,如下所示:

    # vgmodify -p 6 -e 56828 -B n vg01 /dev/rdsk/c2t1d0
    当前卷组设置:
                                                   最多 LV 数      255
                                                   最多 PV 数       16
                                     每个物理卷的最大物理盘区     1085
                                            物理盘区大小 (MB)       32
                                               VGRA 大小 (KB)      208
    当前卷组参数和新卷组参数不同。
    需要更新卷组
    
    新卷组设置:
    当前卷组设置:
                                                   最多 LV 数      255
                                                   最多 PV 数        6
                                     每个物理卷的最大物理盘区    56828
                                            物理盘区大小 (MB)       32
                                               VGRA 大小 (KB)     2784
    “vg01”的新卷组配置已保存在“/etc/lvmconf/vg01.conf”中
    “vg01”的旧卷组配置已保存在“/etc/lvmconf/vg01.conf.old”中
    
    通过写入所有物理卷开始修改
    将此配置应用于“/etc/lvmconf/vg01.conf”中的所有物理卷
    已完成修改过程。
    “vg01”的新卷组配置已保存在“/etc/lvmconf/vg01.conf.old”中
    卷组“vg01”已更改成功。
  6. 激活卷组并验证更改,如下所示:

    # vgchange -a y vg01
    Activated volume group
    Volume group "vg01" has been successfully changed.
    
    # vgcfgbackup vg01
    Volume Group configuration for /dev/vg01 has been saved in
     /etc/lvmconf/vg01.conf
    
    # vgcfgrestore -l -v -n vg01
    Volume Group Configuration information in "/etc/lvmconf/vg01.conf"
    VG Name /dev/vg01
    
    ---- Physical volumes : 1 ----
    PV     Type     Size (kb) Start (kb) PVkey
    c2t1d0 Non-Boot 35566480   2912       0
    
    max_pv 6 max_pe 56828 max_lv 255

禁用物理卷路径

重要信息:此过程仅禁用 LVM 的链路使用。pvchange 命令不会阻止诊断程序或应用程序访问物理卷。

缺省情况下,海量存储堆栈使用所有可用的路径访问物理卷,与在 LVM 中配置的路径无关。在 LVM 中禁用路径不会阻止本地多路径使用该路径。使用 scsimgr 命令可禁用沿某个路径的 I/O 或者禁用本地多路径。

通过 pvchange 命令可以临时禁止 LVM 使用物理卷的一个或所有物理路径。禁用路径(也称为断开链路)将导致 LVM 关闭该设备的路径并停止使用它。如果要确保某个链路处于空闲状态(例如,当对 I/O 卡运行诊断程序、更换 I/O 卡或者更换包含物理卷的磁盘时),则该功能将非常有用。

断开物理卷的链路是临时操作,而不是永久性操作。如果希望永久性地删除卷组中的链路或物理卷,请改为使用 vgreduce,如“从卷组删除磁盘”中所述。

要断开物理卷的链路,请使用带 -a 选项的 pvchange。例如,要禁用通过设备 /dev/disk/disk33 的链路,请输入以下命令:

# pvchange -a n /dev/disk/disk33

如果使用的是 LVM 对多路径磁盘的备用链路,每个链路使用不同的旧设备文件。在这种情况下,要断开物理卷的所有链路,请使用 N 作为 -a 选项的参数:

# pvchange -a N /dev/dsk/c5t0d0

断开物理卷的一个或多个链路不一定会导致 LVM 完全停止使用该物理卷。如果断开的链路是设备的主路径,则 LVM 将开始使用该设备的任何可用的备用链路。只有在物理卷的所有链路都被断开之后,LVM 才会停止使用该物理卷。

如果设备的所有链路都已断开,则关联的物理卷将不能再由卷组使用。这些链路仍然与卷组关联,但 LVM 不会向该物理卷发送任何 I/O 请求,直到重新连接该物理卷。这意味着该物理卷上的数据将临时不可用;因此在通过断开设备连接使之不可用之前,必须通过镜像操作来确保满足该数据的所有可用性要求。

断开链路不会禁用备用操作。也就是说,如果物理卷的所有链路都已断开,并且卷组中有一个合适的可用备用物理卷,则 LVM 将使用该备用物理卷重新构建断开连接的磁盘。有关备用操作的详细信息,请参阅“通过磁盘备用增强磁盘冗余性”

使用带 -v 选项的 vgdisplay 可以查看物理卷所有链路的 LVM 状态。

恢复物理卷的已断开链路,即重新连接它,可使该链路对于卷组可用。LVM 可以根据需要开始使用该链路访问磁盘。

要重新连接物理卷的特定路径,请使用带 -a 选项的 pvchange 命令。例如,输入以下命令:

# pvchange -a y /dev/dsk/c5t0d0

由于断开物理卷的链路是临时性的,因此卷组中所有已断开的链路将在卷组被激活(引导时或明确使用 vgchange 命令)时重新连接,如下所示:

# vgchange -a y /dev/vg02

创建备用引导磁盘

注释:2.0 版卷组不支持可引导物理卷。不能在 2.0 版卷组中创建备用引导磁盘。

对于非 LVM 磁盘,一个根磁盘包括了引导所需的所有属性,以及系统文件、主交换和转储。使用 LVM,单个根磁盘被一组磁盘,即根卷组所取代,根卷组包含上面的所有相同元素,还可以提供根逻辑卷、引导逻辑卷、交换逻辑卷以及一个或多个转储逻辑卷。这些逻辑卷中的每一个逻辑卷都必须是连续的(即,包含在单个磁盘中),并且必须已禁用坏块重定位(其他不连续的逻辑卷可用于用户数据)。有关交换设备和转储设备及其配置的详细信息,请参阅《HP-UX 系统管理员指南:配置管理》。

根逻辑卷包含操作系统软件和根文件系统 (/)。引导逻辑卷包含引导文件系统 (/stand)。可以将根逻辑卷和引导逻辑卷组合到单个逻辑卷中,或将其单独放置。无论是使用根逻辑卷与引导逻辑卷的组合,还是使用单独的根逻辑卷和引导逻辑卷,用于引导系统的逻辑卷必须是其物理卷上的第一个逻辑卷。要以维护模式引导系统,则它必须从物理盘区 0000 开始。

如果新安装 HP-UX 系统,并且选择 LVM 配置,将自动配置根卷组 (/dev/vg00),并配置单独的根 (/dev/vg00/lvol3) 逻辑卷和引导 (/dev/vg00/lvol1) 逻辑卷。如果当前使用的是根逻辑卷和引导逻辑卷的组合,并且要重新配置为单独的根逻辑卷和引导逻辑卷,则在创建引导逻辑卷之后,请使用带 -b 选项的 lvlnboot 命令将引导逻辑卷定义到系统中,使其在下一次引导系统时生效。

交换逻辑卷是系统的主交换区域,并通常用于转储。交换逻辑卷通常与根逻辑卷位于同一物理磁盘上。但可以将交换逻辑卷(以及转储逻辑卷)配置为位于根逻辑卷之外的其他物理磁盘上。

如果创建包含多个磁盘的根卷组,请使用 lvextend 命令将引导逻辑卷、根逻辑卷和主交换逻辑卷放在引导磁盘上。

提示:如果有必要为根逻辑卷腾出空间,可以使用 pvmove 将数据从现有的逻辑卷移动到另一个磁盘。有关详细信息,请参阅“将数据移动到另一个物理卷”

要创建一个具有备用引导磁盘的新根卷组,请执行下列步骤:

  1. 创建一个可引导物理卷。

    1. 在 HP Integrity 服务器上,请使用 idisk 命令和分区描述文件对磁盘进行分区,然后运行 insf,如“在 HP Integrity 服务器上镜像引导磁盘”中所述。

    2. 运行带 -B 选项的 pvcreate。在 HP Integrity 服务器上,使用表示 HPUX 分区的设备文件:

      # pvcreate -B /dev/rdisk/disk6_p2

      在 HP 9000 服务器上,使用整个磁盘的设备文件:

      # pvcreate -B /dev/rdisk/disk6
  2. 为卷组创建一个目录。例如:

    # mkdir /dev/vgroot
  3. 在上面描述的目录中创建一个名为 group 的设备文件,如下所示:

    # mknod /dev/vgroot/group c 64 0xnn0000
  4. 创建根卷组,并指定要包含的每个物理卷,如下所示:

    # vgcreate /dev/vgroot /dev/disk/disk6
  5. 将引导实用程序放置在引导区域中,如下所示:

    # mkboot /dev/rdisk/disk6
  6. 在磁盘引导区域中添加自动引导文件,如下所示:

    # mkboot -a "hpux" /dev/rdisk/disk6
  7. 创建引导逻辑卷。要创建名为 bootlv、大小为 512 MB 的引导逻辑卷,请输入下列命令:

    # lvcreate -C y -r n -n bootlv /dev/vgroot
    # lvextend –L 512 /dev/vgroot/bootlv /dev/disk/disk6
  8. 创建主交换逻辑卷。例如,要在与引导逻辑卷相同的磁盘上创建一个名为 swaplv、大小为 2 GB 的主交换逻辑卷,请输入下列命令:

    # lvcreate -C y –r n -n swaplv /dev/vgroot 
    # lvextend –L 2048 /dev/vgroot/swaplv /dev/disk/disk6
  9. 创建根逻辑卷。例如,要创建名为 rootlv、大小为 1 GB 的根逻辑卷,请输入下列命令:

    # lvcreate -C y –r n -n rootlv /dev/vgroot
    # lvextend –L 1024 /dev/vgroot/rootlv /dev/disk/disk6
  10. 指定 bootlv 作为引导逻辑卷,如下所示:

    # lvlnboot -b /dev/vgroot/bootlv
  11. 指定 rootlv 作为根逻辑卷,如下所示:

    # lvlnboot -r /dev/vgroot/rootlv
  12. 指定 swaplv 作为主交换逻辑卷,如下所示:

    # lvlnboot -s /dev/vgroot/swaplv
  13. 指定 swaplv 同时用于转储,如下所示:

    # lvlnboot -d /dev/vgroot/swaplv
  14. 验证配置,如下所示:

    # lvlnboot -v /dev/vgroot
    Boot Definitions for Volume Group /dev/vgroot:
    Physical Volumes belonging in Root Volume Group:
                    /dev/disk/disk6 -- Boot Disk
    Boot: bootlv    on:     /dev/disk/disk6
    Root: rootlv    on:     /dev/disk/disk6
    Swap: swaplv    on:     /dev/disk/disk6
    Dump: swaplv    on:     /dev/disk/disk6, 0
    
  15. 创建引导逻辑卷和根逻辑卷后,请为其创建文件系统。例如:

    # mkfs –F hfs /dev/vgroot/rbootlv
    # mkfs –F vxfs /dev/vgroot/rrootlv
    注释:在 HP Integrity 服务器上,引导文件系统可以是 VxFS。输入以下命令:
    # mkfs –F vxfs /dev/vgroot/rbootlv

镜像引导磁盘

注释:镜像需要可选的产品 HP MirrorDisk/UX。

2.0 版卷组不支持引导磁盘,因此不能在 2.0 版卷组中镜像引导磁盘。

创建根逻辑卷、引导逻辑卷和主交换逻辑卷的镜像副本后,如果这些基础物理卷之中的任一个发生故障,系统就可以使用其他磁盘上的镜像副本继续运行。当发生故障的磁盘回到联机状态时,如果尚未重新引导系统,该磁盘将自动恢复。

如果在磁盘回到联机状态之前就重新引导系统,可重新激活卷组以更新用于跟踪卷组内磁盘的 LVM 数据结构。即使卷组已经处于活动状态,仍然可以使用 vgchange -a y

例如,可以通过输入以下命令重新激活卷组 vg00

# vgchange -a y /dev/vg00

由此,LVM 将扫描并激活卷组 vg00 中的所有可用磁盘,包括重新引导系统后回到联机状态的磁盘。

对于 HP 9000 和 HP Integrity 服务器而言,创建引导磁盘镜像的步骤并不相同。HP Integrity 服务器使用经过分区的引导磁盘。

注释:这些示例包括创建主交换逻辑卷的镜像副本。主交换镜像不一定位于特定磁盘或特定位置,但必须为其分配连续磁盘空间。主交换的建议镜像策略是,禁用“镜像写高速缓存”和“镜像一致性恢复”机制。

对主交换进行镜像时,如果主交换设备也用作转储区域,则必须确保“镜像写高速缓存”和“镜像一致性恢复”在引导时设置为禁用状态,以避免丢失转储。要重置这些选项,请以维护模式重新引导系统,然后使用带 -M n-c n 选项的 lvchange 命令。

在 HP 9000 服务器上镜像引导磁盘

要设置镜像的根配置,必须向根卷组中添加磁盘,镜像其中的所有根逻辑卷,然后将其设置为可引导。在本示例中,要添加的磁盘路径为 0/1/1/0.0x1.0x0,其设备专用文件名为 /dev/rdisk/disk4/dev/disk/disk4。请执行下列步骤:

  1. 确保设备文件处于适当位置。例如:

    # insf -e -H 0/1/1/0.0x1.0x0

    该磁盘现在具有下列设备文件:

    /dev/[r]disk/disk4
  2. 创建一个可引导物理卷,如下所示:

    # pvcreate -B /dev/rdisk/disk4
  3. 将物理卷添加到现有的根卷组,如下所示:

    # vgextend /dev/vg00 /dev/disk/disk4
  4. 将引导实用程序放置在引导区域中,如下所示:

    # mkboot /dev/rdisk/disk4
  5. 在磁盘引导区域中添加自动引导文件,如下所示:

    # mkboot -a "hpux" /dev/rdisk/disk4
    注释: 如果希望只有当达不到 Quorum 时才从此磁盘引导,则可以使用备用字符串 hpux –lq 禁用 Quorum 检查。但是,HP 建议使用至少三个物理卷以及无单点故障来对根卷组进行配置,以便减少 Quorum 的损失,如“规划恢复”中所述。
  6. 必须按照在原始引导磁盘上配置的相同顺序对镜像引导磁盘上的逻辑卷进行扩展。确定根卷组中的逻辑卷的列表及其顺序。例如:

    # pvdisplay -v /dev/disk/disk0 | grep 'current.*0000 $'
       00000 current /dev/vg00/lvol1 00000
       00038 current /dev/vg00/lvol2 00000
       00550 current /dev/vg00/lvol3 00000
       00583 current /dev/vg00/lvol4 00000
       00608 current /dev/vg00/lvol5 00000
       00611 current /dev/vg00/lvol6 00000
       00923 current /dev/vg00/lvol7 00000
       01252 current /dev/vg00/lvol8 00000
  7. vg00(根卷组)中的每个逻辑卷镜像到指定的物理卷。例如:

    # lvextend –m 1 /dev/vg00/lvol1 /dev/disk/disk4
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol2 /dev/disk/disk4
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol3 /dev/disk/disk4
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol4 /dev/disk/disk4
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol5 /dev/disk/disk4
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol6 /dev/disk/disk4
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol7 /dev/disk/disk4
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol8 /dev/disk/disk4
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    提示:要缩短同步镜像副本所需的时间,请使用在 2007 年 9 月发行的 HP-UX 11i v3 中引入的 lvextendlvsync 命令选项。通过这些选项可以并行而非按顺序重新同步逻辑卷。例如:
    # lvextend -s –m 1 /dev/vg00/lvol1 /dev/disk/disk4
    # lvextend -s –m 1 /dev/vg00/lvol2 /dev/disk/disk4
    # lvextend -s –m 1 /dev/vg00/lvol3 /dev/disk/disk4
    # lvextend -s –m 1 /dev/vg00/lvol4 /dev/disk/disk4
    # lvextend -s –m 1 /dev/vg00/lvol5 /dev/disk/disk4
    # lvextend -s –m 1 /dev/vg00/lvol6 /dev/disk/disk4
    # lvextend -s –m 1 /dev/vg00/lvol7 /dev/disk/disk4
    # lvextend -s –m 1 /dev/vg00/lvol8 /dev/disk/disk4
    # lvsync -T /dev/vg00/lvol*
  8. 更新根卷组信息,如下所示:

    # lvlnboot -R /dev/vg00
  9. 验证镜像的磁盘是否显示为引导磁盘,以及两个磁盘上是否都有引导逻辑卷、根逻辑卷和交换逻辑卷,如下所示:

    # lvlnboot -v
  10. 将镜像磁盘指定为非易失性存储器中的备用引导路径,如下所示:

    # setboot –a 0/1/1/0.0x1.0x0
  11. 使用 vi 或其他文本编辑器在 /stand/bootconf 中为新的引导磁盘添加一行,如下所示:

    # vi /stand/bootconf
    l /dev/disk/disk4

    其中,字母“l”(L 的小写形式)代表 LVM。

在 HP Integrity 服务器上镜像引导磁盘

在 Integrity 服务器上镜像根磁盘的过程与在 HP 9000 服务器上执行的相应过程类似。不同之处在于 Integrity 服务器引导磁盘是分区的,必须设置分区、将实用程序复制到 EFI 分区并在 LVM 命令中使用 HP-UX 分区设备文件。

图 3-1 显示了引导磁盘的磁盘布局。该磁盘包含“主引导记录”(MBR) 和指向每个分区的 EFI 分区表。idisk 命令用于创建分区(请参阅 idisk(1M))。

图 3-1 HP Integrity 服务器上的 LVM 磁盘布局示例

HP Integrity 服务器上的 LVM 磁盘布局示例

在本示例中,要添加的磁盘的硬件路径为 0/1/1/0.0x1.0x0,设备专用文件名为 /dev/disk/disk2/dev/rdisk/disk2。请执行下列步骤:

  1. 使用 idisk 命令和分区描述文件对磁盘进行分区。

    1. 创建分区描述文件。例如:

      # vi /tmp/idf

      在本示例中,分区描述文件包含以下信息:

      3
      EFI 500MB
      HPUX 100%
      HPSP 400MB

      本示例中的值表示引导磁盘有三个分区:EFI 分区、HP-UX 分区和 HPSP 分区。早期 HP Integrity 服务器的引导磁盘的 EFI 分区可能只有 100 MB,并且可能不包含 HPSP 分区。

    2. 使用 idisk 和分区描述文件对磁盘进行分区,如下所示:

      # idisk -f /tmp/idf -w /dev/rdisk/disk2
    3. 要验证分区是否布局正确,请输入以下命令:

      # idisk /dev/rdisk/disk2
  2. 为所有分区创建设备文件。例如:

    # insf -e -H 0/1/1/0.0x1.0x0

    该磁盘现在具有下列设备文件:

    /dev/[r]disk/disk2(表示整个磁盘)
    /dev/[r]disk/disk2_p1(表示 efi 分区)
    /dev/[r]disk/disk2_p2(表示 HP-UX 分区)
    /dev/[r]disk/disk2_p3(表示服务分区)
  3. 使用表示 HP-UX 分区的设备文件创建可引导物理卷。例如:

    # pvcreate -B /dev/rdisk/disk2_p2
  4. 将物理卷添加到现有的根卷组,如下所示:

    # vgextend vg00 /dev/disk/disk2_p2
  5. 将引导实用程序放置在引导区域中。将 EFI 实用程序复制到 EFI 分区,并使用整个磁盘的设备专用文件,如下所示:

    # mkboot -e -l /dev/rdisk/disk2
  6. 在磁盘引导区域中添加自动引导文件,如下所示:

    # mkboot -a "hpux" /dev/rdisk/disk2
    注释: 如果希望只有当达不到 Quorum 时才从此磁盘引导,则可以使用备用字符串 hpux –lq 禁用 Quorum 检查。但是,HP 建议使用至少三个物理卷以及无单点故障来对根卷组进行配置,以便减少 Quorum 的损失,如“规划恢复”中所述。
  7. 必须按照在原始引导磁盘上配置的相同顺序对镜像引导磁盘上的逻辑卷进行扩展。确定根卷组中的逻辑卷的列表及其顺序。例如:

    # pvdisplay -v /dev/disk/disk0_p2 | grep 'current.*0000 $'
       00000 current /dev/vg00/lvol1 00000
       00010 current /dev/vg00/lvol2 00000
       00138 current /dev/vg00/lvol3 00000
       00151 current /dev/vg00/lvol4 00000
       00158 current /dev/vg00/lvol5 00000
       00159 current /dev/vg00/lvol6 00000
       00271 current /dev/vg00/lvol7 00000
       00408 current /dev/vg00/lvol8 00000
  8. vg00(根卷组)中的每个逻辑卷镜像到指定的物理卷。例如:

    # lvextend –m 1 /dev/vg00/lvol1 /dev/disk/disk2_p2
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol2 /dev/disk/disk2_p2
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol3 /dev/disk/disk2_p2
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol4 /dev/disk/disk2_p2
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol5 /dev/disk/disk2_p2
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol6 /dev/disk/disk2_p2
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol7 /dev/disk/disk2_p2
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....
    # lvextend –m 1 /dev/vg00/lvol8 /dev/disk/disk2_p2
    The newly allocated mirrors are now being synchronized.
    This operation will take some time. Please wait ....