12.5. Rastreamento e exibição de volumes finos que foram removidos
Você pode configurar seu sistema para rastrear imagens e volumes lógicos finos que foram removidos, ativando a opção de metadados record_lvs_history no arquivo de configuração lvm.conf. Isto permite que você exiba uma cadeia completa de dependência thinshot que inclui volumes lógicos que foram removidos da cadeia de dependência original e que se tornaram historical volumes lógicos.
Você pode configurar seu sistema para reter volumes históricos por um período de tempo definido especificando o tempo de retenção, em segundos, com a opção lvs_history_retention_time metadados no arquivo de configuração lvm.conf.
Um volume lógico histórico mantém uma representação simplificada do volume lógico que foi removido, incluindo os seguintes campos de relatório para o volume:
-
lv_time_removed: o tempo de remoção do volume lógico -
lv_time: o tempo de criação do volume lógico -
lv_name: o nome do volume lógico -
lv_uuid: a UUID do volume lógico -
vg_name: o grupo de volume que contém o volume lógico.
Quando um volume é removido, o nome histórico lógico do volume adquire uma hipen como prefixo. Por exemplo, quando se remove o volume lógico lvol1, o nome do volume histórico é -lvol1. Um volume lógico histórico não pode ser reativado.
Mesmo quando a opção de metadados record_lvs_history estiver ativada, você pode evitar a retenção de volumes lógicos históricos em uma base individual ao remover um volume lógico especificando a opção --nohistory do comando lvremove.
Para incluir volumes lógicos históricos na exibição do volume, você especifica a opção -H|--history de um comando de exibição LVM. Você pode exibir uma cadeia completa de dependência fina que inclui volumes históricos, especificando os campos lv_full_ancestors e lv_full_descendants, juntamente com a opção -H.
A série de comandos a seguir fornece exemplos de como você pode exibir e gerenciar volumes lógicos históricos.
-
Assegure-se de que os volumes históricos lógicos sejam retidos, definindo
record_lvs_history=1no arquivolvm.conf. Esta opção de metadados não é ativada por padrão. Digite o seguinte comando para exibir uma fina cadeia de imagens provisionadas.
Neste exemplo:
-
lvol1é um volume de origem, o primeiro volume da cadeia. -
lvol2é um instantâneo delvol1. -
lvol3é um instantâneo delvol2. -
lvol4é um instantâneo delvol3. lvol5é também um instantâneo delvol3.Observe que, embora o comando de exibição do exemplo
lvsinclua a opção-H, ainda não foi removido nenhum volume fino e não há volumes lógicos históricos a serem exibidos.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Remova o volume lógico
lvol3da cadeia de instantâneos, depois execute novamente o seguinte comandolvspara ver como os volumes lógicos históricos são exibidos, juntamente com seus antepassados e descendentes.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Você pode usar o campo
lv_time_removedpara exibir a hora em que um volume histórico foi removido.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Você pode fazer referência a volumes lógicos históricos individualmente em um comando de exibição, especificando o formato vgname/lvname, como no exemplo a seguir. Observe que o quinto bit no campo
lv_attrestá configurado parahpara indicar que o volume é um volume histórico.lvs -H vg/-lvol3 LV VG Attr LSize -lvol3 vg ----h----- 0
# lvs -H vg/-lvol3 LV VG Attr LSize -lvol3 vg ----h----- 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow A LVM não mantém volumes lógicos históricos se o volume não tiver descendente vivo. Isto significa que se você remover um volume lógico no final de uma cadeia de instantâneos, o volume lógico não é retido como um volume lógico histórico.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Execute os seguintes comandos para remover o volume
lvol1elvol2e para ver como o comandolvsexibe os volumes uma vez que eles foram removidos.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Para remover completamente um volume lógico histórico, você pode executar novamente o comando
lvremove, especificando o nome do volume histórico que agora inclui o hífen, como no exemplo a seguir.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Um volume histórico lógico é retido enquanto houver uma cadeia que inclua volumes vivos em seus descendentes. Isto significa que a remoção de um volume lógico histórico também remove todos os volumes lógicos da cadeia se nenhum descendente existente estiver ligado a eles, como mostrado no exemplo a seguir.
lvremove -f vg/lvol4 Automatically removing historical logical volume vg/-lvol1. Automatically removing historical logical volume vg/-lvol2. Automatically removing historical logical volume vg/-lvol4. Logical volume "lvol4" successfully removed
# lvremove -f vg/lvol4 Automatically removing historical logical volume vg/-lvol1. Automatically removing historical logical volume vg/-lvol2. Automatically removing historical logical volume vg/-lvol4. Logical volume "lvol4" successfully removedCopy to Clipboard Copied! Toggle word wrap Toggle overflow