Исправить ошибки файловой системы KVM можно предварительно установив пакет libguestfs-tools (для CentOS хоста, на котором размещаются виртуальные машины).
Ошибки в файловой системе могут возникнуть, например, при неудачных попытках изменить размер диска. Также причиной могут быть аппаратные сбои.
Как восстановить файловую систему с помощью libguestfs-tools
Исправление ошибок поврежденных qemy image выполняется в несколько шагов.
1.
Прежде всего нужно выключить виртуальную машину. Через virsh list --all | grep ID
проверяем машину, убеждаемся в том, что она выключена.
2.
Затем установить в хост систему нужный пакет
yum install libguestfs-tools
3.
В пакет входит утилита guestfish. Можно запустить её без параметров чтобы увидеть справку.
Используем ее с ключом -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 не дает результата и бэкапы могут понадобиться.