重建软件 Raid 时 LVM2 VolGroup 出现问题

重建软件 Raid 时 LVM2 VolGroup 出现问题

我正在努力解决有史以来最奇怪的 LVM 问题。

我正在家里运行一台小型服务器,其中包含 4 个 3 TB 磁盘的软件 Raid 5。 (机箱中没有空间容纳硬件 Raid 控制器)。

从技术来看,它是英特尔快速存储技术。

该服务器的存储挂载如下所示:

物理磁盘 -> 软件 Raid 5 -> LVM2 -> EXT4

上周停电后,Bios 处于故障状态,因此我重新配置 Bios 以再次将磁盘处理为 RAID。

但是,在第一次查看 Raid 控制器界面后,我发现了以下内容:

在此输入图像描述

状态失败,因为一个磁盘已从 Raid 信息中完全删除?!

因此,由于没有其他选项可以删除并重新创建 Raid 阵列,因此我可以在此之后启动系统,但内部没有 LVM 存储空间。

mdadm.conf 更改为:

ARRAY metadata=imsm UUID=3870907f:d7fafe1a:593e95f1:3496eea9
ARRAY /dev/md/Volume1 container=3870907f:d7fafe1a:593e95f1:3496eea9 member=0 UUID=0429e388:74a0f3ea:8ca3b4a3:5f976ec2

到:

ARRAY metadata=imsm UUID=52065345:de8d583c:8fa56cc8:55d93798
ARRAY /dev/md/Volume1 container=52065345:de8d583c:8fa56cc8:55d93798 member=0 UUID=b8f3dcf7:0e95fede:e6224238:b2426835

blkid /dev/md126

现在返回

/dev/md126: UUID="Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3" TYPE="LVM2_member"

由于重新创建了 softwareraid,我在 /etc/lvm/backup/ 中将 PV0 的 UUID 从 mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc 更改为 Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3日志卷0:

# Generated by LVM2 version 2.02.168(2) (2016-11-30): Mon Oct 14 00:05:24 2019

contents = "Text Format Volume Group"
version = 1

description = "Created *after* executing 'vgchange -ay'"

creation_host = "home"  # Linux home 4.15.17-1-pve #1 SMP PVE 4.15.17-9 (Wed, 9 May 2018 13:31:43 +0200) x86_64
creation_time = 1571004324  # Mon Oct 14 00:05:24 2019

LogVol0 {
    id = "Ch3etp-GYit-9qVW-nhEg-bv3K-IQnW-0jCjgM"
    seqno = 16
    format = "lvm2"         # informational
    status = ["RESIZEABLE", "READ", "WRITE"]
    flags = []
    extent_size = 8192      # 4 Megabytes
    max_lv = 0
    max_pv = 0
    metadata_copies = 0

    physical_volumes {

        pv0 {
            id = "Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3"
            device = "/dev/md126"   # Hint only

            status = ["ALLOCATABLE"]
            flags = []
            dev_size = 17581580288  # 8.18706 Terabytes
            pe_start = 2048
            pe_count = 2146188  # 8.18706 Terabytes
        }
    }

    logical_volumes {

        Logical_Volume_00 {
            id = "BWUgvn-24uy-XXf5-aFVx-o9YA-RF2H-2uD3OV"
            status = ["READ", "WRITE", "VISIBLE"]
            flags = []
            creation_time = 1395998316  # 2014-03-28 10:18:36 +0100
            creation_host = "debian"
            segment_count = 1

            segment1 {
                start_extent = 0
                extent_count = 2146188  # 8.18706 Terabytes

                type = "striped"
                stripe_count = 1    # linear

                stripes = [
                    "pv0", 0
                ]
            }
        }
    }

}

“pvdisplay”的当前输出:

pvdisplay 
  --- Physical volume ---
  PV Name               /dev/md126
  VG Name               LogVol0
  PV Size               8.19 TiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              2146188
  Free PE               0
  Allocated PE          2146188
  PV UUID               Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3

(当我尝试使用“vgcfgrestore LogVol0 LogVol0”恢复​​卷组时,pvdisk 首先丢失,因此我创建了这个新的 pvdisk)

创建“新”PVdisk 并恢复备份文件后,lvdisplay 如下所示:

  --- Logical volume ---
  LV Path                /dev/LogVol0/Logical_Volume_00
  LV Name                Logical_Volume_00
  VG Name                LogVol0
  LV UUID                BWUgvn-24uy-XXf5-aFVx-o9YA-RF2H-2uD3OV
  LV Write Access        read/write
  LV Creation host, time debian, 2014-03-28 10:18:36 +0100
  LV Status              NOT available
  LV Size                8.19 TiB
  Current LE             2146188
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto

PV:

  PV         VG      Fmt  Attr PSize   PFree 
  /dev/md126 LogVol0 lvm2 a--    8.19t     0 

左扫描:

  inactive          '/dev/LogVol0/Logical_Volume_00' [8.19 TiB] inherit

lsblk -f:

sdb                isw_raid_member                                              
└─md126            LVM2_member           Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3 
sdc                isw_raid_member                                              
└─md126            LVM2_member           Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3 
sdd                isw_raid_member                                              
└─md126            LVM2_member           Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3 
sde                isw_raid_member                                              
└─md126            LVM2_member           Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3 

因此,如果我使用“vgchange -ay”激活该 VG,输出将更改为:

sdb                           isw_raid_member                                              
└─md126                       LVM2_member           Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3 
  └─LogVol0-Logical_Volume_00 LVM2_member           mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc 
sdc                           isw_raid_member                                              
└─md126                       LVM2_member           Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3 
  └─LogVol0-Logical_Volume_00 LVM2_member           mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc 
sdd                           isw_raid_member                                              
└─md126                       LVM2_member           Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3 
  └─LogVol0-Logical_Volume_00 LVM2_member           mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc 
sde                           isw_raid_member                                              
└─md126                       LVM2_member           Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3 
  └─LogVol0-Logical_Volume_00 LVM2_member           mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc  

/dev/LogVol0/Logical_Volume_00 的类型为:

/dev/LogVol0/Logical_Volume_00: LVM2 PV (Linux Logical Volume Manager), UUID: mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc, size: 9001769107456

所以我无法安装它,因为我已经在新的 LVM 中创建了“旧”LVM?

使用 Testdisk,我可以看到内部 LVM 内的 ext4 分区,但如何取回我的...卷?

感谢您的帮助...

(哦,是的,我知道我需要更多备份......)

答案1

当 LV 显示为不活动时,我会尝试以下操作:

lvchange -ay

旁注:有些奇怪......要么您从 BIOS 设置 RAID,然后这是一个硬件 raid,您的系统只能看到一个虚拟设备 ( /dev/sdX)。即使您没有专门的卡来处理此问题:您的主板也可以发挥该作用。

或者您有一个软件 raid,您的操作系统可以看到所有磁盘,您有一些代表您的 raid 的特殊设备 ( /dev/mdX)。从表面上看,这就是你的情况。虽然我不明白你的 BIOS 中发生了什么。

相关内容