У меня есть KVM-сервер, и одна из моих гостевых машин вышла из строя и запрашивает форму проверки fsck. Теперь у меня нет доступа к консоли или нет корневого доступа к гостевой виртуальной машине.
Есть ли способ запустить fsck из гипервизора?
Я использую centos 6.1 в качестве гипервизора
установить libguestfs:
# yum install libguestfs-tools
используйте guestfish, чтобы открыть образ диска:
# guestfish -a /path/to/diskimage.img
Welcome to guestfish, the libguestfs filesystem interactive shell for
editing virtual machine filesystems.
Type: 'help' for help on commands
'man' to read the manual
'quit' to quit the shell
<fs> run
<fs> list-filesystems
/dev/vda1: ext4
/dev/system/lv_root: ext4
/dev/system/lv_swap: swap
и fsck проблемную файловую систему:
<fs> fsck /dev/system/lv_root
fsck should have 2 parameter(s)
type 'help fsck' for help on fsck
<fs> fsck ext4 /dev/system/lv_root
...
удачи!
Возможно, вы сможете смонтировать файл в интерфейсе обратной связи и выполнить fsck. С сайта www.ingent.net/en/tag/kvm/ , используйте:
losetup -f
/dev/loop0
... чтобы увидеть, что loop0 это следующее свободное устройство, затем назначьте образ диска для этой точки.
losetup /dev/loop0 disk.raw
kpartx используется для создания устройств для доступа к нему.
kpartx -av /dev/loop0
Тогда вы сможете использовать fsck.
fsck.ext3 -f /dev/mapper/loop0p1
fsck.ext3 -f /dev/mapper/loop0p2
...и так далее. Эта страница посвящена преобразованию систем для работы на KVM, но эта часть, процитированная выше, может помочь вам выполнить ремонт fsck; Я бы добавил предостережение, что вы должны делать это с копировать вашего файла изображения вместо файла основного изображения на случай, если что-то пойдет не так.
Помимо того, что предложил Барт Сильверстрим, я вижу два пути: