Isso é um artigo GOA – Gambiarra Oriented Architecture – Siga sob seu próprio risco.
A situação é a seguinte: Você tem uma partição LVM que precisa ser backupeada ASAP em outro servidor na rede. Você tem pouco espaço disponível e precisa disso para ontem. Nào tema!
O pré-requisito é que seu volume group deve ter de espaço livre o mesmo ou mais do que o uso real da partição.
Ou seja:
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 6.7G 701M 5.7G 11% / /dev/sda1 99M 18M 76M 19% /boot tmpfs 252M 0 252M 0% /dev/shm
Eu preciso entào de pelo menos 701MB livre no VG:
# vgdisplay VolGroup00|grep Free Free PE / Size 255 / 7.97 GB
Beleza. Atendo o requisito. Vamos tirar um snapshot então:
# lvcreate -L800M -s -n backup /dev/VolGroup00/LogVol00 Logical volume "backup" created
OK. Então vamos no servidor onde vamos colocar o backup e fazemos isso:
# nc -l -p 10100 | dd of=backup.img.gz
Voltamos no servidor que estamos backupeand e fazemos o seguinte truque:
# dd if=/dev/VolGroup00/backup conv=sync,noerror bs=64K \ | gzip -c| nc 192.168.1.1 10100
Pronto. Agora é só esperar. Pode demorar um bocado isso.
Para acessar o backup você pode, ao invés de restaurar a imagem também com o dd (processo inverso), simplesmente montá-la e acessar os arquivos:
# gunzip backup.img.gz # mount -t ext3 -o loop backup.img /mnt/ # ls /mnt/ bin boot dev etc home lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var
Não esqueça de destruir o snaphot:
# lvremove /dev/VolGroup00/backup