Создать акаунт
Доброго времени суток дорогой посетитель, для полного доступа к сайту пройдите авторизацию, либо зарегистрируйте аккаунт. Ваш Rearmium.RU :)
Rearmium Blog » Операционные системы » Metadata corruption detected, unmount and run xfs_repair

Metadata corruption detected, unmount and run xfs_repair

22 фев 2023, 13:39
Операционные системы
12
0
Metadata corruption detected, unmount and run xfs_repair

После переноса диска работающей виртуальной машины с одного гипервизора на другой возникла проблема с загрузкой виртуальной машины на новом месте. Была повреждена файловая система xfs из-за того, что диск копировался нагорячую.

Рассказываю, как решить эту проблему.

Для начала поясню, зачем я делал такую на первый взгляд абсурдную вещь. Для того, чтобы перенести виртуальную машину на на другой гипервизор proxmox, ее надо либо забэкапить и перенести архив, либо остановить и скопировать диски. Я не мог это сделать по нескольким причинам:

  1. На гипервизоре не хватало места, чтобы сделать локальный бэкап.
  2. Объем диска был 300 Гб, поэтому остановить виртуальную машину на весь срок переноса диска через интернет не представлялось возможным.

Мне нужно было сделать копию для того, чтобы развернуть такое же окружение на резервном гипервизоре и тестировать на нем восстановление из бэкапов. Так что меня устраивало, что горячие данные, например база, которые менялись во время копирования, будут повреждены. Я их накачу потом из бэкапа. Не хотелось решать вопрос с ручной настройкой окружения. Было удобнее скопировать как есть текущий прод.

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

Metadata corruption detected, unmount and run xfs_repair. Entering emergency mode. Exit the shell to continue.

Перед тем, как запустить виртуалку с скопированным диском, сделал проверку самого qcow2 файла.

# qemu-img check vm-102-disk-0.qcow2
# qemu-img check -r all vm-102-disk-0.qcow2

Ошибок на этом этапе не было. Но виртуалка всё равно не стартовала, так как судя по ошибке на скрине, была повреждена сама файловая система xfs. Исправил это достаточно просто. Там же в консоли восстановления выполнил проверку файловой системы. У меня там было 2 раздела:

  1. /boot на /dev/sda1
  2. / корень на lvm разделе /dev/mapper/centos-root

Запустил:

# xfs_repair /dev/sda1
# xfs_repair /dev/mapper/centos-root

В корне было много ошибок, но все они исправились и виртуальная машина успешно стартовала. Перед этим прикидывал всякие варианты, как бы без остановки виртуалки, скопировать ее. Ничего лучше не придумал. По факту это оказалось самое простое решение вообще без простоя.

Внимание! Данный материал предоставлен сайтом BLOG.REARMIUM.RU исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.

Смотрите также:

Комментарии
Минимальная длина комментария - 50 знаков. комментарии модерируются
Кликните на изображение чтобы обновить код, если он неразборчив
Рекламный блок