quarta-feira, 25 de novembro de 2009

Instalando MRTG no CentOS 5.3

Introdução:
Este material foi preparado para as minhas aulas de gerência de redes, mas resolvi compartilhar, pois pode ser útil para alguém.
Basicamente peguei vários tutoriais da internet (ver referências) e adaptei para minhas necessidades, realidade da distribuição escolhida.

Sobre o MRTG:
O Multi Router Traffic Grapher (MRTG) é uma ferramenta de monitoração que gera páginas HTML com gráficos de dados coletados a partir de SNMP ou scripts externos. É conhecido principalmente pelo seu uso na monitoração de tráfego de rede, mas pode monitorar qualquer coisa desde que o host forneça os dados via SNMP ou script.

Foi desenvolvido por Tobias Oetiker e Dave Rand. Foi escrito em Perl mas utiliza um módulo em C para gerar os gráficos.

Características:
  • Mede sempre 2 valores, no caso de tráfego, pode ser Entrada e Saída.
  • Faz as leituras via SNMP ou através de script que retorne um formato padrão.
  • Coleta dados a cada 5 minutos por padrão, mas este tempo pode ser aumentado.
  • Cria uma página HTML com 4 gráficos (diário, semanal, mensal e anual). Se algum deles não for necessário pode ser suprimido.
  • O MRTG pode avisar caso o valor do gráfico atinja um valor pré-estabelecido. Por exemplo: se determinado servidor atinge 95% do espaço do disco, o MRTG pode mandar um e-mail para o administrador informando o ocorrido.
  • Possui uma ferramenta para gerar os arquivos de configuração: o CFGMAKER.
  • Possui uma ferramenta para gerar um página de índice para os casos em que muitos ítens são monitorados: o INDEXMAKER.
  • O MRTG é software livre distribuído nos termos da GNU General Public License.
Instalação:
# yum install mrtg perl-IO-Socket-INET6 perl-Socket6

Criando o primeiro gráfico:
Primeiramente vamos criar um shell script para obter dois valores de uma determinada interface de rede plugada ao seu computador, entrada e saída de dados. Vou usar como exemplo eth0, pois é a minha interface de rede com acesso a internet, porém você poderá usar qualquer outra interface na qual queira gerar os gráficos.
Com base em outros scripts encontrados na internet, criei o meu e estarei explicando como funciona.

Vamos analisar:
# cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 1109 17 0 0 0 0 0 0 1109 17 0 0 0 0 0 0
eth0: 6686671 9549 405223 0 0 405223 0 0 532591 5906 4 0 0 0 0 0

Bom, no nosso exemplo é preciso obter os valores que estão nas posições 1 e 9 após o eth0, pois eles representam a quantidade de bytes recebidos e enviados respectivamente. Então vamos automatizar esta tarefa da seguinte forma:

Crie um arquivo chamado "eth0.sh" no diretório /etc/mrtg, lugar onde ficam por padrão as configurações, irei explicar mais a frente. Dentro do arquivo eth0.sh adicione as seguintes linha:
#!/bin/bash
cat /proc/net/dev | grep eth0 | cut -d : -f 2 | awk '{ print $1; print $9 }'
Salve o arquivo

Entendendo o script:
cat /proc/net/dev | grep eth0
Exibe apenas as informações da interface eth0

cat /proc/net/dev | grep eth0 | cut -d : -f 2
cut comando para cortar as informações usando como separador (delimitador "-d") o :, e exibindo apenas o campo 2, ou seja, o : é o separador, o que está antes dele é o campo1 (eth0), o que está depois dele é o campo 2 (Informações da interface), o resultado será:
6686671 9549 405223 0 0 405223 0 0 532591 5906 4 0 0 0 0 0

cat /proc/net/dev | grep eth0 | cut -d : -f 2 | awk '{ print $1; print $9 }'
Através do comando (linguagem de programação) awk, será exibido apenas os campos 1 e 9, que correspondem a quantidade de bytes recebidos e enviados respectivamente. O resultado será:
6686671
532591

Dê permissão de execução da seguinte forma:
# chmod +x eth0.sh

Para testar se ocorreu tudo de forma correta, vamos testar o script:
# ./eth0
6887836
591145
Tudo ocorreu como o esperado, caso você tenha algum problema, revise o script e faça as alterações necessárias.

Configurando e rodando:
Esta é a parte mais importante do processo, o arquivo de configuração. Edite o arquivo "mrtg.cfg" na pasta /etc/mrtg, dentro do mesmo adicione as linhas:

# Estas duas linhas indicam onde a página com os gráficos e as imagens serão salvas,
# eu coloquei como destino a pasta padrão do meu Apache, mas você tem
# total liberdade de escolha, pois o resultado é gravado em linguagem
# HTML, não necessitando diretamente do Apache.
HtmlDir: /var/www/html/monitoramento/
ImageDir: /var/www/html/monitoramento/

# Diretório onde o MRTG armazena as imagens default que ele usa para montar as
# páginas dos gráficos e tambem os logs
LogDir: /var/lib/mrtg
# Diretório onde o MRTG faz o controle de alertas, você pode realizar configurações para
# ser alertado caso um disco atinja determinado tamanho/porcentagem, se o processador
# atingir um determinado valor de processamento, etc; Este controle é escrito neste diretório
ThreshDir: /var/lib/mrtg
# Nesta linha é definido em qual idioma será gerado o resultado
Language: brazilian

# Define qual o intervalo de tempo entre cada atualização, o valor é dado em
# minutos, sendo o valor mínimo 5 minutos
Interval: 5

# Esta linha se encarregará que a atualização seja automática e o
# processo irá rodar como um daemon qualquer, sendo possível
# iniciá-lo junto com o sistema
RunAsDaemon: Yes

# Esta linha é onde ficará o script que criamos, pois sempre que for chamado
# ele atualizará os valores de dados recebidos e enviados de forma automática,
# onde a palavra "trafego" é o nome da seção. Procure manter o mesmo nome para
# todos os comandos, evitando problemas mais a frente, a página gerada terá o mesmo nome da seção.
Target[trafego]: `/etc/mrtg/eth0.sh`

# Aqui é informado o título da página, usei simplesmente "Tráfego da rede", que
# já resume muito bem minha intenção
Title[trafego]: Trafego da rede

# As duas próximas linhas representam no gráfico, o máximo suportado pelo seu link
# para um resultado mais preciso, os valores são dados em bytes.
MaxBytes[trafego]: 32000
AbsMax[trafego]: 32000

# Esta linha força o gráfico a mostrar no valor máximo o valor setado em
# MaxBytes seguido pelas iniciais de quais quadros este parâmetro vai ser
# aplicado, onde d = diário, w = semanal, m = mensal e y = anual.
Unscaled[trafego]: dwmy

A configuração está pronta para por em funcionamento, basta dar o comando:
# mrtg /etc/mrtg/mrtg.cfg

O programa alerta que se a variável de ambiente estiver setada em UTF-8 ele provavelmente não irá funcionar adequadamente e manda rodar da seguinte maneira:
# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
Daemonizing MRTG ...

Está tudo pronto e funcionando, com esta configuração a cada 5 minutos o gráfico será atualizado de forma automática, bastando abrir o local onde está o documento, que no mrtg é "trafego.html".

Se precisar parar o serviço utilize o comando:
# killall mrtg

Acessando as páginas:
Como eu coloquei para o resultado ser gerado no diretório do Apache, visualizo no meu navegador com o endereço:
http://localhost/monitoramento/trafego.html

Scripts adicionais:
uptime.pl
#!/usr/bin/perl
$uptime = `uptime`;
$uptime =~ /up (.*?) day/;
$up = int($1);
print "$up\n";
print "$up\n";

dsk-snmp.sh
#!/bin/bash
snmpget -v 1 -c public localhost dskTotal.1 | cut -f4 -d:
snmpget -v 1 -c public localhost dskUsed.1 | cut -f4 -d:

Entradas no /etc/mrtg.conf:

# Uptime.pl
Target[uptime]:`/etc/mrtg/uptime.pl`
Title[uptime]: Dias com o servidor no ar (Uptime)
PageTop[uptime]: <h1>Dias com o servidor no ar (Uptime)</h1>
Options[uptime]: growright,gauge
MaxBytes[uptime]: 365
Legend1[uptime]: Dias com o servidor no ar (Uptime)
Legend2[uptime]: Dias com o servidor no ar (Uptime)
LegendI[uptime]: Dias com o servidor no ar (Uptime)
LegendO[uptime]: Dias com o servidor no ar (Uptime)

# Dsk-snmp.sh
Target[disco]: `/etc/mrtg/dsk-snmp.sh`
Title[disco]: Uso do Disco
PageTop[disco]: <h2>Utilização do disco</h2>
Options[disco]: gauge, growright, transparent, nopercent
MaxBytes[disco]: 7010530
kMG[disco]: G,G
ShortLegend[disco]: B
LegendI[disco]: Tamanho do Disco
LegendO[disco]: Utilizacao do Disco

Utilizando SNMP no MRTG:
Nos sentimos tentados a realizar scripts como o dsk-snmp.sh, e realmente eles funcionam, porém não estamos utilizando MRTG com SNMP, estamos utilizando MRTG com um script em Shell que faz uso de comandos SNMP. Para utilizarmos MRTG com SNMP devemos colocar os OIDs diretamente no campo Target. Como no Exemplo abaixo:

# Disco 2
Target[disco2]: .1.3.6.1.4.1.2021.9.1.6.1&.1.3.6.1.4.1.2021.9.1.8.1:public@localhost
Title[disco2]: Uso do Disco
PageTop[disco2]: <h2>Utilização do disco</h2>
Options[disco2]: gauge, growright, transparent, nopercent
MaxBytes[disco2]: 7010530
kMG[disco2]: G,G
ShortLegend[disco2]: B
LegendI[disco2]: Tamanho do Disco
LegendO[disco2]: Utilizacao do Disco

Como vocês podem perceber as entradas das seções "disco" e "disco2" são idênticas, a diferença está apenas no campo "Target", mas como cheguei nestes OIDs? Bom se você pretende usar MRTG com SNMP, você precisa conhecer SNMP, mas de qualquer forma vou dar algumas instruções básicas.
# snmptranslate -On -IR dskTotal.1
.1.3.6.1.4.1.2021.9.1.6.1
# snmptranslate -On -IR dskUsed.1
.1.3.6.1.4.1.2021.9.1.8.1

Os comandos acima transformam a informação que eu quero ler (dskTotal.1 e dskUsed.1) em OID numérica, de posse destes OIDs eu configurei as informações do Target.

A sintaxe é a seguinte:
Target[Nome da Seção]: OID da primeira informação que eu quero ler&OID da segunda informação que eu quero ler:nome da comunidade@IP do host que eu quero ler as informações

Outro exemplo, agora de uma máquina Windows:
Target[DSK_C]: ((((4096 * .1.3.6.1.2.1.25.2.3.1.5.2&.1.3.6.1.2.1.25.2.3.1.6.2:public@10.72.220.2)/1024)/1024)/1024)
MaxBytes[DSK_C]: 48074785792
Options[DSK_C]: growright, gauge, nopercent
YLegend[DSK_C]: Utilizacao do Disco
kMG[DSK_C]: G,G
ShortLegend[DSK_C]: B
Legend1[DSK_C]: C Drive total
Legend2[DSK_C]: D Drive % Used
LegendI[DSK_C]: C Drive total
LegendO[DSK_C]: C Drive used
Title[DSK_C]: Utilizacao do Disco
PageTop[DSK_C]: <h1>Utilização do disco</h1>

Este exemplo é interessante, você deve estar se perguntando porque multiplicar por 4096 e depois dividir por 1024 três vezes? A resposta é simples, vamos analisar o que aconteceu, primeiramente vamos ler as informações da máquina windows através do comando snmpwalk:
# snmpwalk -c community-name -v1 IP

Olhando as informações cuidadosamente, você encontrará este resultado:
HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: G:\ Label:Local Disk Serial Number e8eed18c
HOST-RESOURCES-MIB::hrStorageAllocationUnits.6 = INTEGER: 4096 Bytes
HOST-RESOURCES-MIB::hrStorageSize.6 = INTEGER: 7861801

HOST-RESOURCES-MIB::hrStorageUsed.6 = INTEGER: 871398

Então a string #6 do hrStorage é o drive G no Windows.
A capacidade total do disco é 7861801 * 4096 = 32201936896 bytes = 29.99 GB (Windows usa GB para informações de capacidade)
E o espaço usado é 871398 * 4096 = 3569246208 bytes = 3.32 GB (3569246208/1024 = 3485592; 3485592/1024 = 3403,8984375 ; 3403,8984375/1024 = 3,32411956787109375)

Entendeu? Não? Vamos lá:
O SNMP nos informou que ele está armazenando as informações em Unidades de Alocação de 4096 bytes e que o tamanho total do disco é de 7861801 UNIDADES, Ah bom... Agora entendi!!! ;-)

Mas porque 4096 bytes??? De onde ele tirou este valor??? Você nunca deve ter reparado, mas ao formatar um disco no Windows ele te mostra essa informação:


Referências
As informações de "Criando o primeiro gráfico:" até "Acessando as páginas:", foram criadas com base no artigo "Gerando gráficos para interfaces de rede com MRTG" de Joaquin Joao Juze, utilizei a referência mudando algumas informações para que ficassem mais didáticas para o uso em sala de aula, também acrescentei detalhes do CentOS, todos os direitos reservados ao autor original do artigo (http://www.vivaolinux.com.br/artigo/Gerando-graficos-para-interfaces-de-rede-com-MRTG).
http://pt.wikipedia.org/wiki/Multi_Router_Traffic_Grapher
http://jehiah.cz/download/mrtg-uptime.pl.txt
As informações do exemplo de MRTG com SNMP para ler as informações de uma máquina Windows foram encontradas no Blog de Anthony Fajri:
http://fajri.freebsd.or.id/index.php/2007/01/30/check-the-disk-space-using-snmp/

Referências Adicionais:
Instalação passo-a-passo do MRTG em Ambiente Windows:
http://www.netmon.org/dummies.htm
Documentação Oficial:
http://oss.oetiker.ch/mrtg/doc/mrtg.en.html
Tutorial NET-SNMP com MRTG:
http://net-snmp.sourceforge.net/tutorial/tutorial-5/mrtg/index.html
Exemplo de leitura de informações do Windows usando SNMP e Scripts Windows Power Shell:
http://snmpboy.msft.net/
Exemplo de Scripts em Perl e C:
http://pointless.nl/~peter/code/mrtg/

sexta-feira, 30 de outubro de 2009

Virtualização de Switches e Roteadores? Conheça o GNS!

O Problema
Além de meu emprego como administrador de redes também sou professor universitário, e dedico boa parte dos meus estudos na questão de gerência e administração de redes, que inclui monitoramento, com isso as necessidades vão surgindo, por conta de um problema no trabalho, ou na hora de preparar um exercício para os alunos, e nem sempre temos equipamentos disponíveis para teste, a virtulização resolveu grande parte destes problemas quando o assunto é Sistemas Operacionais, posso virtulizar Linux, Windows, BSD, etc, das mais diferentes versões, mas e quando preciso realizar um teste com um Switch, um Router, etc?? Bom foi ai que comecei minhas pesquisas e me deparei com o GNS.

Introdução
GNS ou Graphical Network Simulator é um poderoso simulador de redes baseado no Cisco IOS. Ele permite simular desde um simples equipamento até redes complexas, para isso é preciso que você tenha alguns programas trabalhando em conjunto com ele como o Dynamips (programa que permite a emulação do Cisco IOS), Dynagen (um front-end baseado em texto para o Dynamips) e o Pemu (Emulador de Cisco PIX firewall baseado no Qemu), além da imagem do equipamento que você quer emular.

Restrições Legais
Para que você tenha acesso as imagens do equipamento é necessário que você tenha um cadastro na Cisco;
A Cisco não permite que você use a imagem como um equipamento real na rede;
Entretanto como tudo hoje em dia, as imagens podem ser encontradas na net.

Instalando GNS no Windows
Faça o dowload do pacote GNSversao-win32-all-in-one.exe

Duplo clique no arquivo


Tela de boas vindas, clique em Next


Tela de licenciamento, clique em I Agree


Nome da pasta no Menu Iniciar, clique em Next


Tela de componentes que serão instalados, deixe todos marcados e clique em Next


Diretório de Instalação, clique em Next


Tela de instalação do WinPcap, clique em Next


Tela de assistente, clique em Next


Tela de licenciamento, clique em I Agree


Aguarde o processo de instalação


Instalação completa, clique em Finish


Depois de suprido as dependências (WinPcap), ele continua a instalação do GNS, aguarde o processo finalizar a instalação


Instalação completa, clique em Finish


Iniciando um novo Projeto

Clique em Iniciar // Programas // GNS3 // GNS3 ou Duplo clique no atalho que foi criado na área de trabalho


Na tela de novo projeto, escolha local onde o arquivo será salvo e marque as opções "Salva nvrmas e outros arquivos (recomendado)" e " Exporta arquivos de configuração de roteador", clique em OK


Clique no botão "..." para escolher o local e nome do arquivo e clique em Salvar


Marque as opções necessárias e clique em OK


Configurando o GNS no Windows
No GNS o computador é representado por uma nuvem, não gosto disso, quero que o computador seja representado por um computador, então vamos lá.
Editar // Gerenciador de Símbolos (Ctrl+Shift+S)


Selecione do lado esquerdo em Gerenciador de Símbolos o computador e clique no botão ">", do lado direito em Configuração do nó customizado escolha um nome para a figura no meu caso "PC" e no tipo escolha "Nuvem", clique em Aplicar e em seguida em OK


Carregando as imagens de IOS no GNS
Clique em Editar // Imagens IOS e Hypervisors


Em Arquivo de imagem clique no botão "..." para localizar a imagem IOS


Escolha qual imagem de IOS você quer carregar e clique em Abrir


Observe que ele exibe a Plataforma (c3700) e o Modelo do equipamento (3725), clique me Salvar


O caminho da Imagem IOS é exibido, clique em Fechar


Criando o 1º Projeto
Na tela principal, vamos clicar no modelo do roteador (no meu caso Roteador C3700), e arrastar para a área central


Repita o procedimento para o PC


Atribuindo a placa de rede do micro ou da VMware ao PC do GNS
Clique com o botão direito do mouse em cima do PC e clique em Configurar


Observe que nas propriedades do PC, aparece "Nuvens", o que fizemos foi apenas alterar a imagem de visualização, em NIO Ethernet escolha qual placa física será atribuída ao objeto PC.


Clique em Adicionar e em seguida em OK


Configurar o Router
Clique com o botão direito do mouse em cima do router e clique em Configurar


Verifique em Slots se existe alguma porta do tipo Fast Ethernet (FE), caso não exista ou se você precisar de mais de uma interface, basta clicar no slot e adcionar a porta, depois de finalizado clique em OK


Criando um Link entre o Router e o PC
Clique no botão adicionar um enlace e escolha o tipo de enlace, no meu caso FastEthernet


Clique em cima do PC e escolha qual interface será utilizada


Arraste a linha até o Router e escolha qual interface será utilizada


Observe que o PC já está com o link ativo, pois ele reflete o estado da sua placa física


Iniciando o Router
Clique no botão Iniciar/Parar todos IOS


Observe o router em funcionamento


Configurando o Router
Clique com o botão direito do mouse em cima do Router e clique em Console


Aguarde enquanto o equipamento liga (Boot)


Tela de assitente de configuração inicial, digite "yes" e "enter"


Tela de parâmetros básicos de configuração, digite "yes" e "enter"


Nome do Router o nome padrão é "Router", tecle "enter" para aceitar


Senha para acessar o modo EXEC de configuração, no meu caso coloquei "secret" e "enter"


Senha adicional, será usada em casos específicos como softwares com versão antiga, boot de imagens, no meu caso coloquei "cisco" e "enter"


Senha para acesso via terminal, no meu caso coloquei "cisco" e "enter"


Você quer configurar gerenciamento de rede via SNMP, por padrão a resposta é "yes", basta pressionar "enter"


Nome da comunidade por padrão a comunidade é "public", basta pressionar "enter"


Lista das interfaces do Router, escolha qual você quer configurar, como estou usando o putty para me conectar no Router, selecionei e cliquei com o botão da direita e ele já colou o nome da inteface, depois pressionei "enter"


Usar conector 100 Base-TX (RJ-45), por padrão a resposta é "yes", basta pressionar "enter"


Operar em modo full-dupex, por padrão a resposta é "no", mude para "yes" e pressione "enter"


Configurar IP para esta interface, por padrão a resposta é "yes", basta pressionar "enter"


Informe o enedereço IP e pressione "enter"


Entre com a máscara de rede e pressione "enter"


Escolha a opção desejada:
[0] Ir para a linha de comando do IOS sem salvar alterações
[1] Voltar para o setup sem salvar alterações
[2] Salvar esta configuração no nvram e sair

A opção padrão é "2", basta pressionar "enter"


Aguarde enquanto a configuração é gravada


Enter para entrar na console


Comando "enable" para entrar no modo EXEC, coloque a senha "secret"


Copiar as configurações do nvram (memória ram) para o setor de inicialização do equipamento (memória flash)
"copy running-config startup config"


Nome do arquivo de destino a opção padrão é "startup-config", basta pressionar "enter"


Aguarde a configuração ser gravada


Tudo certo ([OK]), pode fechar o terminal


Agora você já pode fechar seu arquivo, desligar a máquina física, levar o projeto para outro computador sem medo de ser feliz ;-)

Instalando GNS no Linux
==> EM BREVE <==
Rodando GNS em um Linux Live CD ou USB
Site do Autor do projeto:
deadwait

Download das Imagens:
DynaSlax
DynaSlaxGNS3
DynaSlaxUSB

Baixando Imagens IOS da Net
Download GNS 3 and Cisco 1700,2600,7200 IOS in one pack:
http://rapidshare.com/files/130264941/GNS3-0.5-win32-all-in-one.rar
Pass:sumptuousworld

thx to: http://sumptuousworld.blogspot.com

Ou no google digite:
Cisco IOS Images GNS

Referências:
http://www.gns3.net
http://renato-networking.blogspot.com/2009/03/gns-3-e-vm-ware.html
http://renato-networking.blogspot.com/2009/02/customizando-parte-grafica-do-gns-3.html

http://www.gns3-labs.com/2008/06/23/dynaslax-dynaslaxgns3-and-dynaslaxusb-livecds/

quinta-feira, 1 de outubro de 2009

Instalando o VMware ESX em um VMWare Workstation 6.51

1 - Introdução:
O objetivo deste tutorial é demonstrar como realizar uma instalação de VMware ESX dentro de uma VMware Workstation.
É uma boa maneira de documentar a instalação, entender as funcionalidades, simular criação de discos e maquinas virtuais dentro do ESX.

2 - Criando a VM
O primeiro passo é criar a VM preparando-a para receber a instalação do ESX, clique em New Virtual Machine


Nesta tela selecione Custom (advanced) e clique em Next


Selecione as seguintes opções:
Hardware compatibility: Workstation 5
Compatible with: ESX Server
Clique em Next


Na opção de disco de instalação, selecione a opção I will install the operation system later e clique em Next


Escolha o sistema operacional Linux versão Red Hat Enterprise Linux 5 e clique em Next


Coloque o nome para a VM e o caminho onde os arquivos serão criados e clique em Next


Em número de processadores se sua máquina tiver mais de um processador marque Two e clique em Next


Escolha a quantidade de memória e clique em Next


Em Network connection selecione Use bridge networking e clique em Next


Em I/O Adapter Types selecione LSI Logic (Recommended) e clique em Next


Em Disk selecione a opção Create a new virtual disk e clique em Next


Selecione SCSI (ESX Server 3.x compatible virtual machines do not support IDE disks.) e clique em Next


Em Specify Disk Capacity selecione o tamanho do disco e a opção Allocate all disk space now e clique em Next


Em Disk File escolha o nome do disco que será criado e clique em Next


Na tela de resumo da criação da VM clique em Finish


3 - Editar o arquivo .vmx


As máquinas virtuais de VMware ESX server precisam de funcões adicionais. Abra o arquivo e acrescente os seguintes parâmetros:
ethernet0.VirtualDev= "e1000"
ethernet0.connectionType="bridged"
ethernet0.addressType= "generated"
monitor_control.restrict_backdoor= "TRUE"
monitor_control.vt32= "TRUE"

Salve e feche o arquivo.

É preciso ter um chip Intel-VT ou AMD-V

Para Intel VT CPUs:
monitor_control.vt32= "TRUE"

Para AMD-V CPUs:
monitor_control.enable_svm= "TRUE"

3 - Iniciando a Instalação do ESX
Coloque o cd no drive :-)
Clique em Start this virtual machine


Começa o processo de instalação


Boot da instalação, aguarde os segundos indicados ou pressione Enter


Aguarde o carregamento do Kernel


Opções de instalação, pressione Enter para instalar


Pressione F11 para aceitar a licença e continuar


Ele detecta automáticamente o disco, pressione Enter para continuar


Pressione F11 para instalar


Aguarde o processo de Instalação


Instalação finalizada com sucesso pressione Enter para reboot


Aguarde o processo de reboot


Processo de boot


Processo de boot


4 - Configuração do ESX
Tela inicial, pressione F2 para personalizar o sistema


Configure a senha de root, selecione a opção Configure Root Password e pressione Enter


Na opção de Configure Lockdown Mode, ele não permite acesso do root via conexão remota


Selecione a opção Configure Management Network e pressione Enter para alterar as configurações de rede e Restart Management Network para restaurar as configurações originais


Selecione a opção Test Management Network para realizar uma série de testes de rede, como ping no gateway por exemplo


Selecione a opção Configure Keyboard para alterar as configurações do teclado



Selecione a opção View Support Information para visualizar suas informações de serial number, licença, página de suporte da VMWare, etc


Selecione a opção View System Logs para visualizar vários tipos de logs, como Mensagens (1), Configurações (2), Gerenciamento do Agente (3)


Selecione a opção Restart Management Agents para reiniciar o agente de gerenciamento do ESX



Selecione a opção Reset Customized Settings para restaurar as configurações originais


Abra um browser e aponte para o endereço do ESX, você tem várias opções incluisive a de fazer o download do VMware Insfrastructure Client, que te permite conectar ao server de qualquer estação que tenha o cliente instalado e administrar seu sistema


5 - VMware Infrastructure Client
Depois de devidamente instalado (Next, Next, Finish), abra o VMware Infrastructure Client, na tela inicial colocamos as informações do servidor ESX como IP (Ou nome da máquina), usuário e senha, e clique em Login


Se você receber um aviso de segurança, significa que ele não consegue determinar se o certificado SSL é válido ou não, clique em Ignore


Tela Inicial (Getting Started)


Resumo (Summary)



Máquinas Virtuais (Virtual Machines)


Alocação de Recursos (Resourse Allocation)


Monitor de Desempenho (Performance)


Configuração (Configuration)


Usuários e Grupos (Users & Groups)


Eventos (Events)


Permissões (Permissions)


Windows XP (máquina física) rodando VMware Workstation (software), na qual está rodando o VMware ESX (máquina virtual), na qual estou instalando o Windows XP (máquina virtual dentro da máquina virtual).

Observação:
Testei várias configurações com o SO Windows XP e CentOS, e em ambos os casos, o VMware ESX apresenta problemas e a instalação não é concluída. Imagino que seja o problema de instalar uma VM dentro de outra VM.
Mas de qualquer forma dá para instalar o VMware ESX dentro do VMware Workstation e estudar seus recursos, entender as abas, documentas as telas, etc.

Referências:
http://www.vladan.fr/installation-esx-server-inside-of-vmware-workstation-65/

quinta-feira, 17 de setembro de 2009

Linux Kernel 2.6 em VM com horário incorreto

Introdução:
Ao instalar um CentOS 5.3 em uma máquina virtual (VMWare Server 1.0), mas pelas pesquisas é um problema do Kernel 2.6 com máquinas virtuais, inclusive o MS Virtual Server, o mesmo começou a apresentar problemas de horário, mas não somente dessincronismo e sim anomalias, acompanhe os testes realizados.

Testes Realizados:
# date
Wed Sep 16 15:10:16 BRT 2009
Horário Incorreto

# service ntpd restart
Shutting down ntpd: [ OK ]
ntpd: Synchronizing with time server: [ OK ]
Starting ntpd: [ OK ]

# date
Wed Sep 16 15:13:03 BRT 2009
Horário sincronizado com o NTP

# while true; do date; sleep 120; done
Wed Sep 16 15:13:15 BRT 2009
Wed Sep 16 15:15:15 BRT 2009

Se eu deixar ele me mostra certinho 2 em 2 minutos... Porém...

# date
Wed Sep 16 15:15:42 BRT 2009

Não são 15:15 e sim 15:17... Ele perdeu 2 minutos no meio do caminho.... O minuto dele não tem 60 segundos???? Ele vai perdendo minutos até estar com horas de diferença...

Solucionando o problema:
Bom depois de muitas pesquisas e testes, vamos a solução, que é realizada em várias etapas.
Instalar VMware tools:
Menu VM // Install VMWare Tolls...

Automaticamente será montada uma imagem do VMWare Tools na máquina virtual. Execute os comandos:
# cd /media/VMware\ Tools/
# rpm -ivh VMwareTools-1.0.9-156507.i386.rpm

Configurar VMware tools:
# vmware-config-tools.pl
Siga as instruções.

# vmware-toolbox
Marque a seguinte opção:
"Time synchrononization between the virtual machine and the host operation system."


Alterar o GRUB:
Editar o GRUB e acrescentar os seguintes parâmetros, na linha do kernel:
clock=pit nosmp noapic nolapic

Por exemplo:
kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quiet clock=pit nosmp noapic nolapic

Desligar o computador:
# sync
# sync
# shutdown -h now

Ele deve acrescentar automáticamente a linha abaixo no arquivo .vmx da sua VMWare:
tools.sync.Time = "TRUE"
Se isto não aconteceu, acrescente manualmente.

Iniciar a VM e verificar que o horário está OK!!

Referências:
http://communities.vmware.com/thread/74465
http://communities.vmware.com/thread/41993
http://communities.vmware.com/thread/120931
http://support.microsoft.com/kb/918461
http://www.vmwarez.com/2006/01/vmwarezcoms-pre-built-vms-for-player.html

quinta-feira, 27 de agosto de 2009

Livro Melhores Práticas para Gerência de Redes de Computadores

Bom pessoal consegui achar mais um livro que não está mais a venda, este livro é bem interessante, além de ser uma referência em português, infelizmente está esgotado e não encontrei nem em sebos.


Clique na capa para download

Abraços,
Déo

sexta-feira, 14 de agosto de 2009

Instalando Slackware Linux em um Netbook Six SKW-8000

1. Introdução:
Bom para quem leu meu post anterior, sabe que adquiri um brinquedinho novo e que o mesmo veio com Windows Vista Starter, lógico que eu iria troca-lo por Linux, mas não qualquer Linux, tinha que ser Slackware, e já que estamos em tempo de release nova (Em breve teremos o Slackware 13), resolvi baixar o RC2, uma pequena visita ao DistroWatch e encontrei um DVD compilado com a versão que eu queria.

2. Como instalar:
Bom o primeiro problema enfrentado com este equipamento está no fato dele não possuir leitor de DVD, neste caso temos duas alternativas:

2.1. Método 01 - Boot via USB:
No DVD do Slackware, na raíz existe um diretório chamado usb-and-pxe-installers, dentro deste diretório você encontra a seguinte imagem usbboot.img.
Em um Linux qualquer, se você não tem nenhuma máquina com Linux instalado, de um boot na sua máquina com um live cd.
Entre no diretório do DVD ou copie a imagem para o diretório onde você está e digite o seguinte comando:
# dd if=usbboot.img of=/dev/sdx bs=512

Atenção: sdX é o seu pen drive, subtitua pelo dispositivo correto. Todos os dados do pen drive serão excluídos.

Depois disso, conecte o pen drive no netbook, dê um boot, entre na BIOS e altere o boot para a unidade de pen drive.

Ele vai carregar a imagem do pen drive e você pode escolher a maneira de instalar o Slackware, via http, ftp, etc.

2.2. Método 02 - Boot via Leitor de DVD Externo (USB):
Este método é o mais simples e foi o que eu utilizei, conecte o drive no netbook, dê um boot, entre na BIOS e altere o boot para o drive.

Ele vai carregar a imagem do drive e você pode escolher a maneira de instalar o Slackware, neste caso CD/DVD.

Em qualquer uma das alternativas siga a instalação normalmente. O Slackware detectou, som, vídeo, placa de rede, usb e wireless, abaixo explico como habilitar recursos do mouse touchpad, da placa de vídeo, do wireless, instalar a webcam e o bluetooth.

3. Configurando Drivers de Vídeo:
Esta parte precisa ser feita em várias etapas, segundo o site da intel. No caso do Slackware não precisamos alterar nada no kernel.

3.1. Instalando Libdrm:
Fazer download do pacote:
# wget http://dri.freedesktop.org/libdrm/libdrm-2.4.12.tar.bz2

Descompactar o pacote:
# tar xjvf libdrm-2.4.12.tar.bz2

Compilar a lib:
# cd libdrm-2.4.12
# ./configure --prefix=/usr --exec-prefix=/
# make
# make install

3.2. Instalando driver 2D para Xorg:
Fazer download do pacote:
# wget http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.8.0.tar.bz2

Descompactar o pacote:
# tar xjvf xf86-video-intel-2.8.0.tar.bz2

Compilar o driver:
# cd xf86-video-intel-2.8.0
# ./configure
# make
# make install

3.3. Instalando driver 3D e Mesa (Instruções GL) para Xorg:
Fazer download do pacote:
git clone git://git.freedesktop.org/git/mesa/mesa

Compilar o driver:
cd mesa
./autogen.sh --with-dri-drivers="i915 i965"
make
make install

3.4. Carregar Módulos do Kernel:
# modprobe agpgart
# modprobe intel-agp
# modprobe drm
# modprobe i915

Configurar os módulos para serem carregados automáticamente a cada inicialização do sistema:
# vi /etc/rc.d/rc.local
modprobe agpgart
modprobe intel-agp
modprobe drm
modprobe i915

3.5. Configurar Xorg.conf:
# vi /etc/X11/xorg.conf

Section "Module"
#...

Load "glx"
Load "dri"
#...
EndSection

Criar a seção "DRI":
Section "DRI"
Mode 0666
EndSection

3.6. Verificar se Direct Rendering está habilitado:
Reinicie o servidor X

Abra um terminal (No ambiente gráfico) e digite:
# glxinfo | head -3
name of display: : 0.0
display: :0 screen: 0
direct rendering: Yes

4. Configurando o Teclado (ABNT2), Mouse (Touchpad) com Tap-to-Click:
Bom a primeira dificuldade foi descobrir que clicar no touchpad e esta ação ser identificada como clique se chamava tap-to-clik, depois achei centenas de tutoriais ensinando como desabilitar esta função, mas achar um que ensinasse como habilitar esta função foi complicado, fui pegando uma informação aqui e outra ali, e depois de muitos testes resolvi o problema. Abaixo coloco as linhas que precisam ser alteradas no x.org.conf, este não é o arquivo completo.

# vi /etc/X11/xorg.conf
Section "Module"
Load "synaptics"

Section "InputDevice"

Identifier "Keyboard1"
Driver "kbd"
Option "AutoRepeat" "500 30"
Option "XkbRules" "xorg"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"

EndSection

Section "InputDevice"

Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "PS/2"
Option "Device" "/dev/mouse"

EndSection

Section "InputDevice"

Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "AlwaysCore" "true" # send events to CorePointer
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "SHMConfig" "true" # configurable at runtime? security risk
Option "LeftEdge" "1900" # x coord left
Option "RightEdge" "5400" # x coord right
Option "TopEdge" "1400" # y coord top
Option "BottomEdge" "4500" # y coord bottom
Option "FingerLow" "25" # pressure below this level triggers release
Option "FingerHigh" "30" # pressure above this level triggers touch
Option "MaxTapTime" "180" # max time in ms for detecting tap
Option "MaxTapMove" "220" # max time in ms for detecting tap
Option "VertEdgeScroll" "true" # enable vertical scroll zone
Option "HorizEdgeScroll" "true" # enable horizontal scroll zone
Option "CornerCoasting" "true" # enable continuous scroll with finger in corner
Option "CoastingSpeed" "0.30" # corner coasting speed
Option "VertScrollDelta" "100" # edge-to-edge scroll distance of the vertical scroll
Option "HorizScrollDelta" "100" # edge-to-edge scroll distance of the horizontal scroll
Option "MinSpeed" "0.02" # speed factor for low pointer movement
Option "MaxSpeed" "0.18" # maximum speed factor for fast pointer movement
Option "AccelFactor" "0.0010" # acceleration factor for normal pointer movements
Option "VertTwoFingerScroll" "true" # vertical scroll anywhere with two fingers
Option "HorizTwoFingerScroll" "true" # horizontal scroll anywhere with two fingers
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"

EndSection

Section "ServerLayout"
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Synaptics Touchpad" "SendCoreEvents"

EndSection

# vi /etc/hal/fdi/policy/shmconfig.fdi
<match key="input.x11_driver" string="synaptics">
<merge key="input.x11_options.SHMConfig" type="string">1</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>

5. Vamos configurar a webcam e instalar uma aplicação para testar seu funcionamento:

5.1 Habilitando o módulo uvcvideo:
Fazer download do pacote:
# wget http://connie.slackware.com/~alien/slackbuilds/linux-uvc/pkg/12.1/linux-uvc-20080604_2.6.24.5_smp-i486-1alien.tgz

Instalar o pacote:

# installpkg linux-uvc-20080604_2.6.24.5_smp-i486-1alien.tgz

Alterar as permissões do dispositivo que representa a webcam:
# chmod 777 /dev/video0

Carregar Módulos do Kernel:
modprobe uvcvideo

Verificando se o dispositivo foi identificado corretamente:
# lsmod | grep uvcvideo
uvcvideo 58184 0
videodev 38688 1 uvcvideo
v4l1_compat 13184 2 uvcvideo,videodev

Configurar os módulos para serem carregados automáticamente a cada inicialização do sistema:
# vi /etc/rc.d/rc.local
modprobe uvcvideo

5.2 Instalando o TVTime (Software para a webcam):
Fazer download dos pacotes:
# wget http://slackbuilds.org/slackbuilds/12.2/multimedia/tvtime.tar.gz
# wget http://downloads.sourceforge.net/tvtime/tvtime-1.0.2.tar.gz

Descompactar o arquivo:

# tar xzvf tvtime.tar.gz

Compilar o pacote:
# cd tvtime
# mv ../tvtime-1.0.2.tar.gz .
# ./tvtime.SlackBuild

Instalar o pacote:
# installpkg /tmp/tvtime-1.0.2-i486-1_SBo.tgz

6. Configurando o Wireless:
O Wireless foi detectado automáticamente, só precisamos fazer alguns ajuste e instalar um software para monitorar as conexões.

6.1 Instalar o monitor de conexões wicd:
O pacote pode ser encontrado no DVD do Slackware no diretório /extra/wicd/.
# installpkg wicd-1.6.2-i486-1.txz

6.2 Fazendo os ajustes necessários para que a placa de rede wireless receba as informações via DHCP:
# vi /etc/rc.d/rc.inet1.conf

Descomente as seguintes linhas:
IFNAME[4]="wlan0"
IPADDR[4]=""
NETMASK[4]=""
USE_DHCP[4]="yes"

Salve o arquivo e inicie o ambiente gráfico, o monitor já está disponível na barra e no menu do KDE.

7. Configurando o Bluetooth:
Não tive problemas em instalar o Bluetooth, o problema é o programa que gerencia o adaptador no ambiente gráfico (Kdebluetooth) que atualmente é incompatível com o KDE 4, e como o Slackware não tem Gnome (Yeahhh) não encontrei outra solução no momento.

7.1 Baixar o Kmobile Tools de http://kmobiletools.org/downloads:
# wget http://prdownload.berlios.de/kmobiletools/kmobiletools-0.5.0-beta3-i386-2.tgz

Instalar o pacote:
# installpkg kmobiletools-0.5.0-beta3-i386-2.tgz

7.2 Verificar se o adaptador Bluetooth foi detectado corretamente:
# hciconfig
hci0: Type: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:0 acl:0 sco:0 commands:0 errors:0

Significa que o adaptador foi detectado, mas está desativado.

7.3 Ativar o adaptador:
# hciconfig hci0 up

8. Referências:
http://pobrecomputeiro.wordpress.com/2008/10/27/mouse-touchpad-linux-arch-linux-slackware/

http://pobrecomputeiro.wordpress.com/2009/02/26/mais-sobre-mouse-touchpad-linux/
http://pobrecomputeiro.wordpress.com/2008/12/12/teclado-abnt-2-no-linux/
https://help.ubuntu.com/community/SynapticsTouchpad#Enabling%20SHMConfig
http://en.gentoo-wiki.com/wiki/Synaptics_Touchpad/Xorg_7.3#Can.27t_use_Touchpad_for_clicking
http://intellinuxgraphics.org/2009Q2.html
http://intellinuxgraphics.org/install.html
http://www.vivaolinux.com.br/dica/Webcam-do-Dell-Inspiron-1525-no-Slackware-12.2-Linux
http://www.guiadohardware.net/tutoriais/bluetooth-linux-guia-completo/
http://kmobiletools.org/downloads
README.SLACKWARE - DVD do Slackware diretório /extra/wicd.

Brinquedo Novo (Netbook Six SKW-8000)

Semana passada adquiri um brinquedo novo, um netbook da Six, você deve se perguntar "Six?? Que raio de marca é essa??", pois é foi o mesmo que eu pensei, mas como a oferta era tentadora (De: R$ 1399,00 por R$ 999,00 em 10 X no Cartão Carrefour), e eu iria usar quase que exclusivamente para dar aulas, mais o fator configuração do equipamento, resolvi aproveitar.

Segue a configuração informada no site do fabricante:
Processador: Atom Intel 1,6 GHz, Cache 533MHz FSB
Memória: 2GB
Hard Disk: HD 250GB
• Tela: LCD 10.2”, Resolução 1024 x 600 pixels
• Conectividade: Rede Ethernet 10/100, WiFi 802.11 B/G, Bluetooth
• Webcam: Integrada, 1.3 Mega pixels
• Card reader 3 em 1: MMC, SD, MS
• Portas de entrada e saída (I/O): Porta VGA 945GSE, 3 portas USB 2.0, entrada de microfone, saída de fone de ouvido
• Bateria: 3 células, Lithium-Ion
• Fonte: Bivolt 110-220V
Peso: 1,1 – 1,2 kg
• Dimensões: 250 mm x 183 mm x 28,5 mm
• Sistema Operacional: Windos Vista SE

Destaquei acima alguns detalhes interessantes da configuração, isso mesmo o bichinho veio com 2 GB de RAM, HD de 250 GB, 3 portas usb 2.0 e Bluetooth que não tem na maioria dos netbooks. Repare no peso e dimensões, perfeito para dar aulas.

Neste ponto você já deve estar reconsiderando certo? Prepare-se o melhor está por vir.... Cheguei em casa e fui checar o hardware do bichinho... Já esperando aquelas placas mãe xing ling até na solda.... Pois pasmem:
Motherboard: Intel.
Chipset: Mobile Intel Calistoga-GME i945GME.
Memória: 2 GB DDR2-667 em um único pente, significa que posso ampliar para 4 GB de memória.
Vídeo: Mobile Intel(R) 945 Express Chipset Family (256 MB)
3D Accelerator: Intel GMA 950.
Audio: Realtek ALC662 @ Intel 82801GBM ICH7-M - High Definition Audio Controller.
HD: SAMSUNG HM251JI SATA Device (232 GB, SATA).
Placa de Rede: NIC Fast Ethernet PCI-E Realtek Família RTL8101.
Placa de Rede Wireless: Realtek RTL8187SE Wireless LAN PCIE Network Adapter.
Modem: HDAUDIO Soft Data Fax Modem with SmartCP.
Bluetooth: Broadcom 2046 Bluetooth 2.1.

Testei todo o equipamento e funcionou tudo, a bateria dura em torno de 01:30.
Estas foram as minhas impressões sobre o produto.