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.
Posteriormente, precisamos criar um sistema de arquivos do tipo XFS.
$ mkfs.xfs -f /dev/sdb1
$ blkid
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
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.
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
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
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!