Sobre o autor.

Cristiano Alves é Consultor em Linux, Analista de TI (Infraestrutura), Administrador de Redes, e Instrutor de treinamentos em Linux, com experiência em Linux como suporte, ministrando treinamentos, implantação e auditoria em data center desde 1997. Trabalhou, em 2005, na Season Consultoria e Treinamentos em Informática, onde era como monitor, ministrou, em 2006, treinamentos no DCTA (Departamento de Ciência e Tecnologia Aeroespacial - São José dos Campos, SP). Entre 2007 e 2008 participou como voluntário de obra cristã social denominada Escola Cristã, onde realizou uma inclusão digital com a filosofia do software livre. Até junho de 2015 atuou como Analista de Infraestrutura no UOL, junto ao time de Engenharia de Data center.


segunda-feira, 13 de fevereiro de 2012

OpenSolaris 2009.06 domU e Debian Squeeze dom0

Na postagem anterior  abordamos sobre a instalação do Oracle Solaris 11 (domU) no Debian Squeeze (dom0) e verificou-se a inviabilidade de prosseguir com a instalação do mesmo, porque o processador usado para a solução não possui a flag vtx, permitindo a instalação de sistemas convidados somente de 32 bits. A versão mais atual do sistema da Oracle é somente de 64 bits.

Será abordada nesta postagem a instalação do OpenSolaris 2009.06 (domU) no Debian Squeeze (dom0). A imagem iso do disco de instalação do sistema operacional está disponível para download aqui.

Antes de seguir com a instalação, levaremos em conta algumas considerações e pre-requisitos importantes:
  • A placa de rede virtual do OpenSolaris domU será anexada à bridge xenbr0;
  • A rede local é gerenciada por um servidor DHCP, qual deverá fornecer ao OpenSolaris domU o endereço IP, os endereços do gateway e os do servidor DNS;
  • O OpenSolaris irá residir dentro do volume lógico outrora destinado a instalação do Oracle Solaris 11 (vide postagem anterior).

Troubleshooting da rede no ambiente de virtualização.

Como a interface de rede padrão utilizada pelo ambiente do Xen é ethX (no caso aqui eth0), e a virtualização aqui está sendo implementada em rede wi-fi, onde o modulo da interface é wlan0, será necessário instalar e configurar um módulo de interface de rede fictícia, a qual é denominada Linux dummy-network interface.

Veremos os procedimentos...

root@oranje:~# pico /etc/network/interfaces

Para ampliar, clique sobre a figura.
No arquivo de configuração das interfaces de rede do Debian, foram acrescentadas as linhas permitindo que as interfaces eth0 e a wlan0 sejam detectadas automaticamente, e depois as linhas de configuração da dummy0, qual será utilizada para a network-bridge entre domU e dom0. É recomendável verificar se os itens bridge e netdev estão configurados corretamente na sessão network-bridge do Xen em /etc/xen/xend-config.sxp.


root@oranje:~# pico /etc/modules

Para ampliar, clique sobre a figura.
Conforme mostra a figura acima, foi acrescentada a linha para que o modulo do dummy seja carregado em tempo de boot do sistema.


root@oranje:~# pico /etc/network/if-up.d/iptables

Para ampliar, clique sobre a figura.
Foi criado um script, que em resumo, fará o compartilhamento da internet entre a interface wi-fi e a rede da interface fictícia dummy0, e por conseguinte, com a bridge xenbr0. O script inclui as seguintes rotinas:
  1. Cria-se uma variável (gwdev), que é igual a interface de rede presente no roteamento padrão;
  2. É feito um teste (test -z) para verificar se a interface realmente existe;
  3. São apagadas todas as chains (iptables) POSTROUTING da rede em dom0;
  4. E por fim estabelece-se o roteamento NAT (iptables e ip_forward) entre a interface encontrada e o endereço da rede atribuído a dummy0/xenbr0 .
Fechou, salvou as alterações.


Instalando e configurando o servidor dhcp:

root@oranje:~# aptitude install isc-dhcp-server

root@oranje:~# pico /etc/dhcp/dhcpd.conf


Na opção domain-name, é colocado o nome do domínio da rede interna, e na opção domain-name-server, é colocado os endereços DNS fornecidos pela provedor de internet. Caso o dom0 esteja diretamente conectado a internet através de um roteador wireless, os endereços DNS podem ser facilmente obtidos em /etc/resolv.conf.
Continuando...


Nas opções subnet e netmask são colocados, respectivamente, o endereço da rede e a mascara de rede, qual dummy0 faz parte; O range, é a faixa de endereços IP dentro da rede de dummy0 que será fornecida pelo servidor DHCP. Foi colocado ali de 10 a 20; E na opção routers, por conveniência, o nome do sistema anfitrião na nomenclatura do Xen incluso no domínio do servidor DHCP. (dom0.oranje.huis).

Fechou, salvou as alterações. Recomendável também reiniciar o dom0.



Instalação do OpenSolaris domU.

root@oranje:~# pico /home/xvm/solaris/osol09.cfg

Para ampliar, clique sobre a figura.
A figura acima, mostra o conteúdo do arquivo de instalação do OpenSolaris, o qual foi nomeado osol09.cjg.

Layout do teclado - Para ampliar, clique sobre a figura.
Idioma padrão do sistema - Para ampliar, clique sobre a figura.
Vemos na figura acima, que o CD live é carregado apenas em modo texto (livemode=text).

Para ampliar, clique sobre a figura.
Após ter efetuado o login padrão do CD live (User - jack/ Password - jack), foram feitos os seguintes procedimentos:
  • Foi atribuída uma senha ao root (pfexec passwd root);
  • Foi efetuado login como root, por intermédio do usuário padrão jack (su -) - Algo semelhante ao sudo do Linux.

VNC e SSH - Para ampliar, clique sobre a figura.
Na figura acima foram executados os seguintes procedimentos, após efetuado o login como root:
  • Foi listada as interfaces de rede presentes no sistema (diferente do Linux que dispensa o uso da opção -a);
  • São atribuídos, respectivamente, o endereço IP e a mascara de rede para a interface xnf0 (eth0, no Linux);
Obs.: Ainda que tenha um servidor DHCP sendo executado no dom0, foi necessário aqui fixar o endereço IP, mascara e gateway no OpenSolaris domU.


Sendo deixada a sessão super-usuário, retornando ao usuário padrão jack, foram executados os seguintes procedimentos:
  • Foi preparado o servidor VNC, de forma que possibilite serem abertas sessões VNC pelo usuário jack (caso isto seja feito com o usuário root, o ícone da instalação do sistema não irá aparecer na área de trabalho);
  • Foi habilitado também o serviço ssh.


Verificando a comunicação entre domU e dom0.

Para ampliar, clique sobre a figura.
A figura acima mostra um simples escaneamento de portas em domU antes e depois de habilitados os serviços vncserver e ssh no OpenSolaris.

Para ampliar, clique sobre a figura.
A figura acima mostra as principais interfaces do Debian dom0 enquanto domU está em execução.
A bridge xenbr0 apropria-se do MAC Adress e do IP de dummy0, é crida a interface virtual vif4.0, enquanto que a wlan0 permanece como padrão.


E aqui mostra o teste de ping do OpenSolaris domU sobre o IP da interface wlan0 e o da bridge xenbr0, ambos com respostas positivas.

VNC - Para ampliar, clique sobre a figura.
Conectando-se ao servidor VNC de dom0 para domU, é solicitada a senha que foi colocada na sessão do usuário jack no momento em que foi habilitado o serviço (Vide figura intitulada VNC e SSH)

Para ampliar, clique sobre a figura.
E assim, foi possível o acesso ao desktop do CD live do nosso OpenSolaris domU.



A partir daqui, prossegue a instalação do sistema em modo "gui", e seguirão os mesmos procedimentos da instalação em modo texto da postagem anterior, assim, apenas constaram as telas com suas respectivas funções. Para ampliar, basta clicar sobre cada figura.

Clicar no ícone Install OpenSolaris...

Tela de boas vindas ao OpenSolaris.
Particionamento do disco rígido.
Fuso horário, data e hora.
Idioma padrão do sistema (desktop)

Adicionar um usuário padrão.
Sumário das configurações escolhidas na pré-instalação.
Instalando...
Ao terminar o processo mostrado na figura ligeiramente acima, simplesmente mantenha a janela aberta, e não clique de forma alguma no botão Reboot antes de fazer os procedimentos necessários no console do Xen onde está sendo executado o OpenSolaris domU, para depois copiarmos o kernel e o ramdisk do OpenSolaris para a pasta da vm em dom0.


Para ampliar, clique sobre a figura.
Ao listarmos os ambientes de boot do sistema, verificamos que o opensolaris está presente, podém não montado (-), pois o novo instalador o desmonta antes que possamos fazer qualquer procedimento sobre ele, assim, é necessário que o montamos manualmente. Segue explicação do comando utilizado:
  • pfexec - Executa um comando com privilégios adicionais;
  • beadm mount - Monta um ambiente de boot;
  • opensolaris - Nome do ambiente de boot;
  • /a - Ponto de montagem.
Assim, listando mais uma vez os ambientes de boot do sistema, verificamos que o ambiente opensolaris está montado no ponto de montagem /a.


Para ampliar, clique sobre a figura.
E em seguida é necessário atualizar o arquivo de inicialização. O comando bootadm é utilizado para gerenciar a capacidade de boot do sistema operacional. (Ver procedimento na figura acima.)


Para ampliar, clique sobre a figura.
Conforme mostra a figura acima, é criada no Debian dom0 a estrutura de pastas onde ficaram armazenados os arquivos do kernel e do ramdisk do OpenSolaris domU.


Para ampliar, clique sobre a figura.
Conforme mostra a figura acima, a partir do OpenSolaris domU (console do Xen), foram copiados (scp) os arquivos do kernel (unix), e do ramdisk (boot_archive) para as pastas criadas anteriormente no Debian dom0.

Para ampliar, clique sobre a figura.
ZFS é um sistema de arquivos combinado com LVM (Logical Volume Meneger), onde se inclui a integração dos dois conceitos, tendo suporte a verificação da integridade dos dados contra os modos de corrupção, e suporte para altas capacidades de armazenamento. Assim, entende-se cada zpool como uma fatia do disco (slice), ou como um volume lógico.
É necessário, assim, obter o ZFS-ID do ambiente de boot, qual deve ser usado no arquivo de configuração do domU pós instalação e saber também qual a ID do zpool do /ROOT/opensolaris.

Primeiramente, foi obtido o único identificador do rpool:

  • zpool - Comando utilizado para configurar os pools de armazenamento (storage) ZFS;
  • guid - Identificador único do pool;
  • rpool - O pool do root.

Para obter os zpools do rpool, foi usado comando zdb, qual é utilizado, na verdade, como depurador do ZFS, usado com as opções -d, para obter o conjunto de dados de rpool e a opção -e, qual verifica se o pool foi exportado, destruído, ou era altroot (ponto de montagem de uma partição root alternativa, no caso aqui, a partição root era montada no CD live).

Atenção a este detalhe! A ID do zpool de /ROOT/opensolaris aqui é 51. Mas na saída em uma outra instalação poderá vir outra ID! É recomendável guardar bem isto!

Para ampliar, clique sobre a figura.
Caso não queira um login gráfico, é possível desabilitar o gdm.
O svcadm é o comando usado para manipular as instancias de serviços do OpenSolaris.
Semelhante a update-rc.d -f (Linux Debian like), chkconfig (Linux Red Hat like).

Para ampliar, clique sobre a figura.
Agora podemos retornar a tela do VNC e clicar no botão Reboot. Devido aos procedimentos executados anteriormente em modo texto, pode ser que ocorra algum travamento deixando a tela paralisada. Sem problemas! Basta fechar a tela de conexão ao servidor VNC do OpenSolaris domU, conectar outra vez (Vide figura VNC) e clicar no botão Reboot...

Para ampliar, clique sobre a figura.
... E aqui está a resposta no console após o reboot.


root@oranje:~# pico /home/xvm/solaris/0906/osol09.cfg

Para ampliar, clique sobre a figura.
Acima temos o arquivo de configuração do domU OpenSolaris pós-instalação. Atenção ao detalhe de onde foi empregado o ID do zpool do /ROOT/opensolaris obtido anteriormente. No parâmetro bootpath, /xpvd/xdf@0:a é o disco e o ponto de montagem do zpool rpool onde está instalado o sistema.

Para ampliar, clique sobre a figura.
Finalmente, a nossa vm em execução.

Prosseguiremos com mais postagens sobre tuning e troubleshooting em Linux e Unix.


Tudo, até aqui.

Saudações a todos.


Referências.:

Jens Neuhalfen - Installing OpenSolaris 2008.11 RC2 domU in a Linux (RedHat/Centos) dom0
Debian Wiki - DHCP_Server
Ubuntu Forums - Xen on a laptop, network issues.
Linux and More - OpenSolaris 2009.06 Paravirtualized domU on Xen 3.1.2 on LVM

Nenhum comentário: