xen com arquivos de disco de imagem (em vez de LVM)

1

No momento, estou executando o VirtualBox no Linux para executar alguns hosts linux de servidor da Web simples. Isso porque gosto da portabilidade e da segurança de isolamento extra.

Como o host (e convidados) é o Ubuntu, e como parece que a Sun está desativando o Virtualbox, quero ver se posso mudar para o Xen. Eu instalei os pacotes Xen do host Ubuntu, reiniciei, converti meu arquivo de disco do VirtualBox em uma partição bruta e criei um arquivo .conf. Com algumas modestas edições manuais para proteger os inocentes, ficou assim:

# ls -lth /home/me/Xen-VMs/domains/test.img
-rw-r--r-- 1 me me 20G Feb  3 16:02 test.img
# file test.img
test.img: DOS/MBR boot sector
# cat /etc/xen/test.conf
name="test"
bootloader="pygrub"
disk = ['file:/home/me/Xen-VMs/domains/test.img,sda,w']
memory = 2048

Eu então fiz um xl create /etc/xen/test.conf que funcionou (porque xl list mostrou teste), e eu pude iniciá-lo ( xl reboot test ) depois que eu tive memset no domínio 0. Eu então comecei a usar essa VM, mas ela sempre bloqueava ou pausava (e a rede para o convidado ainda não estava ativa). Bem, talvez não seja uma boa ideia começar com uma VM existente. quem sabe o que addbox guest virtualbox o hipervisor xen está bloqueando.

Então eu queria experimentar o Xen do zero. Eu tentei algo semelhante seguindo este guia ,

xen-create-image --hostname=tutorial-pv-guest \
  --memory=512mb \
  --vcpus=2 \
  --dir=/home/me/Xen-VMs \
  --dhcp \
  --pygrub \
  --dist=wheezy

onde substituí o LVM por um dir bruto, mas esse morreu com um erro na criação. Eu tentei o exemplo no script xl perl, mas

# xen-create-image --size=2Gb --dhcp --dist=stable --dir=/home/ivo/Xen-VMs --hostname=testmexen
...
xt-install-image --hostname=testmexen --location=/tmp/y3U0xqhG18 --dist=stable --install-method=debootstrap --mirror=http://us.archive.Ubuntu.com/ubu
ntu/ --cache=yes --cachedir=/var/cache/apt/archives/ --arch=amd64 2>&1' failed with exit code 32512.

Indo mais fundo, isso pode ou não ser o caso

W: Cannot check Release signature; keyring file not available /usr/share/keyrings/debian-archive-keyring.gpg
I: Retrieving Release
E: Failed getting release file http://us.archive.Ubuntu.com/Ubuntu/dists/stable/Release
Running command '/usr/sbin/debootstrap  --arch amd64 stable /tmp/J06gK4zZ0i http://us.archive.Ubuntu.com/Ubuntu/ 2>&1' failed with exit code 256.

Não ter uma base torna difícil para mim rastrear o que é realmente necessário para que o Xen funcione.

  • O Xen é a ferramenta certa para o trabalho? Ou seja, eu quero um arquivo de disco de imagem bruta que eu possa mover, se necessário, para outro computador, com bom isolamento do convidado de seu host.

  • Existe uma GUI (como a do VirtualBox) que me mostre o que está acontecendo na minha VM em execução, mas bloqueada?

  • Eu cometi erros facilmente corrigíveis aqui, especialmente na tentativa de "início do zero"?

conselho apreciado.

    
por ivo Welch 04.02.2015 / 02:53

1 resposta

4

Eu sou Xen há 5 anos e acho excelente para minhas necessidades. Para responder a perguntas:

Is Xen even the right tool for the job? That is, I want one raw image disk file that I can move around, if need be, to another computer, with good isolation of the guest from its host.

Eu uso discos Xen e raw como parte de um cluster de alta disponibilidade, então a resposta é sim.

Is there a GUI (like the VirtualBox one) that shows me what's happening in my running but blocked VM?

Sim. Libvirt. Realmente desenvolvido para o KVM, funciona bem com o Xen.

Did I make any easily correctible mistakes here, especially in the "start-from-scratch" attempt?

Aqui está uma pequena receita que pode tornar sua vida um pouco menos complicada. Primeiramente eu converto os HDDs do VirtualBox em HDDs brutos da seguinte forma:

qemu-img convert -f vdi -O raw vbDefault.vdi xenDefault.img

A configuração do Xen (xenDefault.cfg) pode ser de reposição. Você precisa de um nome, ram, vcpu e um HDD. É isso.

name = "xenDefault"

memory = 2048

vcpus=2

disk = [ 'file:/srv/xen/xenDefault.img,hda,w' ]

Agora posso criar uma máquina virtual.

xm create xenDefault.cfg

E eu posso ver minha máquina virtual por

xm list

e conecte-se a ele usando

xm console xenDefault

É isso. Experimente. Espero que isso tenha sido útil.

    
por 04.02.2015 / 13:16

Tags