É possível criar instantâneos somente de metadados com o LVM?

2

Usando o dm thin Eu entendo que agora é possível armazenar os metadados separadamente do próprio snapshot.

Alguém sabe se seria possível criar apenas instantâneos de metadados que não incorram na mesma sobrecarga de E / S? Estou interessado em saber quais blocos foram alterados, mas não o conteúdo do bloco antigo.

Minha principal motivação para essa pergunta é que me pergunto se uma solução de backup usando algo como lvmsync ( link ) - mas sem incorrer em qualquer sobrecarga significativa.

A documentação é um pouco leve sobre as informações sobre como conseguir isso, meus pensamentos estavam em torno de criar um pool thin baseado em / dev / null ou similar que silenciosamente descarta quando escrito.

    
por muss 30.12.2013 / 23:22

1 resposta

0

O equivalente do mapeador de dispositivo de /dev/null é o destino zero ( dmsetup create --table '0 <nsectors> zero' myzeroes ). Acho que você poderá usar isso como um dispositivo de dados para seu pool thin; e, em seguida, tire um instantâneo do volume original (como origem externa) para rastrear as alterações feitas nele. Tudo isso é feito fora do LVM; você precisa da flexibilidade total do DM, enquanto o LVM atende a casos de uso comum com mais conveniência e segurança.

Com a ajuda do thin-provisioning.txt :

dmsetup create --table "0 $nsectors zero" myzeroes
dmsetup create pool \
    --table "0 $nsectors thin-pool $metadata_dev /dev/mapper/myzeroes \
    $data_block_size $low_water_mark"
thinnum=0
dmsetup message /dev/mapper/pool 0 "create_thin $thinnum"
origsectors=$(blockdev --getsz /dev/myorigin)
dmsetup create snap \
    --table "0 $origsectors thin /dev/mapper/pool $thinnum /dev/myorigin"
    
por 07.01.2014 / 22:18

Tags