Você precisa colocar seus blocos de gluster em imagens LVM thinly provisioned.
- Criar um thinpool de LVM
- Criar imagem LVM para tijolo dentro de thinpool
- Tijolo de cremalheira e volume de gluster de configuração, etc.
A solução mais fácil em meu conhecimento seria:
- instantâneo do sudo gluster create nome_do_impressor nome_da_pesquisa
- desmontar instantâneo do sistema de arquivos
- crie uma imagem lz4 do instantâneo com dd e lz4
- montar a imagem de volta
O backup total de uma imagem com mais de 2 milhões de arquivos e 18G leva cerca de 90 segundos em um servidor dedicado.
Pseudo-código:
# create snapshot
echo $(date)" Creating glusterfs snapshot" >> $LOG
gluster snapshot create $SNAP_NAME $GS_VOLUME no-timestamp 2>>$LOG
echo $(date)" [OK]" >> $LOG
# get snapshot volume name
SNAP_VOL_NAME=$(gluster snapshot info $SNAP_NAME | grep "Snap\ Volume\ Name" | sed -e 's/.*S.*:.//g') MOUNT_OBJECT="/dev/"$VG"/"$SNAP_VOL_NAME"_0"
MOUNT_POINT="/run/gluster/snaps/$SNAP_VOL_NAME/"$BRICK BACKUP_FS=$DIR_BA"/"$SNAP_NAME".ddimg.lz4"
# umount the image
umount $MOUNT_POINT
# create backup
echo $(date)" Creating lz4 of LVM image" >> $LOG
sudo dd if=$MOUNT_OBJECT 2>>$LOG | lz4 > $BACKUP_FS 2>>$LOG
echo $(date)" [OK]" >> $LOG
# mount image back
#mount $MOUNT_OBJECT $MOUNT_POINT
# delete (all) snapshots and umount
yes | gluster snapshot delete volume $GS_VOLUME 2>> $LOG