-->

domingo, 29 de novembro de 2009

Virtualização: Clonar um linux físico para uma máquina virtual

Recentemente me deparei com a seguinte situação:

Clonar uma máquina física linux para uma máquina virtual, no início a tarefa não foi simples, testei alguns procedimentos na internet e não dava resultado, tentei também o Vmware Converter da Vmware mas sem sucesso também, pois ele não permitia clonar para o vmware server, que ero o que eu tinha.

 

Ambiente

Os procedimentos realizados aqui foram realizados no seguinte ambiente:

Sistemas operacionais

Foram virtualizados dois sistemas operacionais:

Mandriva 2008.1

Mandrake 8.2

Tanto o Mandrake quanto Mandriva estavam instalados em maquinas Dell, maquinas com hardware recente.

Importante: Antes de se clonar uma máquina física Linux, como o mandriva, é necessário ter o kernel-devel instalado ou similar, pois depois de quase concluído o processo de clonagem, será necessário os fontes do kernel, pois será necessário refazer o initrd.

Serão apresentados dois procedimentos abaixo para clonagem de máquinas físicas Linux.

 

Primeiro passo

Gere uma imagem do sistema a ser clonado, nesse caso foi utilizado o Clonezilla.

Coloque o CD do Clonezilla na maquina a ser clonada. Ao iniciar pelo CD seleciona, faça como as imagens abaixo:

OBS: O procedimento abaixo fiz no vmware para ficar fácil de tirar screenshots, mas ele deve ser feito na máquina que se pretende clonar.

Clonezilla live

clip_image002

Seleção da linguagem do teclado:

clip_image004

clip_image006

clip_image008

clip_image010

clip_image012

Iniciar o processo de clonagem:

clip_image014

Aqui vamos selecionar para clonar um disco para uma imagem:

clip_image016

Agora aqui vamos escolher como salvar a imagem, que será em um compartilhamento, apesar de estar samba, pode ser o compartilhamento de rede de qualquer máquina Windows:

clip_image018

Selecione e aperte enter para iniciar a interface de rede, na tela seguinte escolha como o sistema irá obter o endereço IP, nesse caso por dhcp ou você poderá indicar um ip manualmente:

clip_image020

Na tela abaixo coloque o ip da maquina que possui o compartilhamento, na imagem abaixo está o ip do storage onde a imagem será armazenada:

OBS: Usei aqui um storage de rede, um hd conectado a rede apenas.

clip_image022

Nesta tela há a opção de se colocar o domínio, mas deixe em branco:

clip_image024

Abaixo o usuário com permissão para acessar o compartilhamento, nesse caso isso é desnecessário para acessar o storage, deixe como estar:

clip_image026

Nesta tela colocaremos o nome do compartilhamento, como ele aparece na rede, no meu caso foi /NetHDD:

clip_image028

Nesta tela o sistema pede que depois do enter seja digitada a senha do compartilhamento, como tudo está no storage, isso não será necessário, apenas aperte enter quando ele peir a senha:

clip_image030

Na tela abaixo deixe selecionado como está, pois iremos salvar a imagem do disco no HD:

clip_image032

Na próxima tela desmarque todas as opções, a não ser que esteja copiando também uma partição ntfs:

clip_image034

Na tela abaixo selecione o modo de compressão, faça como desejar, isso vai depender de quanto espaço em disco possui o storage, uma compressão maior exigirá mais tempo:

clip_image036

Aqui é definido o nome da imagem a ser salva:

clip_image038

Aqui o disco a ser salvo, se houvesse mais de um disco, mais opções apareceriam:

clip_image040

Nesta tela deixe marcada apenas a primeira opção:

clip_image042

Agora aguarde até que a imagem esteja pronta:

clip_image044

Restaurando a imagem no vmware

Agora o procedimento será feito no vmware, então o que deve ser feito:

  1. Crie a máquina virtual referente ao sistema que você clonou, se tiver clonando o RedHat, crie máquina virtual para o RedHat, se for Mandrake, crie uma máquina virtual para o Mandrake. Lembre-se que ao criar o disco no vmware ele precisa ser igual ou maior do que o disco da máquina física clonada, no vmware não será necessário alocar imediatamente o tamanho do disco, pois dependendo do tamanho isso pode demorar horas.
  2. Inicie a máquina virtual pelo CD do CloneZilla, como foi mostrado no início desse tutorial.
  3. Selecione o layout do teclado e vá seguindo as telas até chegar na seguinte tela:

clip_image046

Neste ponto então vamos restaurar a imagem para o disco, na tela abaixo, nesse caso não foi selecionada nenhum opção, a não ser que você tenha clonado alguma partição ntfs:

clip_image047

Selecione a imagem que queira restaurar:

clip_image049

Escolha o disco onde irá restaurar:

clip_image051

Aguarde a finalização do processo:

clip_image053

clip_image055

Ajustes finais

Alguns pontos devem ser destacados.

Como estamos migrando o sistema de uma máquina física para uma virtual, os drivers do sistema, principalmente os de disco irão mudar. Realizei a migração em dois sistemas, o Mandriva 2008.1 e o Mandrake 8.2. O processo de adequação deles foi diferente devido as características de cada sistema, fique atendo aos procedimentos seguidos, que são válidos para outras distribuições também, algum dos dois métodos utilizados a seguir irá funcionar, dependendo da distribuição usada.

Para o Mandriva

Quando tentei iniciar o mandriva na maquina virtual estava ocorrendo um erro devido aos drivers que iniciavam com o sistema, então foi necessário refazer o o initrd, esse arquivo é responsável por pré-carregar alguns módulos necessários a inicialização do kernel. Os passos seguidos então foram:

1. Iniciar a maquina virtual com o CD do systemrescue.

2. Montar a partição do mandriva e recriar o o initrd com os novos drivers.

Detalhando o passo 2:

Monte a partição onde está o sistema raiz com o /boot:

Ex: mount /dev/sda5 /mnt/gentoo

Montar agora as partições dos sistema do livecd na partição recém-montada:

Ex: mount --bind /dev /mnt/gentoo/dev

mount --bind /proc /mnt/gentoo/proc

Agora iremos fazer um chroot no sistema, assim assumiremos aquela partição como se o sistema estivesse montado:

chroot /mnt/gentoo /bin/bash

Neste ponto agora é preciso saber qual é a versão do kernel instalado e utilizado.

Como ressaltado logo no início, é necessário ter o kernel-devel instalado.

Dando um:

ls /lib/modules

Detalhe: Antes de gerar o novo initrd você tem a opção de apagar o que existe no /boot ou apenas renomea-lo para que a nova versão não o sobreescreva, ou mesmo editar o menu.lst no :

/boot/grub/menu.lst

No mandriva você saberá se a versão do kernel-devel do kernel em uso está instalado, então basta depois fazer o seguinte comando:

mkinitrd /boot/initrd-versaodokernel versaodokernel

No meu caso foi feito assim:

mkinitrd –f –v /boot/initrd-2.6.24.img 2.6.24

No /lib/modules havia uma pasta chamada:

2.6.24

Que eram justamente os módulos do kernel instalado.

Feito isso o novo initrd será gerado.

Agora será necessário reinstalar o grub com o comando:

grub-install /dev/sda

Agora simplesmente reinicie a maquina virtual, ela deverá iniciar sem problemas.

No Mandrake

No Mandrake o processo foi um pouco diferente, pois não bastava simplesmente gerar um novo initrd, havia também o arquivo vmlinuz, e esse eu não encontrei uma solução para refaze-lo.

O que foi feito então foi criar uma instalação limpa do Mandrake em uma máquina virtual, depois disso foram copiados os seguintes arquivos:

initrd.img

vmlinuz

Todos estão na pasta /boot.

Copie eles para a rede ou para um pendrive e siga o procedimento abaixo.

No Mandrake faça o mesmo procedimento que foi feito para o mandriva para poder fazer chroot no sistema, não se esqueça de fazer chroot na partição certa.

Coloque o pendrive com os arquivos initrd.img e vmlinuz e o monte no sistema, é melhor monta-lo antes de fazer chroot no sistema e copia-lo em seguida para a pasta do sistema:

Ex: Montando o pendrive.

/dev/sdb1 /mnt/pendrive

cp /mnt/pendrive/arquvis_copiados /mnt/gentoo/root

A pasta arquvis_copiados possuem os dois arquivos initrd.img e vmlinuz

Depois do chroot copie eles para a pasta /boot.

Agora vamos editar o lilo.conf:

vi /etc/lilo.conf

O que temos que mudar no arquivo então é a partição do qual o lilo vai buscar os arquivos. Onde no arquivo tiver:

hdb (O disco do sistema)

Troque por:

sda

Já que no vmware a identificação do disco muda.

E nas outras linhas verá que há a indicação dos arquivos que são usado na inicialização, como o initrd.img e o vmlinuz, certifique-se que a linha que aparecerá no gerenciador de inicialização está correta inclusive com o nome dos arquivos que foram copiados.

Veja como estava o lilo.conf antes da edição:

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

vga=normal

default=2.4.31_dell

keytable=/boot/br-abnt2.klt

lba32

prompt

nowarn

timeout=30

message=/boot/message

menu-scheme=wb:bw:wb:bw

image=/boot/vmlinuz_dell

label=2.4.31_dell

root=/dev/hda1

read-only

image=/boot/vmlinuz-2.4.31mat03

label=2.4.31mat03

root=/dev/hda1

read-only

image=/boot/vmlinuz-2.4.18-6mdk

label=2.4.18-6mdk

root=/dev/hda1

initrd=/boot/initrd-2.4.18-6mdk.img

append="devfs=mount"

read-only

image=/boot/vmlinuz-2.4.18-6mdk

label=failsafe

root=/dev/hda1

initrd=/boot/initrd-2.4.18-6mdk.img

append="failsafe devfs=nomount"

read-only

other=/dev/fd0

label=floppy

unsafe

 

Veja como ficou depois:

boot=/dev/sda

map=/boot/map

install=/boot/boot.b

vga=normal

#default=2.4.31_dell

default=2.4.18-6mdk

keytable=/boot/br-abnt2.klt

lba32

prompt

nowarn

timeout=30

message=/boot/message

menu-scheme=wb:bw:wb:bw

#image=/boot/vmlinuz_dell

# label=2.4.31_dell

# root=/dev/sda7

# read-only

#image=/boot/vmlinuz-2.4.31mat03

# label=2.4.31mat03

# root=/dev/sda7

# read-only

image=/boot/vmlinuz-2.4.18-6mdk

label=2.4.18-6mdk

root=/dev/sda7

initrd=/boot/initrd-2.4.18-6mdk.img

append="devfs=mount"

read-only

image=/boot/vmlinuz-2.4.18-6mdk

label=failsafe

root=/dev/sda7

initrd=/boot/initrd-2.4.18-6mdk.img

append="failsafe devfs=nomount"

read-only

other=/dev/fd0

label=floppy

unsafe

Repare que não alterei todas as linhas mas em cada grupo de palavras depois do parâmetro “image= “foi alterado o root=/dev/hda1 para root=/dev/sda7 pois nesse caso os arquivos estavam nessa partição.

Repare que há parâmetros também para os arquivos initrd e vmlinuz com seus respectivos caminhos, certifique-se que eles estão corretos.

Depois e alterado e salvo, apenas digite o seguinte comando para salvar o novo lilo na MBR:

lilo

Depois disso reinicie o sistema, e tudo irá correr bem.

Ajustes (Mandrake e Mandriva)

Depois que os sistemas estiverem iniciados, algumas coisas podem não funcionar corretamente, no Mandriva foi necessário comentar algumas linhas de drivers, como da placa de som e de rede em um arquivo, o modprobe.conf no /etc/modprobe.conf.

Verifique alguns módulos que estão carregando, talvez seja necessário comentar as linhas que carregam o módulo de som e da placa de rede.

Tanto no Mandriva quanto no Mandrake rode o draknet para reconfigurar a placa de rede.

Pronto, esses são os ajustes a serem feitos na maquina virtual.

 

Espero que o artigo seja de ajuda a alguém, dúvidas ou sugestões, por favor não deixem de comentar.

Minhas fontes de pesquisa:

How to forge

Blog do Jeferson

quinta-feira, 19 de novembro de 2009

Rapidinha: Comando simples para adicionar uma impressora de rede no solaris

Recentemente tive que adicionar algumas impressoras de rede compartilhadas por um servidor windows no solaris, pesquisando um pouco descobri um simples comando que faz isso muito bem, basta seguir a sintaxe abaixo:


/usr/sbin/lpadmin -p Nome_impressora -s Servidor_Impressora


Onde:

Nome_impressora: é o nome da impressora do mesmo modo como ela aparece na rede.

Servidor_impressora: Servidor que compartilha as impressoras.

Obs: O servidor de impressoras nesse caso era windows 2000 server e para que o compartilhamento com o Solaris funcionasse foi preciso primeiro habilitar o suporte a Impressão Unix no Servidor, isso pelo adicionar remover componentes no painel de controle.







terça-feira, 17 de novembro de 2009

Urls amigáveis no apache

Vou fazer aqui um resumo rápido de como habilitar urls amigáveis no Apache.

Procurando em diversos documentos na internet, vi que tinha que fazer algumas coisas:

  • habilitar o .htaccess no apache
  • carregar o modulo mod_rewrite
  • criar a configuração no .htaccess

Para habilitar o .htaccess no servidor apache, procure no httpd.conf o seguinte trecho:

Options FollowSymLinks Indexes

AllowOverride None

Order allow,deny

Allow from all

Não se esqueça de reiniciar o apache, como estou usando CentOS eu fiz assim:

service httpd restart

Agora para carregar o módulo mod_rewrite verifique se a linha abaixo está descomentada:

LoadModule rewrite_module modules/mod_rewrite.so

Agora vamos para a pasta do site que fica em:

/var/www/html

Criei então o .htaccess no diretório root do meu site e coloquei o seguinte conteúdo:

Options +FollowSymlinks

RewriteEngine On

RewriteRule ^emails /pagina.php?idPagina=127 [nc]


Detalhe: o endereço acima é o que eu estava tentando reescrever, era somente um endereço um endereço, se pesquisar pela internet verá que a configuração do mod_rewrite era para reescrever todas as página de um site, e nesse caso fiz isso para atender um necessidade em específico.

Explicando o código acima:

Temos então o arquivo .htaccess dentro da pasta do site, assim qualquer requisição que chegar ao Apache, ele usará deste arquivo para definir o que fará caso determinadas cheguem até ele, no código temo que as instruções ficam dentro de uma diretiva indicando o modulo que será usado para interpretar a sequência. Percebe que em:

RewriteRule ^emails /pagina.php?idPagina=127 [nc]

Temos ao final o parâmetro:

[nc]

Esse parâmetro é fundamental, sem ele, a reescrita não funciona, pela regra em RewriteRule, temos que tudo do site atual que chegar e começar terminar com emails será redirecionado para o endereço :

/pagina.php?idPagina=127

Nesse caso o endereço acima é anexado a home do site, no caso www.meusite.com.br ficando então:

www.meusite.com.br/pagina.php?idPagina=127

Mas sempre aparecer o endereço :

www.meusite.com.br/emails

Espero que essa dica seja útil.


terça-feira, 10 de novembro de 2009

Teclado travando no kde

Recentemente me deparei com um problema de um usuário:

Ao usar por um determinado tempo seu sistema, o teclado simplesmente travava no KDE, foi então que nessas andanças pelo Google encontrei a solução para esse problema que é acessar a pasta de configurações do KDE que fica no seu diretório home, fica assim então:

~/.kde/share/config/

Edite o seguinte arquivo:

kaccessrc

Apague todo o conteúdo dele.
No meu caso o teclado simplesmente parou de travar depois dessa alteração.

Mas atenção, isso foi para o meu caso em específico, talvez o problema que você esteja enfrentando esteja relacionado a outro fator e não especificamente ao KDE.




segunda-feira, 2 de novembro de 2009

Problemas com upload no PHP e Apache

Tive um problema ao fazer upload de um arquivo, uma extensão que eu precisava instalar no Joomla, mas chegava ao ponto em que eu ficava em uma tela em branco e no final o arquivo não havia sido mandado para o servidor.

Dando uma olhada no errors.log do Apache descobri que a conexão estava caindo por que o tempo do upload estava sendo muito grande.

Foi então que juntei as coisas, minha conexão com a internet é muito lenta, ao tentar enviar o arquivo pelo Joomla, que usa um script em php para envio de arquivos, o tempo que o php no servidor estava configurado só permitia que um script pudesses ficar rodando por uns 30 segundos, o arquivo que eu tentava enviar demorava bem mais do que isso, devido a minha conexão ser lenta.

Foi então que fui até o arquivo php.ini, no caso do meu servidor, ele estava armazenado no diretório /etc, e alterei o seguinte valor:

max_execution_time = 30

Para

max_execution_time = 240

E reiniciei o Apache.

Essa variável controla o tempo em que cada script php pode ocupar ciclos do processador, e no caso, o script de upload ficava mais do que 30 segundos ativo, assim não era possível enviar nada, então coloquei o valor em 240 segundos, tempo mais do que suficiente para que eu pudesse enviar o arquivo. Acabou funcionando.

Mas não exagere no valor para depois não acabar prejudicando a performance do seu servidor.

Espero que a dica seja útil a alguém.

sábado, 24 de outubro de 2009

Análise: Case de HD externo IDE/Sata

Fiz recentemente uma excelente compra, um case para hd externo, algo que eu já estava querendo comprar já fazia um bom tempo.

O case é da marca Microbon, modelo 358 UPS.

Características

  • Aceita Hd de 3,5 polegadas.
  • Aceita tanto HD IDE quanto SATA 1 ou SATA 2.
  • É plug and Play.
  • E instalação super fácil.

 

Fotos

Tão logo ele chegou e eu já fui montando o aparato, abaixo coloco algumas fotos que fui tirando, me perdoem pela qualidade mas o n70 não faz fotos tão boas a noite.

Primeiro a caixa do brinquedinho:

 

221020091311

Caixa aberta depois de ter mechido um pouco:

221020091310

Componentes que vieram com ele:

221020091312

221020091313

221020091314

Componentes

Com ele vieram dois cabos de conexão de dados, um sata e um IDE, que se você reparar na imagem perceberá que é bem pequeno para que possa caber dentro do case quando encaixado.

Itens que vieram:

  • Um cd de instalação de drivers, ainda não instalei.
  • Dois cabos de energia para o hd, um sata e outro IDE.
  • Uma fonte de energia.
  • Uma pequena chave para retirada e inserção dos parafusos do case.
  • Um suporte para deixa-lo em pé sobre a mesa.
  • Manual de instruções sobre a correta fixação do cabo de energia.

Tamanho do case

O case é um pouco maior que um hd de 3,5”, veja algumas fotos comparativas abaixo para se ter uma idéia:

221020091315

221020091316

Conexões disponíveis

A única conexão disponível é a USB 2.0, que mesmo assim oferece um uma boa velocidade de transferência como vou mostrar nos testes que fiz tanto com hd sata quanto IDE. Se tivesse uma conexão eSata ou mesmo Firewire seria melhor ainda, pois pelo que percebi a velocidade do USB ainda é um gargalo mesmo quando o hd é do tipo sata.

Repare na foto abaixo as conexões disponíveis. Somente a USB e o conector de energia, reparem no botão de energia ao lado de conector:

221020091317

Aqui com o cabo de energia conectado:

  221020091328

Instalação do HD

Primeiramente fiz o teste com um HD IDE que eu tinha por aqui.

Para abrir e depois fechar a tampa do compartimento, feita de plástico cinza, usei a chave que veio na caixa do produto:

221020091330

Retirei então a placa do circuito de dentro de case, que por padrão já vem pronta para conectar o hd IDE:

221020091318

Percebam como os conectores são pequenos, justamente para se ajustarem dentro do corpo metálico do case, reparem também nos 4 LEDs na extremidade, para indicar atividade no disco.

Depois disso bastou encaixar os cabos no hd IDE:

221020091320

Uma ressalva no manual é que o conector de energia sempre deve estar com o fio vermelho pelo lado de dentro, senão o contrário poderia levar a queima do hd, mas como o conector possui um determinado encaixe, fica muito difícil errar isso.

Aqui uma foto de como o HD fica bem ajustado na placa, ficando bem próximo aos LEDs:

221020091321

Um detalhe que não pode ser esquecido é de se parafusar a parte inferior do hd na placa, senão ele ficara solto dentro do case, são 4 parafusos:

221020091319

Nessa outro foto mostro o hd prestes a ser inserido dentro do case:

221020091322

221020091325

 

221020091326

Abaixo algumas fotos com ele montado:

221020091324

221020091327

221020091329

A imagem abaixo não saiu muito boa, mas o LEDs estão ligados, dando um tom azul:

221020091331

221020091332

HD sata

Para encaixar o hd sata basta trocar os cabos, de dados e energia, somente tome cuidado para não puxa-los com muito força para assim não danificar nada:

241020091333

A instalação pode a princípio parecer um pouco complicada, mas não é algo para se ficar a todo momento trocando o HD, no meu caso vou sempre manter o meu de 80 Gb da samsumg para cópia de alguns arquivos grandes, me livrando do pouco espaço que possuem DVDs.

Ao pluga-lo no meu computador pela porta USB só é preciso esperar o tempo do windows detecta-lo normalmente como um “pendrive gigante”, a instalação é normal e logo em seguida está pronto para uso:

explorerhd

Taxa de transferência

Claro que após montar a belezinha o teste seguinte foi com a taxa de transferência e veja o que obtive abaixo:

hdtransfer

A taxa acima é para o hd IDE.

Fica assim no início mas depois se estabiliza em torno de uns 30 MB por segundo, e mesmo assim é bem rápido.

Na imagem abaixo temos a trasferência para o hd sata, percebi que tanto no hd IDE quanto no hd sata, as taxas de transferências se mantém bem altas:

satatransterlive

Fiz o teste também com um arquivo de 6 GB no hd sata, mas depois a taxa se estabiliza e fica na mesma do hd IDE.

Todos estes testes foram realizados no windows 7.

Lembrando que o case pode ser utilizado também no linux, testei no ubuntu e foi só plugar e usar.

 

Para quem serve

Para quem tiver um hd ide ou sata sobrando, é uma mão na roda.

Só o fato de não ter que ficar precisando desligar meu micro para instalar mais um hd somente para algumas cópias de arquivos já ajuda bastante, fora que posso leva-lo facilmente comigo.

Comprei este no mercado livre aqui, me saiu no total por uns 106 reais com frete e tudo, investimento que valeu a pena, recomendo a todos.

 

Dúvidas, postem nos comentários.

Firefox, cada vez mais gordo e pior!!

Quero parabenizar a Mozilla por fornecer a nós, seus queridos usuário um produto cada vez melhor, cheios de recursos e funções, sem falar que o suporte a extensões no Firefox é o que eu mais gosto, deixo abaixo a tela de consumo desse fantástico navegador, eu estava apenas com 10 abas abertas, esse sim é um produto de primeira:

firefoxlicho2

Lindo não, estou ancioso para que o Chrome possa suportar em breve tantas extensões quanto as do Firefox, assim eu poderei migrar de vez e deixar de usar um produto tão ruim.