De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Geovane Gonçalves
Data de Publicação: 17 de Outubro de 2007
A virtualização de servidores não é nenhuma novidade e tem sido utilizada pela IBM talvez a mais de três décadas. Entretanto, o atual contexto tecnológico têm potencializado o seu desenvolvimento. Com a fabricação de processadores cada vez mais poderosos que utilizam tecnologias avançadas como múltiplos núcleos e suporte a virtualização por hardware a preços bastante competitivos, a virtualização tornou-se alcançável para a maioria das organizações. Além disso, no mundo Open Source já existem ferramentas consolidadas de virtualização como o Xen, OpenVZ e Vserver. Como benefícios diretos da virtualização podemos citar: potencialização no uso dos recursos de processamento disponível, economia de energia e espaço, flexibilidade de gerenciamento, plataforma de disaster recovery e maior disponibilidade de serviços.
Existem diversas técnicas de virtualização utilizadas, no nosso contexto as mais interessantes são: virtualização assistida por hardware -Intel VT e AMD-V- (Xen), paravirtualização (Xen, VM-Ware) e virtualização em nivel de sistema operacional (OpenVZ e Linux Vserver). A performance cresce na mesma seqüência das plataformas citadas. Mais informações sobre as técnicas de virtualização podem ser obtidas no artigo bastante interessante: x86 Virtualization da Wikipédia (http://en.wikipedia.org/wiki/X86_virtualization).
Utilizaremos o Xen nessa tarefa, com a técnica de virtualização por hardware, pois a instalação do Windows sobre o Linux só é possível através dessa técnica ou da virtualização completa (em processadores sem suporte à virtualização) como o VMWare, que oferece um desempenho similar.
Optamos pelo Xen pelos seguintes motivos:
A recente aquisição da XenSource pela Citrix e a supervalorização das ações ofertadas na Nasdaq pela VmWare escrevem novos capítulos nessa história. Acrescente-se o suporte à virtualização em hardware, a lei de Moore, e teremos um cenário do que o mercado está aguardando na área de virtualização para os próximos anos.
Instalação de um servidor virtual Windows 2003 sobre uma máquina hospedeira rodando Linux Debian Etch amd64.
Hardware com suporte à virtualização, que pode ser verificado através dos seguinte procedimentos:
Para processadores Intel:
#cat /proc/cpuinfo | grep vmx
Para processadores AMD:
#cat /proc/cpuinfo | grep svm
As flags vmx e svm presentes, indicam suporte à virtualização por hardware da Intel e da AMD, respectivamente. Também é importante verificar se a virtualização está habilitada na Bios.
Nessa instalação utilizamos a seguinte plataforma de hardware:
Servidor Dell PowerEdge 2950 com:
Sistema operacional Debian Etch (4.0 Stable) amd64 instalado e CD de instalação do Windows Server 2003 R2 64 Bits.
A versão estável do debian possui um pacote completo (versão atual:xen-linux-system-2.6.18-4-xen-amd64) que instala o kernel modificado para rodar o xen, o hypervisor e algumas ferramentas necessárias.
Infelizmente a versão do xen disponibilizada no pacote apresentou bugs que não permitiram o funcionamento correto do Windows 2003 64 bits. Assim, foi necessário baixar e instalar a última versão do Xen (3.1 binary tarball), disponível em: http://www.xensource.com/download/dl_31tarballs.html. Após baixar o pacote binário correspondente à nossa plataforma basta seguir o guia de instalação da Xensource (http://www.xensource.com/files/xen_install_windows.pdf), que aliás, é bastante completo e cobre desde particionamento com LVM para abrigar a máquina virtual até um exemplo de arquivo de configuração.
Resumidamente, o processo de instalação do pacote envolve os seguintes passos:
Descompactar o pacote e executar o script de instalação (./install.sh)
Identificar a versão do kernel que foi instalada e gerar a lista de dependência dos módulos:
#depmod 2.6.18-xen
Criar uma nova imagem ramdisk de inicialização para o kernel do xen:
#mkinitramfs /boot/initrd-2.6.18-xen.img 2.6.18-xen
Adicionar o daemon do xen às rotinas de inicialização do Debian, caso ainda não esteja, através do aplicativo rcconf .
Adicionar a nova entrada do kernel xen ao grub, editando o arquivo /boot/grub/menu.lst:
title Xen 3.1 / XenLinux 2.6 root (hd0,2) kernel /boot/xen-3.1.gz console=vga module /boot/vmlinuz-2.6-xen root=/dev/sda3 ro console=tty0 module /boot/initrd.img-2.6-xen savedefault
Bootar com o novo kernel.
Após o boot, verificar se o xen identificou corretamente o suporte à virtualização por hardware através do seguinte comando:
#xm info | grep cap
A saída deve conter a seguinte string: hvm-3.0-x86_64 , correspondente a nossa arquitetura. Caso não apareça, talvez você não tenha habilitado o suporte na bios ou o processador não tem esse suporte.
Em primeiro lugar deve ser criada a partição que suportará a nova máquina virtual. Sugerimos, como o próprio manual da Xensource, pela flexibilidade oferecida, que se utilize LVM2. A criação dos volumes lógicos não vai ser abordada nesse documento e pode ser aprofundada nos seguintes locais:
O arquivo de configuração da máquina virtual deve ser colocado na pasta
/etc/xen/
. O script de instalação do Xen colocou nessa pasta alguns modelos
de configuração. Podemos utilizar como base o arquivo xmexample.hvm que
utiliza o módulo para arquitetura x86. O outro exemplo xmexample.vti carrega
o módulo para plataforma i64. Esses arquivos possuem diversos comentários
sobre parâmetros de configuração.
Segue abaixo o arquivo de configuração utilizado em nossa instalação:
import os, re arch = os.uname()[4] if re.search('64', arch): arch_libdir = 'lib64' else: arch_libdir = 'lib' kernel = '/usr/lib/xen/boot/hvmloader' builder='hvm' memory = 512 shadow_memory = 8 name = "vm-windows03" vcpus=2 vif = [ 'type=ioemu, bridge=xenbr0' ] disk = [ 'phy:/dev/vms/vm-windows03,ioemu:hda,w', 'phy:/dev/hda,hdd:cdrom,r' ] on_poweroff = 'destroy' on_reboot = 'restart' n_crash = 'restart' device_model= '/usr/lib/xen/bin/qemu-dm' boot="cd" sdl=1 vnc=0
A configuração de rede para a máquina virtual é feita através da seguinte linha do arquivo de configuração acima:
vif = [ 'type=ioemu, bridge=xenbr0' ]
Como pode-se deduzir é feita através de uma bridge (xenbr0) criada automaticamente pelo Xen nos seus scripts de inicialização. Confirme se isso ocorreu como deveria: no arquivo "xend-config.sxp" a seguinte linha deve estar descomentada:
(network-script network-bridge)
Caso necessário, descomente-a e reinicie o Xen:
#/etc/init.d/xend restart
O efeito prático dessa configuração de rede é similar a você conectar a interface de rede de sua máquina virtual a uma porta do mesmo switch onde está conectada a sua máquina real.
Coloque o CD de instalação do windows no drive de CDRom.
Agora podemos levantar a máquina virtual com a ferramenta de gerenciamento do Xen, o XM:
#xm create vm-windows03
Se tudo correu bem, você deve estar visualizando a tela de instalação do Windows.
Geovane Gonçalves
Analista de Rede
Porto Alegre -RS
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários