[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Virtualização: problema com LVM+LUKS+Xen no debian lenny



Pessoal,

Estou tento problemas para dar boot numa máquina virtual que estou
tentando criar.

Eu pretendo usar criptografia LUKS para evitar que alguém com acesso
ao servidor hospedeiro consiga montar uma snapshot da máquina virtual
ou inicializar uma máquina sem saber a senha.

Eu tenho um grupo de volume LVM chamado bigvg0 que fornece os volumes
lógicos web01-root, web01-swap, cada um formatado e encriptado
individualmente.

Eu criptografei os volumes LVM com o cryptsetup, depois dei um
luksOpen e formatei os dispositivos criados. Consigo abrir os volumes
criptografados, montá-los e colocar arquivos lá normalmente.

Fiz uma cópia de sistema básico para o local que deveria ser o root da
máquina virtual, usando o debootstrap.

Criei um arquivo /etc/xen/web01 para a configuração da minha máquina
virtual, com esse conteúdo:

# kernel and memory and cpu for this virtual machine
kernel  = '/boot/vmlinuz-2.6.26-2-xen-amd64'
ramdisk = '/boot/initrd.img-2.6.26-2-xen-amd64'
memory  = '5000'
vcpus   = 3
# disks
root    = '/dev/mapper/root ro cryptopts=source=/dev/sda1,target=root
cryptopts=source=/dev/sda2,target=swap
cryptopts=source=/dev/sda3,target=var'
disk    = [ 'phy:/dev/bigvg0/web01-root,sda1,w' ,
'phy:/dev/bigvg0/web01-swap,sda2,w' ,
'phy:/dev/bigvg0/web01-var,sda3,w' ]
# hostname
name = 'web01'
# network
vif = ['bridge=bridge-xen']
extra='xencons=tty'

Para quase tudo me baseei no tutorial em
http://www.eriberto.pro.br/xen/, exceto quanto à criptografia, pois o
tutorial não criptografa os sistemas de arquivos, então para meu arquivo
de configuração tive de buscar as opções 'cryptopts' em outro lugar.

Acontece que quando eu dou um xm create web01, o boot inicia, mas não
consegue achar o root. A mensagem é
"Begin: Waiting for root filesystem..."
Depois do timeout excedido:
"ALERT! /dev/mapper/root does not exist."
E inicia um shel initramfs.

Tenho uma configuração idêntica a essa num outro servidor que está
funcionando... se bem que ele é Etch com o Xen 3.0.

Alguém sabe dizer de que maneira devo modificar meu arquivo de
configuração para que os dispositivos sejam encontrados de maneira
correta?
Os dispositivos que estou passando como phy são os pontos dos volumes
LVM, isso está certo? Aquelas cryptopts estão corretas?
Em root eu devo colocar qualquer associação que esses volumes LVM
terão dentro da máquina virtual?
Não consegui tirar essas dúvidas no wiki do xen.

O servidor hospedeiro tem Debian Lenny 5.0 AMD64, com os seguintes
pacotes instalados:
debian:~# dpkg -l | grep xen
ii  libxenstore3.0         3.2.1-2       Xenstore communications library for Xen
ii  linux-image-2.6.26-2-xen-amd64   2.6.26-15       Linux 2.6.26
image on AMD64, oldstyle Xen su
ii  linux-modules-2.6.26-2-xen-amd64 2.6.26-15       Linux 2.6.26
modules on AMD64
ii  xen-hypervisor-3.2-1-amd64       3.2.1-2        The Xen Hypervisor on AMD64
ii  xen-utils-3.2-1         3.2.1-2       XEN administrative tools
ii  xen-utils-common         3.2.0-2        XEN administrative tools -
common files
ii  xenstore-utils          3.2.1-2        Xenstore utilities for Xen

debian:~# dpkg -l |grep lvm
ii  lvm2     2.02.39-7      The Linux Logical Volume Manager

Kernel do servidor hospedeiro:
debian:~# uname -a
Linux debian 2.6.26-2-xen-amd64 #1 SMP Fri Mar 27 07:12:15 UTC 2009
x86_64 GNU/Linux

Volumes LVM:
debian:~# lvs
  LV            VG     Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  web01-root    bigvg0 -wi-ao  30,00G
  web01-swap    bigvg0 -wi-a-   2,00G
  web01-var     bigvg0 -wi-a- 200,00G

debian:~# ls /dev/bigvg0
web01-root  web01-swap  web01-var

debian:~# ls /dev/mapper/
bigvg0-web01--root  bigvg0-web01--var bigvg0-web01--swap  control

Agradeço antecipadamente,
Krishna


Reply to: