Red Hat Training

A Red Hat training course is available for RHEL 8

17.9. 从磁盘中提取 VG 元数据

根据您的情况,选择以下一个流程从磁盘中提取 VG 元数据。有关如何保存提取的元数据的详情,请参考 将提取的元数据保存到文件中

注意

要进行修复,您可以使用 /etc/lvm/backup/ 中的备份文件,而无需从磁盘提取元数据。

流程

  • 打印从有效的 mda_header 引用的当前元数据文本:

    # pvck --dump metadata <disk>

    例 17.8. 有效的 mda_header 中的元数据文本

    # pvck --dump metadata /dev/sdb
      metadata text at 172032 crc Oxc627522f # vgname test segno 59
      ---
      <raw metadata from disk>
      ---
  • 根据查找有效的 mda_header,打印元数据区域中找到的所有元数据副本的位置:

    # pvck --dump metadata_all <disk>

    例 17.9. 元数据区域中元数据副本的位置

    # pvck --dump metadata_all /dev/sdb
      metadata at 4608 length 815 crc 29fcd7ab vg test seqno 1 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv
      metadata at 5632 length 1144 crc 50ea61c3 vg test seqno 2 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv
      metadata at 7168 length 1450 crc 5652ea55 vg test seqno 3 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv
  • 搜索元数据区域中没有使用 mda_header的所有元数据的副本,例如,如果标头丢失或损坏了:

    # pvck --dump metadata_search <disk>

    例 17.10. 元数据区域中没有使用 mda_header 的元数据的副本

    # pvck --dump metadata_search /dev/sdb
      Searching for metadata at offset 4096 size 1044480
      metadata at 4608 length 815 crc 29fcd7ab vg test seqno 1 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv
      metadata at 5632 length 1144 crc 50ea61c3 vg test seqno 2 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv
      metadata at 7168 length 1450 crc 5652ea55 vg test seqno 3 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv
  • dump 命令中包含 -v 选项,以显示每个元数据副本的描述:

    # pvck --dump metadata -v <disk>

    例 17.11. 显示每个元数据副本的描述

    # pvck --dump metadata -v /dev/sdb
      metadata text at 199680 crc 0x628cf243 # vgname my_vg seqno 40
      ---
    my_vg {
    id = "dmEbPi-gsgx-VbvS-Uaia-HczM-iu32-Rb7iOf"
    seqno = 40
    format = "lvm2"
    status = ["RESIZEABLE", "READ", "WRITE"]
    flags = []
    extent_size = 8192
    max_lv = 0
    max_pv = 0
    metadata_copies = 0
    
    physical_volumes {
    
    pv0 {
    id = "8gn0is-Hj8p-njgs-NM19-wuL9-mcB3-kUDiOQ"
    device = "/dev/sda"
    
    device_id_type = "sys_wwid"
    device_id = "naa.6001405e635dbaab125476d88030a196"
    status = ["ALLOCATABLE"]
    flags = []
    dev_size = 125829120
    pe_start = 8192
    pe_count = 15359
    }
    
    pv1 {
    id = "E9qChJ-5ElL-HVEp-rc7d-U5Fg-fHxL-2QLyID"
    device = "/dev/sdb"
    
    device_id_type = "sys_wwid"
    device_id = "naa.6001405f3f9396fddcd4012a50029a90"
    status = ["ALLOCATABLE"]
    flags = []
    dev_size = 125829120
    pe_start = 8192
    pe_count = 15359
    }

此文件可用于修复。第一个元数据区域默认用于转储元数据。如果磁盘在磁盘的末尾有第二个元数据区域,您可以使用 --settings "mda_num=2" 选项将第二个元数据区域用于转储元数据。