• Nenhum resultado encontrado

Servidor KVM. Atualmente com foco nas

N/A
N/A
Protected

Academic year: 2021

Share "Servidor KVM. Atualmente com foco nas"

Copied!
5
0
0

Texto

(1)

C

A

P

A

Servidor KVM

O KVM vem ganhando atenção do mercado corporativo como solução de virtualização. Veja como usá-lo com facilidade.

por Carlos R. M. Guimarães

A

tualmente com foco nas tecnologias “verdes”, a tec-nologia da virtualização é cada vez mais utilizada. As técnicas empregadas são atualizadas diaria-mente, conseguindo em tempos sempre menores resultados consis-tentemente melhores, e precisamos nos adaptar e estar atentos a essas melhorias.

No kernel Linux 2.6.20, foi intro-duzido o ambiente de virtualização denominado KVM (Kernel-based

Virtual Machine – Máquina Virtual

com base no Kernel), que oferece suporte à virtualização exploran-do as tecnologias VT (da Intel) e AMD-V (da AMD), encontradas nos processadores mais recentes desses fabricantes.

Este artigo mostra como criar novas máquinas virtuais sobre o KVM, instalar nelas um sistema e prepará-las para o gerenciamento via rede, incluindo uma interface gráfica básica.

Hypervisor

Para construir o servidor de virtuali-zação, utilizaremos como exemplo o Ubuntu Server 9.10. Os

princi-pais motivos desta escolha são as versões recentes dos aplicativos

kvm-qemu (0.11.0), libvirt (0.7.0)

e virt-manager (0.7.0) incluídos nesse sistema.

Com isso, obtemos uma platafor-ma estável, que permite desligar as máquinas virtuais e até reiniciar sis-temas virtuais Windows XP, Vista e Windows 7. Em outras plataformas e versões, a reinicialização de VMs equipadas com esses sistemas não acontecia da forma esperada.

Para a instalação do sistema na máquina física, escolha a opção de “Instalação mínima do sistema”, pois hypervisors devem sempre

con-ter o menor número de pacotes, de forma a reduzir riscos à segurança e também restringir o número de processos a executar.

Todo o processo de instalação ocorre de forma normal, sendo as únicas particularidades o particio-namento do disco rígido (consulte a tabela 1) e o uso da opção “Sem Atualizações Automáticas”. Ao fi-nal da instalação, o servidor será reiniciado.

Na primeira inicialização, ative a conta de root e forneça uma senha com no mínimo oito caracteres:

$ sudo passwd root

Tabela 1: Particionamento de disco no anfitrião

Ponto de montagem Tamanho e importância swap Semelhante à quantidade de

memória RAM instalada / 10 GB (sistema anfitrião e

outros poucos pacotes)

/vserver Local de instalação das VMs

/dados Alojará dados e diretórios que compõem as

VMs (dados dinâmicos, como diretórios / home, arquivos de log, cache do proxy etc.)

(2)

A lista dos repositórios será mantida somente com os oficiais e estáveis –

por razões óbvias, ou seja, um servi-dor que hospedará outros serviservi-dores:

$ sudo aptitude update

Em seguida, instale um gerencia-dor de runlevel e atualize seu menu:

$ sudo aptitude install rcconf $ sudo update-rcconf-guide

Agora, instale os softwares de vir-tualização:

$ sudo aptitude install kvm \ libvirt-bin bridge-utils \ openssh-server

Na versão 9.10 do Ubuntu, não há necessidade de adicionar o usuário ao grupo libvirtd, pois o próprio pa-cote já o faz automaticamente du-rante a instalação. Caso você deseje verificar isso:

$ sudo adduser ‘usuário’ libvirtd

Para permitir a conexão entre as máquinas virtuais hospedadas sobre esse servidor, e também entre essas VMs e toda a rede física existente, utilize o modo bridge. Para isso, edite o arquivo /etc/network/interfaces para criar as bridges que poderão receber

endereços dinâmicos (listagem 1) ou estáticos (listagem 2). As listagens 1 e 2 supõem a existência de duas placas de rede, cada uma atendendo uma máquina virtual.

Para ativar as configurações, basta reiniciar a rede:

/etc/init.d/network restart

Ambiente gráfico:

por que sim?

Em servidores, não utilizamos, na maioria das vezes, ambiente gráfico, seja ele qual for. Porém, no caso de hypervisors, o ambiente gráfico nos permite um aumento de produtivi-dade e agiliprodutivi-dade com a ferramenta gráfica virt-manager.

A maioria das tarefas podem e devem ser executadas na linha de comando. Contudo, quando temos vários servidores para administrar – muitas vezes, pertencentes a empresas diferentes – é importante dispor de muita agilidade. Então, por que não optar por ferramentas que auxiliam o trabalho e facilitam essas operações sem abrir mão da segurança?

No caso deste artigo, as razões que levam a optar por um ambiente gráfico são:

Listagem 1: Bridges com

endereços dinâmicos

# Interface loopback auto lo

iface lo inet loopback

auto eth0

iface eth0 inet manual auto br0 # br0 usa DHCP iface br0 inet dhcp bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 metric 1 auto eth1

iface eth1 inet manual auto br1 # br1 também usa DHCP iface br1 inet dhcp bridge_ports eth1 bridge_stp off bridge_fd 0 bridge_maxwait 0 metric 1

Listagem 2: Bridges com endereços estáticos

# Interface loopback auto lo

iface lo inet loopback

auto eth0

iface eth0 inet manual

auto br0

# br0 usa IP estático iface br0 inet static address 192.168.0.100 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 metric 1 auto eth1

iface eth1 inet manual

auto br1

# br1 também usa IP estático

iface br1 inet static address 192.168.0.101 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports eth1 bridge_stp off bridge_fd 0 bridge_maxwait 0 metric 1

(3)

1 facilidade para administrar as di-versas VMs que serão instaladas; 2 interface para a instalação dos

sistemas operacionais e pacotes adicionais em cada VM; 3 administrar remotamente cada

VM e o próprio hypervisor; 4 pela linha de comando, a

admi-nistração de servidores virtuais que exigem grande interação com a área de trabalho dos usuá-rios (como LTSP, por exemplo) é muito mais demorada.

Xfce4

Após uma análise criteriosa, o am-biente Xfce4 é o mais adequado para fornecer a interface gráfica (na mo-desta opinião do autor deste artigo, evidentemente): a tabela 2 mostra uma comparação entre Openbox e Xfce4, juntamente com os motivos que determinam o vencedor.

Instale o Xfce4:

$ sudo aptitude install \ xserver-xorg xserver-xorg-core \ xfce4 xfce4-icon-theme

Caso você prefira instalar o Open-box, basta instalar o pacote openbox. Feito isso, seu sistema anfitrião já tem um ambiente gráfico bem básico pronto. Ele não iniciará au-tomaticamente – isto é proposital, pois não há necessidade de mantê-lo ativo todo o tempo. Localmente, o ambiente gráfico será muito útil apenas na hora de criar e configurar as VMs; posteriormente, será muito utilizado no caso de acesso remoto via FreeNX.

Acesso gráfico remoto

Instale as ferramentas de gerencia-mento gráfico das VMs:

$ sudo aptitude install \ virt-manager virt-viewer

O próximo passo será instalar o FreeNX para permitir o acesso

re-moto (mesmo via Internet, e não apenas pela LAN), pois é assim que vamos acessar o anfitrião e também as VMs via Virt-manager. Os resul-tados obtidos com a utilização do FreeNX com o Virt-manager são bem superiores à conexão direta entre a máquina do administrador e o anfitrião.

Em uma rede Ethernet local, é possível acessar o anfitrião diretamen-te pelo Virt-manager e diretamen-ter respostas imediatas aos comandos. Porém, no caso de acesso externo, via Internet, essas respostas tornam-se impratica-velmente lentas.

É por isso que este artigo utiliza o FreeNX para se conectar remota-mente ao ambiente gráfico do próprio anfitrião. A partir dele, abriremos um terminal para chamar o Virt-manager, acessando assim as VMs de forma satisfatória, independentemente da localização do administrador.

Instalação do FreeNX

O FreeNX é um aplicativo para com-partilhamento de área de trabalho, mais eficiente que o VNC ou o X11, pois possui um sistema aprimorado para cache de imagens. Ele se divide em duas partes: uma aplicação no servidor, que fornece as sessões, e uma aplicação no cliente para per-mitir acesso ao servidor.

A conexão ocorre por meio do protocolo SSH. Então, teremos uma autenticação criptografada e podemos utilizar tráfego de dados criptografado

via SSL. Outro ponto importante é que as informações transmitidas são compactadas pela zlib.

Para instalar o FreeNX, é neces-sários mais (mas não muito mais) do que um simples apt-get:

$ sudo aptitude install \ python-software-properties $ sudo add-apt-repository \ ppa:freenx-team $ sudo aptitude update

$ sudo aptitude install freenx

A configuração do FreeNX tam-bém requer um comando em se-parado:

$ sudo /usr/lib/nx/nxsetup \ --install

O primeiro ponto importante após a instalação é a chave SSH usada pela conexão NX. Você pode utilizar a chave padrão que já vem instalada no FreeNX ou, para uma maior segurança, uma chave própria.

A recomendação é utilizar uma chave própria. Neste caso, somente quem tem a chave poderá acessar o servidor, garantindo assim uma res-trição maior e, consequentemente, uma maior segurança.

Uma política de segurança muito saudável é editar o arquivo /etc/ssh/ sshd_config e desabilitar o acesso ao usuário root via SSH. Desta forma, somente é possível fazer login remo-to como um usuário sem privilégios,

Tabela 2: Comparativo entre Xfce4 e Openbox

Xfce4 Openbox

Uso de disco 1,4 GB 1,1 GB Uso de memória 193,25 MB 215,63 MB Aplicativos e

ambiente gráfico Adicionados ao menu automaticamente na instalação Adicionados ao menu editando-se os arquivos de configuração Software para acesso remoto FreeNX (sem pacotes adicionais)

NX Server, pois o FreeNX requer diversos pacotes adicionais neste ambiente

(4)

aumentando o grau de segurança de nosso servidor.

Outra política interessante é per-mitir acesso às VMs somente a partir do anfitrião. Com isso, para acessar qualquer máquina virtual, é preciso primeiramente acessar o anfitrião e, a partir dele, a VM desejada.

Para acessar as VMs a partir do an-fitrião, é necessário também instalar o cliente NX (nxclient) no servidor. Para isso, acesse [1] e baixe o pacote mais indicado para a sua máquina (no caso deste artigo, trata-se do pacote DEB para Linux na arquitetura

x86-64). Em seguida, instale o pacote e

dê permissão de execução ao arquivo que controla a impressão:

$ sudo dpkg -i nxclient_x.y.z.deb $ sudo chmod 755 \

/usr/lib/cups/backend/ipp

Cliente NX

Vamos agora configurar o nxclient no anfitrião e na máquina do admi-nistrador para acessar o Xfce4 das VMs e do anfitrião, respectivamente.

Execute o nxclient (Aplicativos |

Internet | NX Connection Wizard),

preencha os valores adequados para o nome da conexão e o endereço da

máquina, assim como a forma de acesso. Na etapa seguinte, selecione

Unix e Custom, e depois pressione

o botão Settings .

Em Application, selecione Run

the following command e digite:

/usr/bin/startxfce4

Em Options, selecione New

vir-tual desktop.

Webmin

Para o caso de administração do an-fitrião via via Web, temos o Webmin, cuja instalação é descrita no quadro 1.

VM básica

A primeira máquina virtual a ser criada receberá um sistema Debian

Lenny. É uma boa ideia usá-la como

modelo para criação de quaisquer outras VMs que desejemos. Desta forma, poupa-se bastante trabalho na hora de criar novas VMs. Com o Virt-manager aberto, inicie sua configuração.

As primeiras opções são exibidas de forma gráfica pelo programa:

menu Editar | Preferências: marque as opções Disk I/O e

Network I/O;

no menu Ver, marque as opções

CPUs, Disk I e Network I/O;

na linha localhost (System),

clique com o botão direito do mouse e selecione Conectar;

no menu Editar | Hosts Details, a janela de Detalhes do Host será aberta e conterá três abas;

na aba Visão geral, podemos ativar a opção Autoconnect |

Virtual Networks;

na aba Storage, iremos adicionar a partição /vserver da seguinte forma: clique no botão com um símbolo de soma +, escolha um nome para a nova localização

vserver, mantenha a opção dir: Diretório de Sistema de Arquivo

e clique em avançar. Na pró-xima janela que se abrir, Add

Storage Pool, escolha o caminho

/vserver.

Pronto: agora você já tem um local para hospedar as VM’s. Vamos agora criar uma máquina virtual.

Clique na linha localhost (System) com o botão direito e selecione Nova. A janela Criar Nova VM se abrirá para você criar a VM propriamente dita.

Note que este procedimento su-põe a existência de uma unidade de CD/DVD no anfitrião, com o CD de instalação via rede (netinstall) ou o CD1 inserido nela.

Em nome, digite o nome deseja-do para a VM, como lenny. Depois, selecione Local install media (iso

Image or CDROM), e marque Use CDROM or DVD. Selecione Linux

como tipo de sistema operacional e

DebianLenny como versão. Defina

uma quantidade de memória RAM para a VM, como 1024 MB, e uma quantidade de CPUs para essa mes-ma máquina.

Depois, selecione Select managed

or other existing storage e Browse. Na

janela que se abre, selecione vserver. Clique em New Volume, o que abrirá a janela Add a Storage Volume: digite

lenny para o nome do arquivo que

Quadro 1: Instalação do Webmin

Para instalar o Webmin no Ubuntu Server, é preciso acrescentar um repo-sitório de pacotes que produz pacotes para Debian Sarge. Porém, primeiro vamos instalar alguns pacotes necessários para o Webmin:

$ sudo aptitude install perl libnet-ssleay-perl openssl libauthen -pam-perl libpam-runtime libio-pty-perl libmd5-perl

Feito isso, acrescente ao arquivo /etc/apt/sources.list a seguinte linha: deb http://download.webmin.com/download/repository sarge contrib Em seguida, baixe a chave do repositório e adicione-a ao apt:

$ wget http://www.webmin.com/jcameronkey.asc O | sudo aptkey add -Por último, atualize a lista de pacotes e instale o pacote webmin:

$ sudo aptitude update

(5)

abrigará a VM. Digite um tamanho (em MB) para o arquivo. Em

Alloca-tion, escolha todo o espaço definido

para assim ter uma VM mais rápida. Máquina virtual criada. Vamos agora instalar nela o sistema ope-racional.

Lenny virtual

A instalação do Lenny será feita a partir de um CD netinstall, pois serão instalados somente os pacotes básicos. Com isso, teremos uma VM básica que servirá como ponto de partida para vários tipos de servidores.

Em relação ao particionamento do disco, podemos manter o espaço de swap com um tamanho igual ao da memória RAM, enquanto a raiz ocupa todo o restante do espaço.

Finalizada a instalação do De-bian Lenny básico, já temos nossa primeira VM funcional.

Clones

Para clonar um modelo de máquina virtual, uma boa ferramenta é o

Virt-clone, devido à facilidade e à

veloci-dade oferecidas por ele. Ao final do processo, teremos a nova VM com um domU criado e pronta para uso.

A linha de comando para isso é:

$ sudo virt-clone -o lenny \ -n ‘nome da nova VM’ \ -f ‘arquivo da nova VM.img’

Com isso, já temos a nova VM pronta para ser configurada de acor-do com a necessidade.

Uso do Virt-manager

Para administrar as VMs e o anfi-trião, existem ferramentas de linha de comando como o virsh e o virt-top, entre outras. O cenário ideal para uso destas é um número pequeno de servidores anfitriões e o emprego da ferramenta apenas para adminis-trar a rede.

No entanto, no caso de múltiplas redes geograficamente separadas –

muitas vezes em cidades diferentes –, é preciso estar em muitos locais ao mesmo tempo. São necessárias, portanto, ferramentas que proporcio-nem agilidade, facilidade de uso e recursos de análise, para aumentar a produtividade do administrador.

Nesse caso, o Virt-manager é o mais indicado, pois reúne uma série de recursos em uma única tela: uso de memória e CPU no anfitrião e em cada VM, além de:

reunir informações básicas das VMs – ID, status, uso de CPU, número de CPUs, memória utilizada, I/O de disco e I/O de rede;

permitir “entrar” na VM e in-teragir com seu sistema opera-cional pela tela, como se fosse um monitor físico local;

permitir remover e adicionar hardware de forma rápida;

possibilitar a alteração do

dis-positivo de boot;

permitir alterar a inicialização automática da VM;

oferecer a conexão à unidade de CD.

Novo hardware virtual

Com fim de exemplo, é interessan-te demonstrar a possibilidade de acrescentar novos itens de hardware a uma VM. Vamos criar, em nossa nova VM, uma partição a ser mon-tada em /dados/:

1 na aba Hardware da VM, clique em + Add Hardware;

2 em Hardware Type, selecione

Storage;

3 em Block device (partition), es-colha /dev/sda7;

4 com Target Device Type, use

Virtio Disk.

É importante enfatizar que, no caso de VMs com uma grande massa de dados dinâmicos (como os da parti-ção /home, os logs etc.), recomenda-se utilizar um dispositivo de arma-zenamento separado. Dessa forma, mesmo em caso de desastres com essa VM, os dados estarão preserva-dos. Além disso, essa atitude evita o uso demasiado de espaço por parte da VM. Como resultado, isso sim-plifica e aumenta a segurança na administração da virtualização. n

Gostou do artigo?

Queremos ouvir sua opinião. Fale conosco em

cartas@linuxmagazine.com.br

Este artigo no nosso site:

http://lnm.com.br/article/3397

Mais informações

[1] Download do nxclient:

http://www.nomachine.com/download-client-linux.php

Sobre o autor

Carlos R. M. Guimarães Filho é diretor da CRMG Network & Security. É engenheiro

de sistemas e especialista em redes, com 26 anos de experiência nas áreas de au-tomação, eletrônica e TI.

Referências

Documentos relacionados

Para a unificação de vários boletos, o usuário deverá selecionar os boletos escolhidos (respeitando o mesmo CNPJ) e clicar na opção Unificar Boletos.. *A unificação NÃO pode

alunos. Entendemos que essas significações medeiam suas necessidades frente à educação de alunos com PAEE, de modo que esta atividade aconteça o mais próximo do

Políticas e Práticas de Educação, Saúde e Enfermagem Processo de Cuidar em Saúde e Enfermagem Qualitativo Saúde da Família Saúde da Criança mazzas@ufpr.br 1 início

Silva de Albuquerque (Asilo Padre Cacique) – Ok, pode deletar Luiz, agora vamos para 661. a sessão três,

Elisiane Silva de Albuquerque (Presidente em Exercício/Asilo Padre Cacique) 1?. – Oh, vamos iniciar então,

No caso de não fechamento das 3 (três) turmas, responder pela regência de oficinas/palestras e outras atividades para desenvolvimento da internacionalização, indicadas pelo

Se quiser um dia vender esse NFT, os bens físicos podem ficar em sua posse - o livro, o desenho original e a imagem - mas o direito a pertencer a esse clube é transmitido e,

Como proposição de solução para o atendimento dos requisitos de desempenho, foram apresentadas ferramentas de apoio à empresa e seus projetistas, podendo citar: mapeamento de