Djames Suhanko enviou o primeiro artigo recebido em resposta à
chamada para editores voluntários do BR-Linux publicada na semana passada. O artigo dele é um caso de sucesso sobre a estratégia de backup e recuperação rápidos para servidores, aplicada ao backup de um conjunto de servidores firewall dedicados que são gerenciados no datacenter em que ele trabalha. Ele usa e está satisfeito com ela, e oferece as dicas para quem quiser aplicar o mesmo método, aperfeiçoá-lo ou adequá-lo às suas necessidades específicas.
Fazendo um sistema de backup de sistema operacional
por Djames Suhanko (djames.suhankoΘgmail.com)
Há quase um ano, comecei trabalhar em uma empresa de URA e callcenter, onde sou programador. Lá temos diversas redes de diversos clientes e, a situação inicial era a seguinte; para cada rede um firewall, para cada firewall, uma máquina reserva para seu respectivo firewall no caso de falha. Porém, os clientes já eram muitos e o espaço físico no CPD já não era suficiente. Essa foi minha primeira tarefa; arranjar uma solução que pudesse reduzir o parque de máquinas do CPD. Além disso, a tarefa de substituição de qualquer máquina problemática é do operador, portanto, a solução teria que oferecer um procedimento simples para o operador, afim de evitar erros e ser muito rápido.
A solução foi a seguinte: Um CD contendo uma imagem auto-instalável do sistema operacional de cada firewall.
Uma imagem do sistema, que no Linux pode ser feita com o PartImage, é nada mais do que um arquivo com compressão contendo o sistema operacional instalado no HD. Então, para cada firewall seria necessário um CD com a imagem auto-instalável, mas precisaríamos também de um backup dessa imagem, caso o CD viesse a se danificar.
Para gerar a primeira imagem, precisariamos de um sistema que o fizesse automaticamente e o mais rápido possível, pois cada firewall teria que ser desligado de sua respectiva rede temporariamente até que se criasse a imagem do sistema que seria armazenado em outra máquina da rede. Assim, criou-se o srvghost, um servidor que usamos para armazenar as imagens de todos os sistemas de firewall de clientes mais antigos e também agora dos mais novos.
A preparação do servidor que recebe as imagens
Um sistema operacional Linux com uma partição dedicada ao armazenamento, compartilhada em uma de nossas redes via SAMBA. Isso é tudo o que precisou ser feito no servidor de imagens
A preparação do CD que gera as imagens na rede
O sistema que usamos para gerar a imagem na rede é um Kurumin remasterizado para a função. Quando dado o boot, após carregar os scripts de inicialização, ele executa um novo script que abre um menu em dialog, perguntando o que deseja se fazer; gerar uma imagem na rede ou restaurar uma imagem da rede. Para que a imagem desse firewall possa ser armazenado no srvghost, ambos devem estar na mesma rede, portanto o firewall é colocado primeiramente na mesma rede em que está o srvghost e nele é dado o boot com o CD. O que o CD faz é montar o compartilhamento samba no ramdisk e gerar diretamente na rede a imagem do sistema contido em disco.
A Preparação do CD de auto-instalação
O que este CD faz é, quando um hardware pára de funcionar, a máquina é imediatamente substituida por outra igual e, na lateral da máquina em produção tem uma capa de CD grudada com o CD dentro, rotulado com o nome do respectivo firewall. Então, basta apanhar esse CD da máquina problemática e dar um boot com ele na máquina nova. O sistema automaticamente criará o particionamento, a MBR e instalará a imagem do sistema no HD. Após isso, o firewall está pronto para assumir a função do anterior.
Para fazer esse CD, é necessário ter uma extração do kurumin no HD do srvghost. Quando queremos então gerar um CD auto-instalável, rodamos um programa que fiz em CHELL (C com shell-script - havia um motivo para isso), que mostra as opções contidas no diretório de imagens do srvghost. Então, basta escolher a imagem e o programa a recolhe para dentro da extração do kurumin e a remasteriza, gerando um arquivo ISO, bastando posteriormente gravá-lo em CD. O programa poderia fazê-lo diretamente após gerar o ISO, mas o pouco de tempo a mais que isso tomaria não me foi dado, pois haviam mais algumas centenas de tarefas a fazer.
Após gravado o CD, basta colocá-lo grudado em sua capa plástica ao lado do gabinete para usar em caso de falha do hardware. Os arquivos ISO gerados são movidos para dentro da pasta das imagens, pois, caso venha a dar algum problema, basta gravar outro CD.
Esse procedimento é bom para máquinas que não possuem dados dinâmicos, próprio muito mais para firewall. Caso seja necessário por exemplo, adicionar mais algumas regras no firewall - não é necessário tirá-lo mais uma vez do ar para gerar a nova imagem, se já houver um cd; basta baixar o CD em outra máquina, fazer nessa máquina as mesmas modificações que foram feitas no firewall que está em produção e por fim, gerar novamente a imagem na rede e gravar um novo CD.
Fiz um cálculo de tempo e, em 20 minutos se tem a imagem gerada na rede com o ISO pronto. É um tempo alto para gerar o CD, mas deve-se considerar que em operação é extremamente eficaz, pois basta um boot com o CD para que o sistema operacional seja instalado no HD sem interação humana durante esse processo, que leva até 5 minutos para ser concluído, mas é isento de falhas.
Por fim, o parque de máquinas dedicadas a firewall caiu pela metade, bastando uma ou duas máquinas de reserva, o que liberou bastante espaço nos racks e gerou uma bela economia para a empresa.
Autor: Djames Suhanko (djames.suhankoΘgmail.com)