Como criar um instantâneo somente leitura no LVM e reverter para ele depois de algum trabalho?

12

Quais são os comandos a serem usados ​​no LVM, caso eu queira:

  1. crie um instantâneo somente leitura de um volume;
  2. (faça algumas experiências no volume);
  3. e depois reverter o volume para o instantâneo?
imz - Ivan Zakharyaschev
fonte

Respostas:

11

Eu acho que você está procurando lvconvert --merge. Na página do manual:

--merge

Mescla uma captura instantânea em seu volume de origem. Para verificar se o seu kernel suporta esse recurso, procure snapshot-mergena saída de dmsetup targets. Se o volume de origem e de instantâneo não estiver aberto, a mesclagem será iniciada imediatamente. Caso contrário, a mesclagem será iniciada na primeira vez em que a origem ou a captura instantânea forem ativadas e ambas forem fechadas. A mesclagem de uma captura instantânea em uma origem que não pode ser fechada, por exemplo, um sistema de arquivos raiz, é adiada até a próxima vez que o volume de origem for ativado. Quando a mesclagem é iniciada, o volume lógico resultante terá o nome da origem, o número menor e o UUID.
Enquanto a mesclagem está em andamento, as leituras ou gravações na origem aparecem como foram direcionadas para o instantâneo que está sendo mesclado.Quando a mesclagem termina, o instantâneo mesclado é removido. Vários snapshots podem ser especificados na linha de comando ou um @tag pode ser usado para especificar que vários snapshots sejam mesclados à respectiva origem.

Suponha que você tenha um volume lógico vg0 / system que contenha seu / filesystem.

# create a read-only snapshot
lvcreate -pr --snapshot --name system_snapshot vg0/system
# upgrade or something
# if it fails, reboot and do this from a livecd
lvconvert --merge vg0/system_snapshot
# reboot again and you have your old system back

As reinicializações são necessárias apenas porque neste cenário você não pode desmontar o sistema de arquivos. Se não for o / fs, desmontar é suficiente.

Lembre-se de que o instantâneo será excluído após a mesclagem.

stribika
fonte
Obrigado pela resposta! E se alguém não der a opção -pr( --permission r) lvcreate, o instantâneo será somente leitura por padrão? ( O LVM permite instantâneos graváveis ? Se sim, um cenário alternativo poderia ser possível, onde os experimentos temporários não seriam visíveis no volume principal, mas seriam executados no instantâneo gravável temporário.)
imz - Ivan Zakharyaschev
1
O padrão é RW.
Stribika
3
Você não deve fazer a mesclagem a partir de um CD ao vivo, pode emitir o comando e, após a reinicialização, ele mesclaria automaticamente.
Hanan N. 4/12