如何將失物招領的 pv 重新整合到 LVM vg 中?

如何將失物招領的 pv 重新整合到 LVM vg 中?

我最近遺失了一個 RAID,它是我的 Linux LVM 磁碟區組之一的實體磁碟區。我最終做了一個vgreduce --removemissing並繼續恢復資料的業務。

好吧,今天我發現了 RAID(它被隱藏了,不要問)。

# pvdisplay -m /dev/md2
  WARNING: Volume group mg20 is not consistent
  "/dev/md2" is a new physical volume of "499.87 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/md2
  VG Name               
  PV Size               499.87 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               SUXIe9-B4xG-Qlbz-5cSd-f1dh-cRQh-vOF4qz

mg20不一致,因為 Lost&Found PV/dev/md2可能包含舊邏輯磁碟區目錄的副本,其中提到了位於 上的檔案系統/dev/md2

如何重新整合/dev/md2mg20保留其上的檔案系統? (並且省去了恢復其內容的麻煩)一個簡化因素是/dev/md2僅包含一個 LV 並且該 LV 完全包含在/dev/md2.

答案1

我想通了A恢復襲擊的方法。現代 LVM 系統經常備份 VG 配置。您可以使用 來查看備份清單以及觸發備份的命令vgcfgrestore --list。我在執行此操作時選擇了之前的一個vgreduce --removemissing,並在其中找到了這些相關的位元:

pv8 {
        id = "SUXIe9-B4xG-Qlbz-5cSd-f1dh-cRQh-vOF4qz"
        device = "unknown device"       # Hint only

        status = ["ALLOCATABLE"]
        flags = ["MISSING"]
        dev_size = 1048312832   # 499.875 Gigabytes
        pe_start = 2048
        pe_count = 127967       # 499.871 Gigabytes
}

homes18 {
        id = "d7yt43-PMTv-XnsH-qAff-3d5A-ilB6-eQB0Jy"
        status = ["READ", "WRITE", "VISIBLE"]
        flags = []
        segment_count = 1

        segment1 {
                start_extent = 0
                extent_count = 89600    # 350 Gigabytes

                type = "striped"
                stripe_count = 1        # linear

                stripes = [
                        "pv8", 0
                ]
        }
}

所以我創建了該文件的副本並"MISSING"flags =.我還設置了device = "/dev/md2",儘管這可能沒有必要。我執行了 a vgcfgrestore -f /etc/lvm/archive/mg20_synthetic-2015.vg mg20,現在我的 mg20/homes18 回來了並通過了 fsck。

說實話,我對這個答案並不太滿意。恢復整個配置有點過分了。

我認為真正的答案可能涉及lvcreate -Z n,但我懶得進行必要的實驗來驗證這一點。

相關內容