как я могу реинтегрировать потерянный и найденный 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не является согласованным, поскольку потерянный и найденный PV, /dev/md2вероятно, содержит копии старого каталога логических томов, в котором упоминается файловая система, расположенная на /dev/md2.

Как мне реинтегрировать /dev/md2и mg20сохранить файловую систему, которая находится в нем? (и избавить себя от хлопот по восстановлению ее содержимого) Упрощающим фактором является то, что /dev/md2содержал только один логический том, и этот логический том полностью содержался в /dev/md2.

решение1

я поняласпособ восстановить рейд. Современные системы 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", хотя это, вероятно, не было необходимости. Я выполнил , vgcfgrestore -f /etc/lvm/archive/mg20_synthetic-2015.vg mg20и теперь мой mg20/homes18 вернулся и проходит fsck.

Честно говоря, я не очень доволен этим ответом. Это немного перебор, чтобы восстановить ВСЮ конфигурацию.

Я думаю, что настоящий ответ мог бы включать lvcreate -Z n, но мне лень проводить необходимые эксперименты, чтобы это проверить.

Связанный контент