Xen Live Migration: guest Windows 2008

Este vídeo apresenta um sistema Xen de Alta Disponibilidade (HA) fazendo a live migration. Durante a migração, um vídeo é exibido através da sessão RDP no máquina virtual com Windows 2008 R2.

The Book of Xen

Editato pela No Starch, o livro The Boot of Xen, pode ser encomendado em papel, por US$49,95 ou no formato eletrônico, por US$39,95. Para divulgação, a editora disponibilizou online o capítulo 7 do livro, que descreve como hospedar usuários não-confiáveis no Xen.

Se você usa o Linux e deseja disponibilizar o Xen em produção, tbox é o livro para você.

Release do Livro

Xen, a ferramenta de virtualização de código aberto, é o sonho dos administradores de sistemas. Xen é um monitor de máquina virtual de alto desempenho que permite consolidar o seu hardware e, finalmente, colocar a CPU não utilizada para uso, sem sacrificar a confiabilidade, desempenho e escalabilidade.

O Livro explica tudo que você precisa saber para poder usar o Xen de forma eficaz, incluindo a instalação de redes, gerenciamento de memória e armazenamento virtualizado. Você também vai aprender a usar o Xen e as ferramentas padrão do Linux para fazer backups instantâneo, executar operações de QoS no tráfego de rede e limitar usuários com acesso à disco agressivo.

Autores Chris Takemura e Lucas S. Crawford mostrar-lhe como:

  • Fornecer hospedagem virtual para dezenas de usuários, cada um com suas próprias necessidades individuais
  • Instalar e gerenciar vários convidados, incluindo vários sabores de Linux, NetBSD, Solaris e Windows
  • Escolher corretamente as opções de armazenamento virtual para suas necessidades
  • Migrar seus sistemas de forma transparente e criar novas imagens
  • Configurar e aferir os seus sistemas para torná-los o mais rápido possível
  • Solucionar problemas mais comuns do Xen como a rede e gerenciamento de memória

Os pareceres dos experts é inestimável quando se trata de gerir uma complexa tecnologia de virtualização de código aberto como o Xen. Você obterá o conselho que você precisa em O Livro do Xen.

Avaliação

Richard Bejtlich, do taosecurity, avaliou o livro The Book of Xen, de Chris Takemura e Luke S. Crawford.

De acordo com sua avaliação, “o Livro de Xen (tbox) é um grande livro para administradores de sistemas Linux que desejam implantar o Xen. Seus autores possuem mais de quatro anos de experiência executando Xen como servidores virtuais privados”.

Autores

  • Takemura Chris é um antigo administrador de sistemas *nix, hacker Perl, amante da tecnologia. Ele vem usando o Xen desde seus primeiros dias, e ajudou a construir a reputação de prgmr.com como ”hospedagem para os adeptos  de tecnologia”.
  • Luke S. Crawford utilizou a virtualização em produção desde antes que entrasse na onda, virtualizando centenas de servidores para pequenas e grandes empresas. Ele lançou o prgmr.com, serviço VPS (Virtualização Privada de Servidores) em 2005, vendendo servidores virtuais baseados em jails FreeBSD antes de mudar para o Xen em um esforço para alocar recursos de forma mais justa.

Pacotes Xen 3.4.2 para Slackware

Abaixo seguem os passos para a criação de pacotes do xen para Slackware 12.2. É necessário ter acesso à Internet, pois o xen irá baixar alguns arquivos.

Preparação

wget http://bits.xensource.com/oss-xen/release/3.4.2/xen-3.4.2.tar.gz
tar zxvf xen-3.4.2.tar.gz
cd xen-3.4.2

Edite o arquivo “stubdom/Makefile” e altere a linha 196, substituindo

( [ -h include/xen/libelf ] || ln -sf ../../$(XEN_ROOT)/tools/include/xen/libelf include/xen/libelf ) && \

por

( [ -h include/xen/libelf ] || ln -sf ../../$(XEN_ROOT)/xen/include/xen include/xen/libelf ) && \

Você também pode aplicar o patch “stubdom_Makefile.patch” com o seguinte comando:

patch stubdom/Makefile stubdom_makefile.patch

Criação dos pacotes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
make docs
cd dist/install
makepkg -l y -c n /tmp/xen-3.4.2-docs-noarch-1.tgz
cd ../.. && rm -rf dist/install
 
make stubdom
cd dist/install
makepkg -l y -c n /tmp/xen-3.4.2-stubdom-i686-1.tgz
cd ../.. && rm -rf dist/install
 
make tools
cd dist/install
makepkg -l y -c n /tmp/xen-3.4.2-tools-i686-1.tgz
cd ../.. && rm -rf dist/install
 
make xen
cd dist/install
makepkg -l y -c n /tmp/xen-3.4.2-hypervisor-i686-1.tgz
cd ../.. && rm -rf dist/install

Pronto. Seus pacotes do Xen para o Slackware estão prontos e já podem ser instalados.

Slackware 12.2 como host xen

Para quem estiver acompanhando este blog, e desejar refazer os passos que eu segui, segue um pequeno howto para a instalação do slackware como host Xen. A distribuição adotada foi o Slackware 12.2 (x86).

Instalação para testes e desenvolvimento

Ao instalar o slackware é necessário instalar as séries “A”, “AP”, “D”, “L”, “N” e “T”. Após a instalação, atualize o arquivo /etc/slackpkg/mirrors> e execute os seguintes comandos:

sudo /usr/sbin/slackpkg update
sudo /usr/sbin/slackpkg install fontconfig

Estes comandos são necessários para a instalação da documentação Xen. Não se esqueça de fazer ajustes no /etc (“/etc/ssh/sshd_config”, etc). Observe que não estou utilizando o ambiente gráfico.

Requisitos mínimos

É possível fazer uma instalação mais enxuta do Xen. Consultado a documentação oficial, pude observar que, para a instalação a partir dos sources, ele requer os seguintes pacotes:

  • GCC v3.4 ou posterior
  • GNU Make
  • GNU Binutils
  • Development install of zlib (ex: zlib-dev)
  • Development install of Python v2.3 ou posterior (ex: python-dev)
  • Development install of curses (ex: libncurses-dev)
  • Development install of openssl (ex: openssl-dev)
  • Development install of x11 (ex: xorg-x11-dev)
  • bridge-utils package (/sbin/brctl)
  • iproute package (/sbin/ip)
  • hotplug or udev

Coreutils

Outra coisa interessante de se notar é a questão do pacote “coreutils”. A versão do “coreutils” que acompanha o Slackware 12.2 tem problemas de incompatibilidade com Xen. Seguindo o conceito de que “a ídeia por de traz do Xen não é complicada, mas sua instalação e configuração envolve uma série de dicas e truques”, Daniel Stone me recomendou instalar o pacote coreutils do slackware 13.

wget ftp://ftp.slackware-brasil.com.br/slackware-13.0/source/a/coreutils/coreutils.SlackBuild
wget wget ftp://ftp.gnu.org/gnu/coreutils/coreutils-7.4.tar.gz
sudo sh coreutils.SlackBuild
sudo mv /tmp/coreutils-7.4-i486-1.txz /tmp/coreutils-7.4-i486-1.tgz
sudo /sbin/installpkg /tmp/coreutils-7.4-i486-1.tgz

Estes passos, são os passos básicos que permitem que seu PC, com Slackware 12.2, esteja pronto para a instalação do Xen.

Xen, pra que te quero?

Não gosto de apanhar. Já se vão dez anos que eu não uso slackware. Mas meu chefe gosta de escovar bits e sempre busca entender o estado da arte. Eu entendo a posição dele. Mas, particularmente, prefiro a praticidade. Não gosto de apanhar, mas também não gosto daquela sensação de não conseguir fazer o que me proponho a fazer.

Considero a documentação Xen escassa. Principalmente em relação ao Slackware. E dessa vez eu precisava desabafar. Há muito tempo venho pensando em manter um blog, mas nunca conseguia decidir sobre um assunto ao qual eu teria prazer em compartilhar, sem sentir o peso obrigação de manter.  Então, após tanto tempo, por que não experimentar simplesmente começar?

Posso resolver alguns problemas com essa decisão. São eles:

  • Dominar uma ferramenta Blog. No caso estou analisando o WordPress.
  • Aprender a usar o Xen, fazendo a instalação a partir dos sources.
  • Dominar o Xen. Principalmente no que tange à automatização da criação e gerenciamento de máquinas virtuais e na utilização da live migration.
  • Publicar documentação sobre o funcionamento do Xen nas distribuições Slackware e Debian.
  • Analisar as funcionalidades do Ubuntu-server em relação à virtualização.

Assim, este blog é um caderno de anotações que irei compartilhar com a comunidade Linux. Preciso deixar claro que ele não tem a pretensão de ser uma ferramenta de suporte à comunidade Linux, até porque estou um sobrecarregado em minhas atividades cotidianas. Mas, até decisão em contrário, gostarei de interagir com os internautas que passam ou passaram pelos mesmos problemas que tive em minha jornada.

Preciso agradecer ao Ponto de Presença da Rede Nacional de Ensino e Pesquisa em Goiás, POP-GO/RNP, pelo tempo cedido aos meus estudos. Também à Universidade Estadual de Goiás, UEG, por ceder a infraestrutura, necessária para os mesmos. Além disso, não poderia deixar de citar a DataWorks Soluções, que tem disponibilizado espaço em seus servidores para o armazenamento deste Blog.

Bon Voyage!