Usando SystemRescueCd com o SAGE

systemresc

No post de hoje trata da aplicação do SystemRescueCdem uma instalação do CentOS SAGE. O SystemRescueCd é um disco de resgate de sistema baseado no Linux disponível em CD-ROM ou Pendrive e serve para administrar ou reparar seu sistema e dados após uma falha. Pretende fornecer de maneira simples a capacidade de executar tarefas de administração, como criar e editar as partições do disco rígido, editar arquivos, realizar backups, explorar arquivos entre outros. Pode ser usado tanto para computadores Linux e Windows, quanto em desktops e servidores. Não requer instalação, pois pode ser iniciado a partir de uma unidade de CD / DVD ou Pendrive, mas pode ser instalado no disco rígido se desejar. O kernel suporta todos os sistemas de arquivos importantes (ext3 / ext4, xfs, btrfs, reiserfs, jfs, vfat, ntfs), bem como sistemas de arquivos de rede, como Samba e NFS. Para maiores informações acesse a página do projeto.

O objetivo de uso do SystemRescueCd com uma instalação do SAGE é garantir o retorno de um serviço em menor tempo após uma falha no sistema operacional ou hardware. Para isso destacarei alguns tópicos que desenvolverei nesse post:

  • Criação dos discos de inicialização do SystemRescueCd (Linux e Windows);
  • Testando o disco de inicialização;
  • Criação da imagem de restauração de uma instalação do SAGE;
  • Recuperando uma instalação do sage a partir de uma imagem de restauração;
  • Restaurando o GRUB (menu de inicialização de boot);

Criação dos discos de inicialização do SystemRescueCd

Antes de criar os discos de inicialização, descarregue os softwares necessários. Acesse a página do projeto SystemRescueCde na sessão download baixe a ISO. No momento da criação desse post a versão disponível era a SystemRescueCd-x86-5.3.2 (572MB). Se for utilizar CDROM basta queimar a ISO com seu programa de gravação preferido e partir para o próximo tópico.

Caso for utilizar pendrive para inicializar o SystemRescueCd baixe o software Rufus para criar a partir do Windows. A utilização dele é bem simples.

  • Selecione o Pendrive no combo Dispositivo;
  • Em Opções de formatação selecione a ISO clicando no botão com a imagem de um CDROM;
  • Clique no botão iniciar. Lembrando que os dados do pendrive serão perdidos, então faça backup dele antes.

Se for utilizar o pendrive e for criar a partir do Linux deve-se executar os seguinte passos com o usuário root:

  • Montar a ISO, supondo que a mesma esteja em ~/Download, usando o comando:

mkdir -p /tmp/cdrom
mount -o loop,exec ~/Download/systemrescuecd-x86-5.3.2.iso /tmp/cdrom

  • Insira a pendrive e aguarde uns 5 segundos para que o sistema possa detectá-la.
  • Após isso desmonte-a usando a opção remover com segurança ou fazendo-a via comando umount.
  • Vá para o diretório /tmp/cdrom, rode o script selecionando o USB correspondente ao pendrive e tecle enter.

cd /tmp/cdrom
bash ./usb_inst.sh

  • Após a conclusão do pendrive desmonte a ISO.

cd ~
umount /tmp/cdrom

Testando o disco de inicialização

Após a criação do disco de inicialização. Insira o CDROM ou pendrive no servidor que irá realizar os procedimentos com o SystemRescueCD, o problemático, e selecione o boot para inicializar a partir do dispositivo que contém o SystemRescueCd. Selecione a opção 6 que é referente ao boot gráfico do SystemRescueCd. Transcorrendo tudo corretamente, será solicitado o tipo de entrada do teclado. Após a seleção do teclado os módulos do Linux e o ambiente X serão carregados.

Criação da imagem de restauração de uma instalação do SAGE

A criação da imagem de restauração de uma instalação do SAGE é relativamente simples, mas o ideal é que a mesma seja feita a partir de uma instalação limpa, com o CentOS já devidamente configurado e com os drivers já instalados. Se for o caso de ter muitos servidores com configuração idêntica essa imagem servirá para todos eles em recuperação pós falha. Também pode deixar o SAGE desse servidor todo configurado (base, hosts entre outros). Restando apenas, em uma etapa futura, restaurar o CNF mais atual nesse servidor. Tudo irá depender da rotina que implementada e da imaginação do mantenedor.

Partindo o SystemrescueCd e já no ambiente gráfico, insira um armazenamento para guardar a imagem de restauração, dê preferência por HD externos, e monte-o. A partir daí vamos rodar os comandos para criar a imagem de restauração.

mkdir -p /mnt/backup
mount /dev/sdb1 /mnt/backup
fsarchiver savefs -o /mnt/backup/servidor_sage.fsa /dev/sda1 /dev/mapper/vg_servsage1-lv_root -j 4 -z 4 -A -v

O comando acima, fsarchiver, irá salva um arquivo em /mnt/backup com o nome servidor_sage.fsa com a estrutura contendo a partição /dev/sda1 (geralmente é o /boot) e o  dev/mapper/vg_servsage1-lv_root (nosso raiz /) as opções -j -z -A -v em detalhes abaixo:

  • -j <count>: Se o processador do servidor possuir mais de um núcleo pode ser especificado quantos desses serão utilizados para executar o processo de compressão e descompressão da imagem de recuperação.
  • -z <level>: nível de compressão de 0 (mais rápida, baixa compressão) para 9 (mais lenta, maior compressão). O padrão é 3. Se sua máquina form multi-core experimente uma compressão maior que 3. Faça testes.
  • -A: permite salvar um sistema de arquivos montado em leitura-gravação (live backup).
  • -v: modo detalhado (pode ser usado várias vezes para aumentar o nível de detalhes).

Para maiores detalhes acesse a página do FSArchivere monte o comando que melhor se adapta ao caso.

Visualizando se a imagem de restauração foi bem gerada.

fsarchiver archinfo /mnt/backup/servidor_sage.fsa

Agora guarde o layout das partições do HD do servidor SAGE. Esse mapa é importante para recriar nosso disco. Frisando mais uma vez que a unidade que contém o raiz do SAGE é o disco /dev/sda.

sfdisk -d /dev/sda > /mnt/backup/layout_sage_disk.txt

Com isso os arquivos necessários para efetuar a restauração do servidor (imagem de restauração e layout do disco) estão prontos. Podemos então partir para a etapa de restauração.

Recuperando uma instalação do sage a partir de uma imagem de restauração

Se a falha ocorrer no servidor e a mesma foi relacionada a software (sistema operacional), então remova todas as partições que contém o SAGE (/boot e LVM) com os comando abaixo, aguarde 3 segundo entre cada comando:

lvremove /dev/mapper/vg_servsage1-lv_root
lvremove /dev/mapper/vg_servsage1-lv_swap
vgremove vg_servsage1
pvremove /dev/sda2
sfdisk --delete /dev/sda
sync

Em seguida carregue o layout usando o mapa salvo anteriormente. Importante atentar que se a falha for de hardware e os disco forem de capacidade diferente que o ideal é fazer a criação manual (usando fdisk ou sfdisk) das partições do SAGE, nesse caso pule a etapa de carregar layout:

sfdisk /dev/sda < /mnt/backup/layout_sage_disk.txt

O próximo passo é recriar a LVM (swap e o raiz /) com os comando abaixo:

pvcreate /dev/sda2
sync
vgcreate vg_servsage1 /dev/sda2
sync
lvcreate -L 4000M -n lv_swap vg_servsage1
lvcreate -l 100%FREE -n lv_root vg_servsage1

Formate a swap com o comando:

mkswap /dev/mapper/vg_servsage1-lv_swap

Agora carregue a imagem de restauração no disco do servidor SAGE para o disco.

fsarchiver restfs /mnt/backup/servidor_sage.fsa id=0,dest=/dev/sda1 id=1,dest=/dev/mapper/vg_servsage1-lv_root -j 4 -v

id=0 (/boot) e id=1 (raiz /)

Restaurando o GRUB (menu de inicialização de boot)

Após a restauração do sistema é preciso recriar o GRUB. Prepara o ambiente e realize os comandos em chroot.

mkdir /mnt/linux
mount /dev/mapper/vg_servsage1-lv_root /mnt/linux
mount -o bind /proc /mnt/linux/proc
mount -o bind /dev /mnt/linux/dev
mount -o bind /sys /mnt/linux/sys
mount /dev/sda1 /mnt/linux/boot

Em chroot vamos remapear o GRUB e instalá-lo.

chroot /mnt/linux
grep -v rootfs /proc/mounts > /etc/mtab
grub-install /dev/sda

Se todos os comandos foram executados sem nenhum retorno de erro e apresentando a última mensagem do GRUB instalado no /dev/sda então basta agora reiniciar o servidor e verificar se o CentOS parte novamente e sem problemas.

Para enriquecer mais o processo de restauração após falha seria interessante pensar na criação de scripts para automatizar os comandos aqui executados. Outra é implementar uma rotina para sistematizar a criação da base de dados do SAGE a partir de um CNF armazenado em um servidor de backup.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *