Blog Agility

Recuperando arquivos em outra partição e como modificar o backup do BIG-IP

Recuperando arquivos em outra partição e como modificar o backup do BIG-IP

Quando se trabalha com equipamentos críticos, como o big-ip, todos os dias nos deparamos com situações que exigem ajustes ou adaptações para atender determinada demanda. Digamos que exista um script, qkview ou backup que você tenha esquecido de salvar antes de realizar o upgrade do sistema operacional do big-ip. Como resolver?

Neste artigo ensinaremos como você pode recuperá-lo de uma maneira rápida, sem a necessidade de ter que efetuar novamente o bootlocation para o volume antigo.

O BIG-IP, a partir das versões 11.x, trabalha com o sistema de arquivos rodando em LVM (Logical Volume Manager), uma tecnologia Linux/Unix, que permite que um ou mais discos rígidos sejam reunidos em um volume lógico, divididos em PV (Physical Volume), VG (Volume Group) e LV (Logical Volume), e que possam ser redimensionados com maior facilidade caso necessário. O sistema operacional do BIG-IP possui logical volumes nomeados em HD1.1, HD1.2 e assim respectivamente conforme imagem abaixo:

RecuperandoArquivos_ModificandoBackup_RafaelCasado_Imagem01
Imagem01 – Volumes Lógicos do BIG-IP

Portanto, quando o sistema operacional é instalado, é em um desses logical volumes em que ele roda e é armazenado, consequentemente ao atualizar o equipamento a nova versão deverá ser instalada em uma outra “Partição” e, caso haja algum arquivo, seja ele um script, um backup ou um qkview que tenha sido salvo antes do bootlocation entre a versão antiga para a versão nova, este, ficará armazenado no logical volume antigo.

O procedimento para recuperação do arquivo é simples e bem rápido. Primeiramente listaremos todos os logical volumes existentes no sistema operacional com o comando lvscan:

RecuperandoArquivos_ModificandoBackup_RafaelCasado_Imagem02
Imagem02 – Lista de logical volumes do Sistema Operacional

Podemos observar que os logical volumes do HD1.1 possuem no nome a representação deste volume como “/dev/vg-db-sda/set.1.root”, por exemplo.

Criaremos um diretório dentro do /mnt, que serve como ponto de montagem para dispositivos de armazenamento, com o comando mkdir. Depois de criado o diretório, usaremos o comando mount para montar o LV “/dev/vg-db-sda/set.1.root” no diretório criado dentro do /mnt.

RecuperandoArquivos_ModificandoBackup_RafaelCasado_Imagem03
Imagem03 – Criando diretório e montando logical volume do /root do HD1.1

Neste caso, montamos o /root do HD1.1, porém, como pode ser observado na imagem 02, existem outros LVs que se referem ao /config, /usr, /var e assim por diante.

Após rodar o comando mount, o diretório /root da partição HD1.1 já estará montado no /mnt/lab_dir e você terá livre acesso aos diretórios pertencentes a ele, bem como aos seus arquivos.

RecuperandoArquivos_ModificandoBackup_RafaelCasado_Imagem04
Imagem04 – Lista de diretórios dentro /root do HD1.1

Para recuperar o arquivo desejado, basta navegar até o diretório ao qual ele pertencia e fazer uma cópia com comando cp:

RecuperandoArquivos_ModificandoBackup_RafaelCasado_Imagem05
Imagem05 – Copiando o arquivo analise_bigip.sh para o diretório /tmp da partição HD1.2(Atual)

Depois de recuperar os arquivos que deseja, saia da pasta montada no /mnt e para desmontar o logical volume utilize o comando umount:

RecuperandoArquivos_ModificandoBackup_RafaelCasado_Imagem06
Imagem06 – Desmontando diretório /mnt/lab_dir

Uma alternativa a este procedimento seria inserirmos nas configurações de backup padrão do big-ip, o UCS, para que ele salve o arquivo desejado quando executado. Desta forma, não correríamos risco de ter que remontar um logical volume para recuperar um arquivo perdido em uma partição antiga, levando em consideração que, ao executar o bootlocation na partição com uma versão sem configuração o sistema operacional do big-ip automaticamente faz um backup das configurações e as restaura já na nova versão.

Todas as configurações do que deve ou não ser realizado backup se encontram no arquivo /usr/libdata/configsync/cs.dat. Antes de mais nada, antes de começar o procedimento, que é bem simples, façamos uma cópia deste arquivo com o comando cp:

RecuperandoArquivos_ModificandoBackup_RafaelCasado_Imagem07
Imagem07 – Efetuando uma cópia de segurança do arquivo de configuração do backup

O arquivo cs.dat possui três tipos de entradas de controle para que possa salvar um arquivo e/ou diretório no arquivo UCS:

  • Para que seja salvo um arquivo em específico: <index>.file

–      Para que seja salvo um diretório: save.<index>.dir

–      Para que um arquivo não seja incluído no arquivo de UCS: save.<index>.ignore

O index, é o número de identificação que representa um arquivo ou diretório, caso seja necessário, ele pode ser utilizado mais de uma vez para ações diferentes. Seguindo as recomendações do fabricante, para definir qual o index do seu objeto, sempre visualize no arquivo qual o último número utilizado e coloque um número sempre maior, por exemplo: Se o último número for 7000, no meu próximo arquivo eu posso colocar 7010 ou qualquer outro número maior que o ultimo utilizado.

Vamos ao procedimento:

Por padrão, o sistema operacional do big-ip monta o file system /usr como read-only. Consequentemente toda a árvores de diretórios e arquivos abaixo dele. Para que seja possível a modificação do arquivo de configuração do UCS, será necessário a remontagem do diretório com permissão de escrita:

RecuperandoArquivos_ModificandoBackup_RafaelCasado_Imagem08
Imagem08 – Remontagem do file system /usr com permissão de escrita

Edite o arquivo /usr/libdata/configsync/cs.dat com o comando VI ou VIM. Na última linha criar uma nova sessão, no caso “CUSTOM BACKUP” e adicionar a linha do arquivo ou diretório que deverá ser salvo, conforme imagem abaixo:

RecuperandoArquivos_ModificandoBackup_RafaelCasado_Imagem09
Imagem09 – Configurando arquivo a ser salvo no UCS

Na imagem acima, estamos utilizando o mesmo arquivo recuperado no procedimento anterior, o analise_bigip.sh e, a partir de agora, sempre que um arquivo UCS for gerado este arquivo será salvo automaticamente.

Após a finalização do procedimento, remontar o file system /usr como read-only.

RecuperandoArquivos_ModificandoBackup_RafaelCasado_Imagem10
Imagem10 – Remontagem do file system /usr como read-only

Desta forma, o diretório voltara ao seu estado inicial.

Este artigo tem como objetivo auxiliar na recuperação de arquivos perdidos pós atualização do sistema operacional do BIG-IP e mostrar passo a passo como adicionar um arquivo e/ou diretório para ser salvo em um UCS automaticamente. Estas funcionalidades são muito úteis, principalmente quando o administrador insere scripts de rotina na crontab para algum fim específico. Com a adição deste script na configuração do UCS não haverá a necessidade de se preocupar em salvar o script a parte sempre que atualizar o sistema operacional.