Clone de máquinas com UDPCD
Neste artigo, vou descrever passo a passo, como trabalhar com a distribuição Linux UDPCD. Todos os passos são complementados com imagens, para que seja possível confirmar a sua facilidade de uso.
O UDPCD, é uma pequena distribuição Linux, que serve para clonar partições e discos pela rede. Ela faz uso do UDPCast, que é um software capaz de enviar dados para vários computadores numa rede.
O UDPCast faz uso do MULTICAST. Desta forma é possível enviar uma determinada informação para vários computadores ao mesmo tempo. É possível clonar um disco ou uma partição de uma máquina para muitas máquinas. É necessário ter em mente, que as máquinas que irão receber os dados, têm que ter um disco com a mesma capacidade, ou maior, do que a da máquina que está a ser clonada.
O tempo utilizado para copiar uma ou várias máquinas, será sempre o mesmo, pois os pacotes são enviados para todas as máquinas que estão a escutar os pacotes do UDPCast.
Este software é capaz de enviar dados comprimidos, o que torna o processo mais rápido em máquinas com alguma capacidade de processamento. A compressão utiliza processador, para comprimir os dados. As máquinas que recebem os dados têm que descomprimir os dados antes de copia-los para o disco. Dependendo da capacidade de processamento da máquina pode ser uma mais valia.
O UDPCD é ideal para clonar salas de computadores, ou mesmo empresas inteiras. O que torna o processo de repor máquinas, com os softwares predefinidos, uma coisa simples e rápida. O ideal para empresas, escolas onde normalmente já está definido, os softwares a serem utilizados nas máquinas.
Vou demonstrar a clonagem apenas de uma máquina, mas para copiar várias máquinas o processo é o mesmo, apenas temos que iniciar o UDPCD em todas as máquinas que irão receber os dados.
Para que possamos começar é necessário que tenhamos já um CD ou uma Pen com o UDPCD pronto. Eu neste caso utilizo um ISO do UDPCD, pois estou a trabalhar no VirtualBox e é muito fácil utilizar um ISO.
Primeiro passo é arrancar com o computador ou computadores, que irá receber a informação enviada pela rede. Colocamos o CD ou Pen ou ISO e dependendo do método utilizado, temos de ir ao boot menu da máquina, para que ele arranque pelo dispositivo escolhido por nós.
Quando iniciado pela media escolhida por nós, o Linux irá carregar o kernel e um pequeno sistema de ficheiros, que está alojado em uma imagem e coloca-los em memória. Este processo é interessante, pois permite utilizar apenas uma PEN ou CDROM para iniciar todas as máquinas.
Após o carregamento da kernel e imagem, o processo de boot do sistema é iniciado. Neste momento podemos retirar o CDROM ou a PEN ou ISO para utiliza-lo em outra máquina.
Vamos ao trabalho!
Configurar o cliente
Este processo descreve, as configurações a fazer, para configurar a máquina para receber dados, como cliente.
A primeira informação que vemos no ecrã é o menu da linguagem, que iremos utilizar no processo. O UDPCD não tem muitas linguagens disponíveis para escolha. Permitindo a escolha de apenas cinco linguagens. Como este tipo de software é normalmente utilizado, por profissionais de informática, normalmente o inglês é percebido, é essa a linguagem mais utilizada. É possível adicionar mais linguagens, mas tornaria o software a ser carregado em memória maior e mais complexo de manter e desenvolver.
Como podemos ver pela seguinte imagem, eu escolho o Inglês e dou “OK” para continuar.
Logo aparece-nos outro menu, para que possamos escolher o mapa de caracteres a utilizar, durante o processo de configuração. Novamente os mapas de teclado, são apenas cinco. Mas como só necessitamos escrever os IP’s e Mascaras de rede, ou possivelmente entrar com opções para os módulos. O eu escolho “US” pois tem todos os caracteres necessários, para estes fins. Seria possível adicionar mais mapas de teclado, mas pelas mesmas razões das linguagens, tornaria o processo de manter e desenvolver este software mais complexo. E penso que realmente não justifica.
Depois primo “OK” para continuar. A seguinte imagem, mostra o menu com os mapas de teclado.
Ao fazermos “OK“, para continuar, é nos apresentado outro menu, que nos permite selecionar o driver da interface de rede, que a máquina utiliza. Normalmente, o driver para o chip utilizado pela interface de rede, é descoberto automaticamente e mostrado. Mas podemos escolher outro driver escolhendo a opção “OTHER” e dando “OK“. Quando o driver da interface de rede estiver escolhido, damos “OK” para continuar. Como podemos ver pela imagem abaixo.
Ao darmos “OK” é nos apresentado um novo menu. Este menu permite-nos inserir parâmetros especiais, que serão passados ao Kernel, na altura de carregar o módulo de rede. Só em situações muito especiais, estes parâmetros são necessários para o módulo funcionar. Mas de qualquer maneira permite-nos inseri-los. Eu não preciso de inserir parâmetros, para que o driver trabalhar neste caso, portanto vou dar “OK” para continuar. Podemos ver na imagem abaixo, o menu para inserir os parâmetros.
Após darmos “OK“, aparece-nos um menu com informações do carregamento do módulo de rede. Esta informação, permite-nos averiguar se o módulo foi carregado com sucesso. Damos “OK” para continuar. A imagem abaixo mostra a informação de carregamento do módulo.
Neste momento, temos um menu que nos permite configurar a nossa interface de rede, via DHCP ou manualmente. Se existir um serviço de DHCP na rede podemos utiliza-lo para configurar as máquinas. No entanto podemos configurar as maquinas manualmente, desta forma permite-nos entrar com parâmetros diferentes, que se adequam às necessidades da clonagem. Podendo isolar os computadores que estão envolvidos na clonagem, das outras máquinas na rede. Podemos ver o menu que nos permite optar na seguinte imagem.
Eu neste caso utilizo a configuração manual. Por isso escolho “No” nesta opção, para que me permita inserir os dados de configuração de rede manualmente. A imagem seguinte mostra-nos o menu que permite inserir o “IP” que esta máquina irá utilizar. Podemos utilizar qualquer “IP” da classe que se adequar a cada situação. Eu vou utilizar um IP classe “A” 10.0.0.2 para esta máquina. Podemos ver na seguinte imagem.
Ao darmos “OK“, apresenta-nos um novo menu, que permite inserir a mascara de rede que será utilizado por todas as máquinas envolvidas na clonagem. Eu utilizo a mascara de rede 255.255.0.0 e dou “OK” para continuar. A imagem abaixo mostra nos o menu para inserção da mascara de rede.
Logo depois mostra-nos um menu, que pergunta se pretendemos selecionar o módulo para o disco que a máquina usa. Eu escolhi “Yes“, para que seja possível selecionar o módulo de disco. A seguinte imagem mostra-nos o menu em questão.
Ao aceitar para escolher um módulo, é apresentado o seguinte menu. Como estou a usar o VirtualBox, necessito carregar o módulo “ahci“, para que o disco virtual seja reconhecido. Para tal Seleciono “OTHER” e dou “OK“. Como podemos ver na seguinte imagem.
É apresentado, uma lista de módulos de discos, SATA, SCSI, etc. Seleciono o módulo “ahci” e dou “OK“. Visto que é o módulo que necessito, para que o disco do VirtualBox seja reconhecido.
Podemos ver a seguinte imagem.
O darmos “OK“, é apresentado um novo menu, que nos permite passar parâmetros especiais, que serão utilizados pelo Kernel, para carregar o módulo escolhido por nós. Como não necessito passar nenhum parâmetro dou “OK” para continuar. Podemos ver na seguinte imagem, o menu que nos permite inserir parâmetros.
É apresentado mensagens de carregamento do módulo de disco. Esta mensagem é importante, pois permite sabermos se o módulo que pretendemos foi carregado com sucesso. Dei “OK” para continuar pois correu tudo como esperado. A seguinte imagem mostra as informações de carregamento do módulo de disco.
Depois, é apresentado um menu que nos permite configurar o porto, que será utilizado para as comunicações. Por defeito o UDPCD utiliza o porto 9000, mas podemos utilizar outro. Eu vou utilizar o porto por defeito, pois não tenho nenhuma necessidade especial. Dou “OK” para continuar. Podemos ver o menu na seguinte imagem.
Logo de seguida apresenta outro menu que nos permite escolher o disco ou a partição que pretendemos que sejam guardados os dados que serão recebidos pela rede. Como pretendo clonar o disco todo, seleciono o disco “/dev/sda“. Dou “OK” para continuar. A imagem seguinte, permite nos ver o menu de seleção de disco ou partição.
Então, é apresentado um menu, que nos permite passar parâmetros especiais ao “UDPCast“. Como não pretendo passar nenhum parâmetro especial, dou “OK” para continuar. A seguinte imagem permite nos ver o menu.
Logo de seguida, é apresentado um menu, que permite escolher o tipo de compressão, a utilizar, para transferir os dados pela rede. Como a máquina que estou a trabalhar tem um processador suficientemente bom a descomprimir dados vou utilizar compressão. Vou usar “lzop” para comprimir os dados. Dou “OK” para continuar. A seguinte imagem mostra o menu, que permite escolher o tipo de compressão a utilizar ou sem compressão.
Ao darmos “OK“, é mostrado outro menu, que nos permite selecionar, se esta máquina vai receber ou enviar dados. Eu vou escolher a opção “rcv” e dar “OK“, porque esta é a máquina que irá receber os dados pela rede. A seguinte imagem mostra o menu.
Ao darmos “OK“, a máquina fica pronta a receber dados pela rede, no IP e porto configurado durante os passos anteriores. A seguinte imagem, mostra como fica o ecrã, enquanto está à espera que sejam enviados dados pela rede.
Neste momento, temos a máquina que irá receber os dados pela rede configurada. Caso hajam mais máquinas que irão receber dados pela rede, configuramos todas elas como fizemos com esta. Claro tendo em conta, os dispositivos de rede e disco que cada uma delas possui.