Назад | Перейти на главную страницу

обновить путь устройства до физического тома lvm

Сначала это мой жесткий диск:

  1. / dev / sda1 100 МБ для bios_grub
  2. / dev / sda2 / 500 МБ для / загрузки
  3. / dev / sda3 800 МБ в качестве физического тома для LVM2 myvg группа томов.

я использовал parted удалить sda1 и sda2. После этого воссоздали / sda1 (600 МБ) для / boot. Затем использовали gdisk обновить нумерацию / dev / sda. так что теперь / dev / sda3 становится / dev / sda2. Проблема в том, что когда я бегу pvs Я все еще получаю /dev/sda3 как физическое вознаграждение за myvg.

Как мне обновить это, сохранив данные внутри myvg неповрежденный?

Для других людей, которые хотели бы сделать то же самое, вот две рекомендации:

  • Если вы можете: не реорганизуйте номера разделов, слишком большой риск для производственной системы. Не имеет значения, что нумерация непоследовательная.
  • Если вам действительно нужно это сделать: сначала отключите все разделы lvm, принадлежащие группе томов. Имена физических томов в pvs будут немедленно обновлены.

В этом случае у вас есть несколько решений:

  • перезагрузка система один раз.
  • Отключите группу томов, запустите partprobe, чтобы сообщить системе об изменении раздела, включите группу томов. (Как предлагает @рудимейер)
# vgchange -an myvg
# partprobe
# vgchange -ay myvg

Подробности ниже :


Я воспроизвел то, что вы сделали, с помощью тех же инструментов. Имя и размер диска различаются: / dev / sdb вместо / dev / sda.

Перед удалением первых перегородок:

# fdisl -l /dev/sdb
[...]
Device       Start      End  Sectors Size Type
/dev/sdb1     2048  4196351  4194304   2G Linux filesystem
/dev/sdb2  4196352  8390655  4194304   2G Linux filesystem
/dev/sdb3  8390656 20971486 12580831   6G Linux LVM

# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb3  myvg lvm2 a--  6.00g 5.92g

После удаления:

# fdisk -l /dev/sdb
[...]
Device       Start      End  Sectors Size Type
/dev/sdb3  8390656 20971486 12580831   6G Linux LVM

После создания нового раздела 1:

# fdisk -l /dev/sdb
[...]
Device       Start      End  Sectors Size Type
/dev/sdb1     2048  8390655  8388608   4G Linux filesystem
/dev/sdb3  8390656 20971486 12580831   6G Linux LVM

После реорганизации чисел (gdisk / dev / sdb + s):

# fdisk -l /dev/sdb
[...]
Device       Start      End  Sectors Size Type
/dev/sdb1     2048  8390655  8388608   4G Linux filesystem
/dev/sdb2  8390656 20971486 12580831   6G Linux LVM

Но команда pvs показывает неправильный номер

# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb3  myvg lvm2 a--  6.00g 5.92g

В этом случае LVM или некоторые части ядра всегда используют старую таблицу.

После перезагрузки новые номера разделов были правильно учтены системой и lvm.

# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb2  myvg lvm2 a--  6.00g 5.92g

Я думаю, что это безопасно для ваших данных, если я не ошибаюсь, lvm использует непосредственно uuid диска. Эти команды не должны изменять uuid.

В любом случае это конечно безопаснее, чем менять нумерацию разделов;)