Удалить “лишние” Linux LVM ‘rmeta’ тома?

Вопрос или проблема

Я пытался конвертировать линейный том var в RAID-1 на ядре, в котором RAID-1 был отключен, и, конечно же, это не удалось. Я пересобрал ядро с соответствующими изменениями, и затем конвертация прошла успешно, но первая попытка, похоже, создала сегменты barn0-var_rmeta_0 и barn0-var_rmeta_1 на старых и новых членах, которые, по-видимому, не связаны с томом. Могу ли я безопасно удалить эти сегменты, и если да, то как?

barn ~ # lsblk
NAME                    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                       8:0    0   1.8T  0 disk 
├─sda1                    8:1    0     2M  0 part 
├─sda2                    8:2    0   128M  0 part 
└─sda3                    8:3    0   1.8T  0 part 
  ├─barn0-var_rmeta_0   253:17   0     4M  0 lvm  
  ├─barn0-var_rmeta_2   253:19   0     4M  0 lvm  
  │ └─barn0-var         253:8    0    32G  0 lvm  /var
  ├─barn0-var_rimage_0  253:20   0    32G  0 lvm  
  │ └─barn0-var         253:8    0    32G  0 lvm  /var
  ├─barn0-home_rmeta_0  253:23   0     4M  0 lvm  
  │ └─barn0-home        253:16   0   160G  0 lvm  /home
  ├─barn0-home_rimage_0 253:24   0   160G  0 lvm  
  │ └─barn0-home        253:16   0   160G  0 lvm  /home
  ├─barn0-root_rmeta_0  253:31   0     4M  0 lvm  
  │ └─barn0-root        253:0    0    48G  0 lvm  /
  └─barn0-root_rimage_0 253:32   0    48G  0 lvm  
    └─barn0-root        253:0    0    48G  0 lvm  /
...
sdc                       8:32   0   1.8T  0 disk 
├─barn0-swap0           253:1    0     1G  0 lvm  [SWAP]
├─barn0-tmp             253:7    0    16G  0 lvm  /tmp
├─barn0-opt             253:9    0    16G  0 lvm  /opt
├─barn0-nboverflow1     253:10   0    16G  0 lvm  /mnt/misc
├─barn0-portage--temp   253:11   0    32G  0 lvm  /var/tmp/portage
├─barn0-vhosts          253:12   0    64G  0 lvm  /vhosts
├─barn0-nexus           253:13   0    16G  0 lvm  /var/lib/sonatype-work
├─barn0-scratch1        253:14   0    16G  0 lvm  
├─barn0-downloads       253:15   0    64G  0 lvm  /usr/share/downloads
├─barn0-var_rmeta_1     253:18   0     4M  0 lvm  
├─barn0-var_rmeta_3     253:21   0     4M  0 lvm  
│ └─barn0-var           253:8    0    32G  0 lvm  /var
├─barn0-var_rimage_1    253:22   0    32G  0 lvm  
│ └─barn0-var           253:8    0    32G  0 lvm  /var
├─barn0-home_rmeta_1    253:25   0     4M  0 lvm  
│ └─barn0-home          253:16   0   160G  0 lvm  /home
├─barn0-home_rimage_1   253:26   0   160G  0 lvm  
│ └─barn0-home          253:16   0   160G  0 lvm  /home
├─barn0-root_rmeta_1    253:33   0     4M  0 lvm  
│ └─barn0-root          253:0    0    48G  0 lvm  /
└─barn0-root_rimage_1   253:34   0    48G  0 lvm  
  └─barn0-root          253:0    0    48G  0 lvm  /

Мне нужно очистить это, потому что, когда я пытаюсь конвертировать том обратно в линейный, это не удается:

barn ~ # lvconvert -m -1 barn0/var /dev/sda3
  Логический том var_rmeta_0 уже существует в группе томов barn0.
  Ошибка выделения памяти.
  Не удалось сдвинуть и переименовать компоненты образа.
  Не удалось извлечь образы из barn0/var.

Ответ или решение

Для устранения лишних LVM ‘rmeta’ томов в вашей системе необходимо выполнить несколько шагов, чтобы правильно и безопасно удалить ненужные метаданные и завершить желаемую операцию преобразования тома.

Теория

LVM (Логический Менеджер Томов) позволяет создавать логические тома, которые могут растягиваться через несколько дисков и быть преобразованы в различные конфигурации, включая RAID. При создании RAID-1 тома в системе LVM создаются метаданные, такие как ‘rmeta’ и ‘rimage’, которые используются для управления зеркалированием данных. Элементы ‘rmeta’ ответственны за хранение метаданных, необходимых для корректной работы RAID. В вашем случае, из-за первоначальной неудачной попытки преобразования вследствие неправильной конфигурации ядра, были созданы избыточные мета-данные.

Пример

У вас есть проблема, при которой попытка повторного преобразования линейного тома в RAID-1 приводит к ошибке, связанной с существованием избыточных ‘rmeta’ томов:

lvconvert -m -1 barn0/var /dev/sda3

Ошибка:

Logical Volume var_rmeta_0 already exists in volume group barn0.
Memory allocation failed.
Failed to shift and rename image components.
Failed to extract images from barn0/var.

Это указывает на то, что тома ‘rmeta’, созданные во время первой, неудачной попытки, мешают продолжению операций.

Применение

Для решения проблемы, необходимо удалить лишние ‘rmeta’ тома. Следуйте шагам ниже, чтобы выполнить задачу безопасно:

  1. Создание резервной копии данных:
    Прежде чем выполнять какие-либо изменения, убедитесь, что все важные данные на томе /var надежно сохранены. Это может включать в себя создание полного бэкапа или временное копирование данных на другой носитель.

  2. Проверка текущего статуса LVM:
    Используйте команду lsblk и lvs для подтверждения текущего состояния логических томов и метаданных.

  3. Отключение автоматического монтирования:
    Убедитесь, что все монтированные тома отключены. Это позволит избежать любых конфликта черед преобразованием.

    umount /var

    Если том используется, вы не сможете его размонтировать; в таком случае выполните действия, чтобы всё же временно его отключить.

  4. Удаление избыточных ‘rmeta’ томов:
    Определите ‘rmeta’ тома, которые относятся к неудачной операции и замещают используемые. Используйте lvremove для их удаления:

    lvremove /dev/barn0/var_rmeta_0
    lvremove /dev/barn0/var_rmeta_1

    Убедитесь, что никаких изменений не вносятся без полного понимания того, что эти изменения не повредят файлы.

  5. Перепроверка конфигураций:
    После удаления нелишних томов, перепроверьте статус логических и физических томов с помощью lsblk и lvs.

  6. Повторная попытка преобразования:
    Теперь, после очистки всех лишних метаданных, попытайтесь преобразовать том обратно в линейный:

    lvconvert -m 0 barn0/var

    Следите за любыми предупреждениями или ошибками, которые возникают при выполнении команды.

  7. Проверка целостности:
    После успешного выполнения команд, перепроверьте файловую систему на ошибки, используя fsck, чтобы убедиться, что никаких ошибок в данных нет.

  8. Замонтирование тома:
    После всех изменений, повторное монтирование тома /var и следите за его работоспособностью:

    mount /var

Основное внимание в процессе устранения лишних ‘rmeta’ томов необходимо уделять точности и предосторожности. По мере выполнения всех операций убедитесь, что изменения не повредят отдельные данные и что система останется в состоянии нормальной работы.

Оцените материал
Добавить комментарий

Капча загружается...