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

domingo, 12 de fevereiro de 2012

Oracle Solaris domU e Debian Squeeze dom0


Na postagem anterior abordamos sobre a instalação do Oracle Solaris 11 (HVM) no Debian Squeeze.

Na tentativa de fazer a virtualização completa do sistema da Oracle, foi verificado que é requerido hardware especial para a implementação da solução, e ficou claro que não é permitido uma virtualização completa sem a tecnologia Intel® VT.

Nesta postagem será abordada a instalação do Oracle Solaris 11 para-virtualizado (domU) no Debian Squeeze (dom0)
A para-virtualização é uma técnica onde o sistema operacional convidado fica ciente de que está sendo executado sobre um hypervisor, ao invés de estar sendo executado sobre o hardware básico, de forma que o sistema operacional anfitrião deve ser modificado para a acomodação do convidado. Assim como venho fazendo desde as postagens anteriores, seguirei criando as vm's baseadas em LVM, devido à sua flexibilidade (redimensionamento), asssim como a rapidez na transferência de dados.

Prosseguiremos...

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

Figura 1 - Para ampliar, clique sobre a figura.
Conforme a figura acima, foi criado o arquivo de instalação do Solaris (domU), qual foi nomeado como sol11.cfg, onde já é notado claramente que as opções kernel, ramdisk, e extra foram extraídas do disco de instalação do Solaris para que o mesmo fique ciente de que será instalado/executado pelo hypervisor. Assim, é necessário montar a imagem iso da instalação do Solaris no Debian anfitrião... 


Figura 2 - Para ampliar, clique sobre a figura.
... E conforme a figura acima, foram executados os seguintes procedimentos:
  • Foi criada a pasta onde ficarão os aquivos da vm;
  • Foi montada a imagem do disco de instalação do Solaris (mount -o loop);
  • Foram copiados os arquivos do kernel e do ramdisk do disco de instalação do Solaris para a pasta destinada para a vm no Debian anfitrião.
Voltando à figura 1, após criado o arquivo de instalação do sistema convidado, foi visualizado o grupo de volumes lógicos existentes (vgdisplay) e verificado quem existem 15Gb de espaço disponível para a criação de novos volumes lógicos. Assim...

Para ampliar, clique sobre a figura.
... Foi criado o volume lógico de nome solaris, usando todo o espaço livre em vg00. Para um melhor aproveitamento deste espaço livre, foi usado o tamanho expresso Por Extensões (-l+3841).

Para ampliar, clique sobre a figura.
Conforme a figura acima, foram listadas as informações sobre os domínios presentes no nosso ambiente de virtualização, e foi verificado que o Domínio-0 está em execução (r), em seguida foi criado o domínio sol11 usando o arquivo de configuração aqui já abordado.
Caso ocorra a pani na cpu0 desencadeando o erro exibido acima, não é motivo para preocupação....

Para ampliar, clique sobre a figura.
... Simplesmente retorne ao arquivo de configuração, faça algumas mundificações na quantidade de UCPs virtuais (vcpus) entre 1 e 2, ou então aumente ou diminua a quantidade de memória usada, evitando claro, exageros. Isto não influência muito em tempo de instalação.

Para ampliar, clique sobre a figura.
Agora já dentro do ambiente de instalação do Oracle Solaris, a primeira coisa a ser feita é configurar o layout do teclado, basta escolher o número correspondente ao seu teclado e pressionar <Enter>.

Para ampliar, clique sobre a figura.
Em seguida, é solicitado que seja escolhido o idioma padrão do sistema, basta escolher também o número correspondente e pressionar <Enter>.

Para ampliar, clique sobre a figura.
E finalmente chegamos ao menu de instalação, onde escolhemos o número 1, para assim prosseguimos diretamente a ela. - <Enter>

Para ampliar, clique sobre a figura.
Ao chegar nesta primeira tela de instalação, basta pressionar F2 para continuar.
Obs.: A tela de instalação modo texto do Solaris é ao estilo ncurses, e conforme é percebido, não será exibida de forma satisfatória no console do Xen, mas ao mover as setas para baixo e/ou para cima, será perceptível que as opções de cada tela serão exibidas. A causa e a solução para isto são ainda desconhecidas.

Para ampliar, clique sobre a figura.
A próxima tela é a tela do fdisk do Solaris, onde ela mostra exatamente o volume lógico de 15Gb criado anteriormente, e propõe usar todo o disco para a instalação do sistema...

Para ampliar, clique sobre a figura.
Mas oferecendo a possibilidade de aceitar o que o sistema propõe (Usar o disco inteiro), ou usar uma partição. Aqui foi usado o disco inteiro - F2.

Para ampliar, clique sobre a figura.
Agora chegamos a tela, qual solicita como será configurada a rede no Solaris, escolha a que mais se adequa a sua solução de virtualização. - F2. - A principio aqui foi configurada como automaticamente (dhcp).

Para ampliar, clique sobre a figura.
Aqui o sistema solicitará que seja selecionada a região que contem o nosso fuso-horário... F2.

Para ampliar, clique sobre a figura.
Após selecionar o país, será solicitada a região do país onde contêm o fuso-horário... F2.

Para ampliar, clique sobre a figura.
Certificar-se de que o calendário e o horário estejam corretos, caso contrario, fazer os devidos ajustes e em seguida pressionar F2.

Para ampliar, clique sobre a figura.
O Solaris, por padrão, bloqueia o acesso direto do root, seja local, seja por ssh, assim, ele força a criação de um usuário, qual terá poderes de executar alguns comandos usando o pfexec. Não esquecer que a senha deve conter pelo menos um número e um caractere especial. F2...


Finalmente é exibido um resumo contendo todas as opções escolhidas, ao ponto que basta mais uma vez pressionar F2...

Para ampliar, clique sobre a figura.

Inicializando, assim, a instalação propriamente dita do sistema.


Para ampliar, clique sobre a figura.
Foi identificado uma falha quando o processo de instalação chega na média dos 84%. E agora? Qual será o motivo?


Foi verificado que o processador aqui usado não contem nem a flag vtx, e nem a svm. No caso aqui, deveria ter a vtx, por tratar-se de um processador Intel®, o que recai em situação semelhante a da postagem anterior. Desta forma, mesmo usando a técnica da para-virtualização, a ausência da tecnologia Intel® VT possibilita a instalação de sistemas convidados somente de 32 bits.


Tudo, até aqui.

       Assim, continuaremos esta sessão de postagens sobre o Xen, abordando a instalação do OpenSolaris 2009.06 domU no Debian Squeeze dom0. Esta versão do OpenSolaris já suporta uma instalação para-virtualizada baseada em LVM.

       Se alguém testou uma solução tendo como base a postagem anterior (HVM), ou mesmo esta postagem, com sistemas Unix de 64 bits atuais utilizando o hardware adequado, favor postar aqui seus comentários. Eles serão bem vindos.

          Saudações.

Referências.: