Исправить ошибки файловой системы KVM, libguestfs-tools


Исправить ошибки файловой системы KVM можно предварительно установив пакет libguestfs-tools (для CentOS хоста, на котором размещаются виртуальные машины).


Ошибки в файловой системе могут возникнуть, например, при неудачных попытках изменить размер диска. Также причиной могут быть аппаратные сбои.



Как восстановить файловую систему с помощью libguestfs-tools


Исправление ошибок поврежденных qemy image выполняется в несколько шагов.

1.

Прежде всего нужно выключить виртуальную машину. Через virsh list --all | grep ID проверяем машину, убеждаемся в том, что она выключена.

2.

Затем установить в хост систему нужный пакет

yum install libguestfs-tools

3.

В пакет входит утилита guestfish. Можно запустить её без параметров чтобы увидеть справку.

libguestfs-tools


Используем ее с ключом -a для добавления образа. Образ это диск нашей виртуальной машины, файловая система которой повреждена.



guestfish -a /kvmstore/kvmbox1.img

Приглашение к вводу команды изменится.

<fs> run

run находит ошибки



Вывести список устройств и созданных на них файловых систем (виртуальной машины)

<fs> list-filesystems

/dev/vda ext4

/dev/centos/root xfs



Для существующей машины есть 2 устройства. Если проблемы с FS на втором — нужно выполнить fsck для него

fsck xfs /dev/centos/root



В случае с ext4 fsck запускается без дополнительных параметров. Может потребоваться подтверждение выполнения вводом y

Ошибки исправили, запускаем виртуальную машину.



В случае если нет доступа к гипервизору (к хосту) — восстановление файловой системы производится из режима восстановления или при загрузке с внешнего носителя. Отмонтированный корневой раздел восстанавливается через fsck или xfs_repair.



Читайте также про бэкапы KVM. В редких случаях fsck не дает результата и бэкапы могут понадобиться.

Сказать спасибо