De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: José Messias Alves da Silva
Data de Publicação: 20 de Agosto de 2006
Em grandes ambientes corporativos onde se espera ter sempre os sistemas em perfeitas condições de funcionamento ou mesmo quando se tem uma quantidade enorme de máquinas para manter cujo o conjunto de softwares necessários nas máquinas é o mesmo ou as máquinas possuem hardware praticamente idêntico, normalmente um bom administrador de redes faz uso de softwares de realização de backups e produção de imagens (isos). Vários são os softwares que se dispõem a esse fim. Entretanto, dando uma volta pela Net, vislumbrei uma solução chamada SystemImager.
Conforme o próprio site do software afirma, o SystemImager é um software que automatiza instalações de sistemas GNU/Linux por meio de espelhamento (clonagem) de máquinas, facilita a produção e distribuição de imagens e de softwares.
O SystemImager consiste em um excelente sistema que pode tornar mais confiável a manutenção de sua rede e facilitar no processo de restauração dos sistemas das máquinas e execução de planos de contingência previstos em políticas de segurança.
O SystemImager permite a criação e a distribuição da imagem independente do sistema operacional a ser instalado. Facilita também a atualização da máquinas no que se refere a alterações de configuração, distribuição de dados e atualização do sistema operacional.
O SystemImager disponibiliza o download de pacotes .deb
para Debian e .rpm
para distribuições baseadas em RPM como RedHat, Fedora, SuSE e Mandriva. Nessa dica utilizaremos Debian tanto para o Servidor de Imagens quanto para o Cliente de imagens.
Maiores Informações sobre o SystemImager
Para instalar o SystemImager no Servidor de Imagens, acrescente ao /etc/apt/sources.list
a seguinte linha:
deb http://download.systemimager.org/debian stable main
Agora execute:
# apt-get update
Para verificar os pacotes disponíveis, faça:
# apt-cache search '(systemimager|systemconfigurator)'
Pronto, para instalar SystemImager Server simplesmente execute:
# apt-get install systemimager-server systemconfigurator
Para instalar SystemImager Client execute:
# apt-get install systemimager-client
A partir daqui convencionaremos o Servidor de Imagens como sendo a máquina de endereço IP 10.0.0.2 e o cliente terá endereço IP 10.0.0.14.
Para colocar uma imagem no servidor a partir do cliente devemos parar algum firewall esteja rodando no cliente ou pelos menos liberar a porta TCP 873 (rsync
, uma dependência do sistema). Bem, no cliente execute o seguinte comando:
# prepareclient --server 10.0.0.2
No servidor de imagens execute:
# getimage -golden-client 10.0.0.14 -image maquina14_img -ip-assignment replicant
onde maquina14_img é no nome da imagem que se deseja criar. A opção -ip-assignment
pode ter um dos seguintes valores:
static_dhcp
- Um servidor DHCP atribuirá o mesmo endereço IP para cada cliente instalados com essa imagem. Nesse caso, o servidor DHCP também faz a correspondência com o hostname. É possível, entretanto, quando se estiver usando static dhcp, mudar a associação endereço IP e hostname, apenas alterando a respectiva correspondência entre eles no arquivo de configuração do Servidor DHCP, dhcpd.conf
. Em alguns casos isso pode ser interessante e até necessário.
dynamic_dhcp
- Um servidor DHCP faz a atribução de endereço IP dinamicamente aos clientes instalados com essa imagem. Com dynamic_dhcp
, o endereço IP de cada máquina pode mudar, mas se pode guardar o mesmo hostname para a máquina. Assim, o hostname será ajustada à máquina, mesmo sendo associado a diferentes endereços a cada vez que se fizer a criação da imagem.
static
- O endereço IP atribuído ao cliente durante a auto-instalação ficará permanentemente associado a este cliente.
replicant
- Essa opção indica para não atentar para as configurações da rede na imagem. Muito utilizada para cópias e restaurações rápidas em uma única máquina.
O SystemImager permite que se instale imagens mesmo em sistemas em que não há nada instalado. Isto pode ser feito com a utilização de um disquete de boot (o que significa que na máquina onde será realizada o espelhamento será necessário um drive de disquetes, dado que o SystemImager não trabalha com drives USB). Para criar um disquete de boot, basta apenas que se insira um disco vazio no leitor de disquetes do servidor de imagens e executar:
# mkautoinstalldiskette
Essa operação criará um disquete de boot padrão. Será necessário realizar alguns ajustes e alterações no arquivo de configuração denominado local.cfg
:
HOSTNAME=maquina14 DOMAINNAME=empresa.com.br DEVICE=eth0 IPADDR=10.0.0.14 NETMASK=255.255.255.0 NETWORK=10.0.0.0 BROADCAST=10.0.0.255 GATEWAY=10.0.0.1 GATEWAYDEV=eth0 IMAGESERVER=10.0.0.2 IMAGENAME=maquina14_img
Para efeito de organização, sugere-se acrescentar ao final do nome da imagem a data do dia no formato aaaammdd. Assim, a imagem maquina14_img ficaria maquina14_img_20060714
. Entretanto, caso essa imagem deva ser atualizada freqüentemente, não recomenda-se utilizar esse padrão.
Esse arquivo inclui algumas informações de rede da máquina. As linhas que contém DEVICE
e GATEWAYDEV
devem ser o nome do dispositivo de rede, IMAGESERVER
deve ser o endereço IP do Servidor de Imagens e IMAGENAME
o nome da imagem a ser gravada ou recuperada.
Agora, salve este arquivo em seu disco de boot. Essas alterações podem ser feitas em estações Windows, mas deve-se ter o cuidado de salvar o arquivo com quebra de linhas no formato UNIX.
Uma outra forma de se gerar o disquete de boot é criando um arquivo /var/lib/systemimager/maquina14_img.local.cfg
no próprio servidor de imagens. O arquivo /var/lib/systemimager/maquina14_img.local.cfg
deve ter o mesmo conteúdo do arquivo local.cfg
acima.
Em seguida execute:
# mkautoinstalldiskette -config /var/lib/systemimager/maquina14_img.local.cfg
Dessa forma se criará um disquete de boot com o arquivo local.cfg incluso. A terceira forma de se criar o disquete é gerando a imagem do disco de boot e gravando no disquete. Em sistemas GNU/Linux, pode realizar executando-se o seguinte comando:
# dd if=systemimager-floppy-image.img of=/dev/fd0
Se estiver no Windows, pode-se utilizar alguma ferramenta como RawWrite para gravar a imagem do disquete. Feito isto, deve-se ter criado um arquivo local.cfg
como descrito anteriormente.
No Servidor de Imagens deve-se executar o comando:
# /etc/init.d/systemimager-server start
ou versões recentes do SystemImager
# /etc/init.d/systemimager-server-rsyncd start
Novamente, certifique-se de que a porta TCP 873 esteja liberada e acessível externamente.
Pronto, agora insira o disquete de boot na máquina cliente e inicialize pelo disquete. O sistema instalará a imagem maquina14_img
automaticamente e tudo estará feito.
Depois criada a imagem maquina14_img
, pode-se ter efetuado alguns acréscimos e alterações no Cliente e se deseja, então, atualizá-la no Servidor para posterior restauração. Os passos são os mesmos descritos na criação de uma imagem:
No Cliente onde se quer atualizar a imagem, execute:
# prepareclient --server 10.0.0.2
No Servidor de Imagens execute:
# getimage -golden-client 10.0.0.14 -image maquina14_img -ip-assignment replicant
Caso se deseje apagar uma imagem no servidor de imagens, basta executar o seguinte comando:
# rmimage maquina14_img
Como se pode perceber, o SystemImager é uma excelente solução para ambientes que requerem sempre estar a pleno vapor, onde não se permite sequer um segundo sem se estar produzindo, o que exigiria dos Administradores de Sistemas um volume de trabalho maior caso não se fizesse uso de ferramentas como essa. Assim, espera-se que essa dica facilite e ajude as pessoas que estão envolvidas na manutenção de sistemas e no funcionamento de máquinas de uma maneira geral, a proverem um ambiente seguro, eficiente e de boa qualidade.
Nota: Em versões mais recentes do SystemImager nos comandos utilizados nessa dica foi acrescentado o prefixo "si_
". Logo, os comandosgetimage
,prepareclient
,mkautoinstalldiskette
passaram sersi_getimage
,si_prepareclient
,si_mkautoinstalldiskette
e assim por diante.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários