XenServer Convertendo HVM para Paravirtualizado

3

Recentemente, fui encarregado do difícil processo de converter uma configuração de VMs ativadas por HVM (em execução no Citrix XenServer 5.6.0) em contêineres PV (paravirtualizados).

As restrições do projeto foram:

  1. O sistema operacional deve ser funcionalmente idêntico após a migração.
  2. modificação mínima no sistema operacional (com exceção do mapeamento de kernel / unidade)

Eu também tive permissão para alterar o gerenciador de inicialização (isto é, o grub) de qualquer forma que eu achar conveniente.

No entanto, tentei fazer isso e, em primeiro lugar, gostaria de mostrar meus passos.

No momento, o CentOS5.5 é específico:

Etapas:

  1. yum instala o kernel-xen

    Instalado: 2.6.18-194.32.1.el5xen

  2. editado: /boot/grub/menu.lst mudei minhas especificações para combinar:

    title CentOS (2.6.18-194.32.1.el5xen)    
    root (hd0,0)
    kernel /vmlinuz-2.6.18-194.32.1.el5xen ro root=/dev/VolGroup00/LogVol00 console=xvc0
    initrd /initrd-2.6.18-194.32.1.el5xen.img
    

    Então eu mudei meus parâmetros xenserver para combinar:

    xe vm-param-set uuid=[vm uuid] PV-bootloader-args="--kernel /vmlinuz-2.6.18-194.32.1.el5xen --ramdisk /initrd-2.6.18-194.32.1.el5xen.img"
    xe vm-param-set uuid=[vm uuid] HVM-boot-policy=""
    xe vm-param-set uuid=[vm uuid] PV-bootloader=pygrub 
    xe vbd-param-set uuid==[Virtual Block Device/VBD uuid] bootable=true
    

Algumas coisas para observar, estou executando um VolGroup LVM;)

De qualquer forma, depois de todas essas etapas (que não são muito!) eu inicializo a VM e ele inicializa o kernel inicial, mas me é apresentado este erro:

Tela de inicialização:

device-mapper: dm-raid45: initialized v0.2594l
Waiting for driver initialization.
Scanning and configuring dmraid supported devices
Scanning logical volumes
  Reading all physical volumes.  This may take a while...
Activating logical volumes
  Volume group "VolGroup00" not found
Creating root device.
Mounting root filesystem.
mount: could not find filesystem '/dev/root'
Setting up other filesystems.
Setting up new root fs
setuproot: moving /dev failed: No such file or directory
no fstab.sys, mounting internal defaults
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
Switching to new root and running init.
unmounting old /dev
unmounting old /proc
unmounting old /sys
switchroot: mount failed: No such file or directory

Agora, minhas dicas são que ele não pode detectar / devido ao fato de que, quando você muda do modo HVM para PV, ele faz algo (não tão óbvio)

Quando você faz um SR (armazenamento) em um HVM, você o monta no sistema operacional como / dev / hda.

No entanto, no modo PV, isso se apresenta como / dev / xvda ...

Esta poderia ser a resposta? e se sim, como diabos eu implementar isso?

Atualização:
Então eu fiquei um pouco mais longe na minha busca, agora que detecta o LVM ...

Para fazer isso, eu precisei recompilar a imagem initrd do xen-kernel.

Comando: mkinitrd -v --builtin=xen_vbd --preload=xenblk initrd-2.6.18-194.32.1.el5xen.img 2.6.18-194.32.1.el5xen

Agora, quando eu inicializo, recebo isso:

Tela de inicialização:

Loading dm-raid45.ko module
device-mapper: dm-raid45: initialized v0.2594l
Scanning and configuring dmraid supported devices
Scanning logical volumes
  Reading all physical volumes.  This may take a while...
  Found volume group "VolGroup00" using metadata type lvm2
Activating logical volumes
  3 logical volume(s) in volume group "VolGroup00" now active
Creating root device.
Mounting root filesystem.
mount: error mounting /dev/root on /sysroot as ext3: Device or resource busy
Setting up other filesystems.
Setting up new root fs
setuproot: moving /dev failed: No such file or directory
no fstab.sys, mounting internal defaults
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
Switching to new root and running init.
unmounting old /dev
unmounting old /proc
unmounting old /sys
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!
    
por Karl Kloppenborg 22.02.2011 / 01:39

1 resposta

1

Experimente: xe vm-param-set uuid=[vm uuid] PV-args="root=/dev/VolGroup00/LogVol00"

    
por 12.12.2011 / 21:34