quinta-feira, 20 de dezembro de 2007

Snapshots com LVM no CentOS 5

Numa instalação de GNU/Linux com LVM (Logical Volume Manager) podemos aproveitar a capacidade do LVM de gerar snapshots para se ter um ou mais backups de um sistema de arquivos. Cada snapshot gerado é uma cópia do sistema de arquivos original naquele momento, entretanto ocupando menos espaço. Então vem a pergunta: como isto é possível? O que o LVM faz é reservar uma área para guardar os dados originais durante as alterações subseqüentes do sistema de arquivos

Coloque o script abaixo (makelvsnapshot.cron) no diretório /etc/cron.weekly e ele será executado semanalmente pelo serviço cron.


#!/bin/bash

LOCKFILE=/var/lock/makelvsnapshot.lock

[ -f $LOCKFILE ] && exit 0
trap "{ rm -f $LOCKFILE; exit 255; }" EXIT
touch $LOCKFILE
/bin/umount /dev/VG_root/LV_root_snapshot
/usr/sbin/lvremove -f /dev/VG_root/LV_root_snapshot && /usr/sbin/lvcreate \
--size 4G --snapshot --name LV_root_snapshot /dev/VG_root/LV_root
/bin/mount /.snapshot/LV_root
exit 0



Esse script foi testado em um CentOS 5.1 e vem funcionando bem há algumas semanas. Claro que melhorias podem ser feitas a este script, uma seria colocar duas áreas de snapshot para termos backup de até 15 dias.

Sugestões serão bem-vindas!