Mateus Müller

O carinha do Linux

05 fev. 2020

XFS: BACK-UP E RESTORE DE SISTEMAS DE ARQUIVOS

Acho que todos sabem que sou um grande entusiasta do CentOS por ser muito parecido com o Red Hat e nos dar uma grande preparação para o mercado de trabalho. Por padrão, o CentOS usa o sistema de arquivos XFS para as partições (o que obviamente deixa claro que é um sistema de arquivos excelente).

Neste laboratório vamos usar a ferramenta xfsdump para demonstrar as vantagens dos back-ups de sistema de arquivos. Além disso, adicionei um disco a mais na minha VM para trabalhar nele.

Se você ainda não tem uma VM do CentOS, sugiro dar uma olhada neste vídeo que fiz para criar um laboratório de estudos:

Você pode usar a imagem do CentOS 7 oficial aqui.

Criar a partição e formatar

Se você já tem uma partição para fazer o laboratório, pode pular esta parte…

Vamos lá! Primeiro usamos o fdisk para criar a partição.

$ fdisk /dev/sdb

Command (m for help): **n**
Command (m for help): **w**

$ fdisk -l

Você deve ver uma partição /dev/sdb1 com o tamanho total.

XFS: BACK-UP E RESTORE DE SISTEMAS DE ARQUIVOS

Posteriormente, precisamos criar um sistema de arquivos do tipo XFS.

$ mkfs.xfs -f /dev/sdb1
$ blkid
XFS: BACK-UP E RESTORE DE SISTEMAS DE ARQUIVOS

Já vamos aproveitar e montar essa partição e colocar alguns dados lá.

$ mount /dev/sdb1 /mnt
$ df -h /mnt
$ touch /mnt/arquivo_{1,2,3,4,5}.txt
$ ls /mnt
XFS: BACK-UP E RESTORE DE SISTEMAS DE ARQUIVOS

Muito bem, partição criada, formatada, montada e com dados lá dentro.

Fazendo back-up e restore

Antes de mais nada, garanta que o utilitário do XFS está propriamente instalado (ele não vem nos pacotes padrão).

$ sudo yum install xfsdump -y

O xfs_dump tem diversas vantagens, como por exemplo:

  • Escrever o back-up em um arquivo normal
  • Escrever o back-up dentro de uma fita (sim, fita é usada para back-up em grandes corporações, veja aqui uma da Dell)
  • É possível fazer tanto um full-backup quanto um back-up incremental

Se não souber o que é um back-up incremental, talvez esse meu vídeo te ajude:

Muito bem, vamos iniciar criando um dump da partição e salvar em um arquivo de texto, já que não temos uma fita. É interessante que você salve esses snapshots em um back-up em nuvem, storage, HD externo ou qualquer coisa que não seja a própria máquina (gênio).

Garanta que a partição esteja montada antes de executar.

$ xfsdump -l 0 -f /tmp/sdb1.xfsdump -L "session_sdb1" -M "media_sdb1" /dev/sdb1

O parâmetro “-l 0” quer dizer um full-backup. Se usar de 1-9 será incremental.

O parâmetro “-f /tmp/sdb1.xfsdump” define qual será a saída. Neste caso, um arquivo com a extensão “.xfsdump” será criado.

Os parâmetros “-L” e “-M” adicionam labels nesse dump, que são basicamente nomes/apelidos. O “-L” é o nome da sessão e o “-M” é o nome da media. Então você pode inventar alguns nomes padrão para os snapshots.

XFS: BACK-UP E RESTORE DE SISTEMAS DE ARQUIVOS

Agora eu vou criar mais 5 arquivos e depois excluir todos eles.

$ touch /mnt/arquivo_{6,7,8,9,10}.txt
$ ls /mnt
$ rm -f /mnt/arquivo_*
$ ls /mnt
XFS: BACK-UP E RESTORE DE SISTEMAS DE ARQUIVOS

Agora estou com a partição zerada. Entretanto, eu fiz um snapshot quando tinha 5 arquivos lá, lembra? Posso usar esse arquivo para restaurar tudo.

$ ls /mnt
$ xfsrestore -f /tmp/sdb1.xfsdump /mnt
$ ls /mnt
XFS: BACK-UP E RESTORE DE SISTEMAS DE ARQUIVOS

Restaurei todos os arquivos! 🙂

Conclusão

Por mais que você tenha algum back-up com alguma outra ferramenta, se torna um processo interessante fazer snapshots do sistema de arquivos por conta disso. Ainda dá para criar um script que cria automaticamente com agendamento no Cron, seria legal né?

Isso não precisa ser necessariamente só em um servidor, mas caso você use no seu próprio equipamento, dá para aderir!

Bom, espero que você tenha gostado dessa dica e que você realmente usufrua dela!

Me siga no Instagram onde eu faço conteúdos da minha rotina diária.

Participe dos nossos grupos no Telegram e Facebook! 🙂

Se tiver alguma dúvida ou sugestão de conteúdo, por favor, comente!

Comentários Disqus