11.2. Criação de volumes de instantâneos
Use o argumento -s
do comando lvcreate
para criar um volume de instantâneo. Um volume de instantâneo pode ser escrito.
Os instantâneos de LVM não são suportados através dos nós em um cluster. Não se pode criar um volume instantâneo em um grupo de volume compartilhado. Entretanto, se você precisar criar um backup consistente de dados em um volume lógico compartilhado, você pode ativar o volume exclusivamente e depois criar o instantâneo.
Os snapshots são suportados para volumes lógicos RAID.
O LVM não permite criar um volume instantâneo maior do que o tamanho do volume de origem mais os metadados necessários para o volume. Se você especificar um volume de instantâneo maior que este, o sistema criará um volume de instantâneo que é apenas tão grande quanto será necessário para o tamanho da origem.
Por padrão, um volume de instantâneo é pulado durante os comandos normais de ativação.
O seguinte procedimento cria um volume lógico de origem chamado origin
e um volume instantâneo do volume original chamado snap
.
Criar um volume lógico chamado
origin
a partir do grupo de volumeVG
.#
lvcreate -L 1G -n origin VG
Logical volume "origin" created.Crie um volume lógico instantâneo de
/dev/VG/origin
que tenha 100 MB de tamanho, chamadosnap
. Se o volume lógico original contiver um sistema de arquivo, você pode montar o volume lógico instantâneo em um diretório arbitrário, a fim de acessar o conteúdo do sistema de arquivo para executar um backup enquanto o sistema de arquivo original continua a ser atualizado.#
lvcreate --size 100M --snapshot --name snap /dev/VG/origin
Logical volume "snap" created.Mostrar o status do volume lógico
/dev/VG/origin
, mostrando todos os volumes lógicos instantâneos e seu status (ativo ou inativo).#
lvdisplay /dev/VG/origin
--- Logical volume --- LV Path /dev/VG/origin LV Name origin VG Name VG LV UUID EsFoBp-CB9H-Epl5-pUO4-Yevi-EdFS-xtFnaF LV Write Access read/write LV Creation host, time host-083.virt.lab.msp.redhat.com, 2019-04-11 14:45:06 -0500 LV snapshot status source of snap [active] LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:6-
O comando
lvs
, por padrão, exibe o volume de origem e a porcentagem atual do volume de instantâneo que está sendo utilizado. O exemplo a seguir mostra a saída padrão para o comandolvs
após ter criado o volume de instantâneo, com um display que inclui os dispositivos que constituem os volumes lógicos.
# lvs -a -o +devices
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
origin VG owi-a-s--- 1.00g /dev/sde1(0)
snap VG swi-a-s--- 100.00m origin 0.00 /dev/sde1(256)
Como a foto aumenta de tamanho conforme o volume de origem muda, é importante monitorar regularmente a porcentagem do volume da foto com o comando lvs
para ter certeza de que ela não preencha. Um instantâneo de 100 tiros é completamente perdido, pois uma gravação em partes inalteradas da origem não teria sucesso sem corromper o instantâneo.
Além da própria foto ser invalidada quando cheia, qualquer sistema de arquivo montado naquele dispositivo de foto é forçado a não ser montado, evitando os inevitáveis erros do sistema de arquivo ao acessar o ponto de montagem. Além disso, você pode especificar a opção snapshot_autoextend_threshold
no arquivo lvm.conf
. Esta opção permite a extensão automática de um snapshot sempre que o espaço de snapshot restante cair abaixo do limite que você definir. Esta característica requer que haja espaço não alocado no grupo de volume.
O LVM não permite criar um volume instantâneo maior do que o tamanho do volume de origem mais os metadados necessários para o volume. Da mesma forma, a extensão automática de um instantâneo não aumentará o tamanho de um volume de instantâneo além do tamanho máximo calculado necessário para o instantâneo. Uma vez que um instantâneo tenha crescido o suficiente para cobrir a origem, ele não será mais monitorado para extensão automática.
As informações sobre a configuração snapshot_autoextend_threshold
e snapshot_autoextend_percent
são fornecidas no próprio arquivo /etc/lvm/lvm.conf
.