Como executar o fsck em VMs convidadas do KVM

6

Eu tenho um servidor KVM e uma das minhas máquinas convidadas está travada e solicitando o formulário de verificação fsck. Agora eu não tenho acesso ao console ou não tenho o acesso root da VM guest.

Existe alguma maneira que eu possa executar o fsck do hipervisor?

Eu uso o centos 6.1 como meu hipervisor

    
por kiran 17.04.2012 / 14:03

3 respostas

12

instale o libguestfs:

# yum install libguestfs-tools

use o guestfish para abrir a imagem do disco:

# 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

e fsck o sistema de arquivos problemático:

<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
...

boa sorte!

    
por 17.04.2012 / 14:56
2

Você pode montar o arquivo na interface de loopback e fsck. No site www.ingent.net/en/tag/kvm/ , use:

losetup -f
/dev/loop0

... para ver que o loop0 aqui é o próximo dispositivo livre, então atribua a imagem do disco a esse ponto.

losetup /dev/loop0 disk.raw

O kpartx é usado para criar dispositivos para acessá-lo.

kpartx -av /dev/loop0

Então você deve poder usar fsck.

fsck.ext3 -f /dev/mapper/loop0p1
fsck.ext3 -f /dev/mapper/loop0p2

... e assim por diante. A página trata da conversão de sistemas para serem executados no KVM, mas essa parte citada acima pode colocá-lo no caminho certo para fazer um reparo do fsck; Eu adicionaria a precaução de que você deveria fazer isso com uma cópia do seu arquivo de imagem em vez do arquivo de imagem de base, apenas no caso de algo dar errado.

    
por 17.04.2012 / 14:45
1

Além do que Bart Silverstrim sugeriu, posso ver duas maneiras:

  1. use libguestfs para montar e manipular as imagens
  2. inicialize a VM com um ISO do liveCD conectado e redefina o sinalizador fsck ou execute-o usando o liveCD
por 17.04.2012 / 14:50