XenServer 6.2 VM 100% CPU e 100% de uso de memória e não inicializa

2

Eu tive esse problema hoje depois de uma falha de energia.

Eu tinha 2 vms e um deles não inicializa e estava usando 100% da CPU e 100% da memória.

Como foi muito difícil de resolver (pelo menos para mim), quero detalhar aqui os passos que fiz para consertá-lo, misturando muitos tutoriais.

    
por JorgeeFG 03.01.2015 / 22:56

2 respostas

1

Eu também tive esse problema. Isso me ajudou :

It could be possible that the problem was GRUB not sending signal video.

I've seen many threads regarding this, and it is highly probable that my VM's were stuck at this GRUB screen where you MUST select the OS to boot (giving the fact that they booted by pressing enter).

https://askubuntu.com/questions/372164/how-to-load-ubuntu-server-automatically-in-grub

Because this happened to me after power failures also, in a non-virtualized pc.

Apenas clicou na área em branco, pressione enter e a inicialização começou.

    
por 17.04.2015 / 14:01
3

Primeiro, tentei usar o CD de instalação do servidor Ubuntu e ir para Recue a Broken System, depois tentei reinstalar o GRUB, mas ele falhou.

Em seguida, encerrei a VM com falha com o encerramento forçado.

Em segundo lugar, listamos as VMs no XenCenter Console

[root@xen01 ~]# xe vm-list
uuid ( RO)           : d56d5ae8-62de-5e7e-41f9-1bd707d727d9
     name-label ( RW): fdev-appgw
    power-state ( RO): halted


uuid ( RO)           : 87aba275-0e05-4160-bebf-efc85fe93386
     name-label ( RW): fdev-tracker
    power-state ( RO): halted


uuid ( RO)           : c81439c2-a345-4f04-947e-34554718ce7e
     name-label ( RW): Control domain on host: fdev-xen01
    power-state ( RO): running

O fdev-tracker foi o que falhou.

Listados são discos. Devo admitir que não sei porque tenho 2 discos aqui, pois sou relativamente novato no Linux. Mas eu usei o primeiro, o que diz Device: hdb

[root@xen01 ~]# xe vbd-list vm-name-label=fdev-tracker
uuid ( RO)             : d461e06d-9cc3-7762-f141-0b3d2abe7b3c
          vm-uuid ( RO): 87aba275-0e05-4160-bebf-efc85fe93386
    vm-name-label ( RO): fdev-tracker
         vdi-uuid ( RO): 92dd9489-b450-4766-8853-b8b2fc9597ad
            empty ( RO): false
           device ( RO): hdb


uuid ( RO)             : 969fc0c8-1fcf-ed2c-ed6e-a71dc3c359d9
          vm-uuid ( RO): 87aba275-0e05-4160-bebf-efc85fe93386
    vm-name-label ( RO): fdev-tracker
         vdi-uuid ( RO): ba9e2ed8-c9db-4f95-8f14-2d51c99ea992
            empty ( RO): false
           device ( RO): hdd

Depois eu coloquei estes comandos para poder montar o disco na minha outra VM Linux. Eu não sei exatamente o que eles fazem, mas é o que os tutoriais dizem. Por favor, note que d56d5ae8-62de-5e7e-41f9-1bd707d727d9 é o UUID da VM funcionando . Eu tive problemas antes porque o tutorial não esclareceu isso. 92dd9489-b450-4766-8853-b8b2fc9597ad é o UUID da máquina VDI com falha .

[root@xen01 ~]# xe vbd-create vm-uuid=d56d5ae8-62de-5e7e-41f9-1bd707d727d9 vdi-uuid=92dd9489-b450-4766-8853-b8b2fc9597ad device=autodetect
91022555-2b86-4faf-cce1-eb62efc8aab7

Produz um UUID. Eu usei para ligá-lo à máquina de trabalho.

[root@xen01 ~]# xe vbd-plug uuid=91022555-2b86-4faf-cce1-eb62efc8aab7

Depois, ssh'ed a VM que está funcionando e inseri parted :

jsivil@appgw:/proc$ sudo parted
GNU Parted 2.3
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print devices                                                    
/dev/xvda (10,7GB)
/dev/xvdb (21,5GB)
(parted) quit                  

/dev/xvdb este, de 21 GB, é o disco da VM com falha.

Eu tentei fazer um fsck nele:

jsivil@appgw:/proc$ sudo fsck -p -c -v -f /dev/xvdb
fsck from util-linux 2.20.1
fsck.ext2: Bad magic number in super-block while trying to open /dev/xvdb
/dev/xvdb: 
The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

Mas eu lembrei que quando eu formatava, tinha 2 partições, uma para o sistema de arquivos inteiro (ext4) e outra para swap (ext3 eu acho). Então talvez isso estivesse causando problemas.

Então eu vi outro tutorial, ele estava usando um programa chamado kpartx . Eu não tinha, então eu fiz:

sudo apt-get install kpartx

Eu então fiz:

jsivil@appgw:/proc$ sudo kpartx -a /dev/xvdb

Parece que torna as partições visíveis ou algo parecido. Eles estão agora em / dev / mapper /

    jsivil@appgw:/proc$ sudo fsck -p -c -v -f /dev/mapper/   #tab press
    control  xvdb1    xvdb2    xvdb5

So I made the fsck on all xvdb*:

jsivil@appgw:/proc$ sudo fsck -p -c -v -f /dev/mapper/xvdb1
fsck from util-linux 2.20.1
/dev/mapper/xvdb1: Updating bad block inode.

      126881 inodes used (10.05%, out of 1262320)
          65 non-contiguous files (0.1%)
         120 non-contiguous directories (0.1%)
             # of inodes with ind/dind/tind blocks: 0/0/0
             Extent depth histogram: 117890/29
      778957 blocks used (15.43%, out of 5047040)
           0 bad blocks
           1 large file

       99695 regular files
       17528 directories
          55 character device files
          25 block device files
           0 fifos
          28 links
        9564 symbolic links (8869 fast symbolic links)
           5 sockets
------------
      126900 files
jsivil@appgw:/proc$ sudo fsck -p -c -v -f /dev/mapper/xvdb
xvdb1  xvdb2  xvdb5  
jsivil@appgw:/proc$ sudo fsck -p -c -v -f /dev/mapper/xvdb2
fsck from util-linux 2.20.1
fsck.ext2: Attempt to read block from filesystem resulted in short read while trying to open /dev/mapper/xvdb2
Could this be a zero-length partition?
jsivil@appgw:/proc$ sudo fsck -p -c -v -f /dev/mapper/xvdb5
fsck from util-linux 2.20.1
fsck: fsck.swap: not found
fsck: error 2 while executing fsck.swap for /dev/mapper/xvdb5

Eu não sei porque falhou no xvd2 (nem o que é, porque para mim deveria ter apenas 2 partições). O xvdb5 era swap, então isso não era importante. Em seguida, eu tentei montar para ver se eu era capaz de ver meus arquivos (eu era capaz de usar o CD do Ubuntu Server), mas fiquei curioso.

cd to /run/shm
jsivil@appgw:/run/shm$ mkdir /run/shm/a
jsivil@appgw:/run/shm$ sudo mount -t ext4 /dev/mapper/xvdb1 a

Eu gravei para "a" e tudo estava lá. Eu desisto disso.

Em seguida, voltei ao guia principal sobre o XenServer e tentei desconectá-lo da VM

[root@xen01 ~]# xe vbd-unplug uuid=91022555-2b86-4faf-cce1-eb62efc8aab7
The VM rejected the attempt to detach the device.
type: VBD
ref: 91022555-2b86-4faf-cce1-eb62efc8aab7
msg:

Parece que algumas das etapas anteriores da VM funcional tinham o disco em estado "em uso" ou algo assim.

Então, reiniciei a VM funcional. Tentei fazer isso de novo, mas a VM ainda estava reiniciando. Então eu tenho outro erro. Esperou até terminar e foi capaz de fazê-lo.

[root@xen01 ~]# xe vbd-unplug uuid=91022555-2b86-4faf-cce1-eb62efc8aab7 
You attempted an operation on a VM which requires PV drivers to be installed but the drivers were not detected.
vm: d56d5ae8-62de-5e7e-41f9-1bd707d727d9 (fdev-appgw)
[root@xen01 ~]# xe vbd-unplug uuid=91022555-2b86-4faf-cce1-eb62efc8aab7 
[root@xen01 ~]# xe vbd-destroy  uuid=91022555-2b86-4faf-cce1-eb62efc8aab7 

Depois de tudo isso, eu tentei inicializar a máquina com falha , mas eu não tive sorte :( O mesmo problema estava lá, 100% de CPU e 100% de memória.

Eu coloquei o CD de instalação do servidor Ubuntu (eu tenho em armazenamento ISO) e force a reinicialização. Entrou no Rescue Broken System e montou o xvdb1 como meu sistema de arquivos raiz. Depois disso, fui para "Reinstalar o GRUB". Lembre-se que estava falhando anteriormente, mas desta vez ele conseguiu.

Eu ejetei o CD e reiniciei.

Minha VM está funcionando novamente

Este parece ser um problema raro, porque eu não consegui encontrar muita informação sobre isso, apenas um cara no ServerFault, mas sem resposta de trabalho (como destruir o domínio vm ou algo parecido).

Espero que ajude alguém e sinta-se à vontade para editá-lo e esclarecer os conceitos que não conheço.

    
por 03.01.2015 / 22:56