É possível recarregar o lvm.conf sem reiniciar?

0

Eu ativei o arquivo issue_discards in lvm.conf na máquina com ssd e gostaria de executar blkdiscard em um dos volumes lógicos. Posso fazer isso sem reiniciar a máquina? Consigo desmontar o volume físico junto com todos os volumes lógicos armazenados neste ssd em particular, mas prefiro evitar a reinicialização do sistema.

    
por Lapsio 27.02.2018 / 08:47

1 resposta

1

De acordo com os comentários padrão no meu lvm.conf , a opção issue_discards controla apenas o que acontece com o espaço liberado quando você executa lvreduce ou lvremove , nada mais:

# Configuration option devices/issue_discards.
# Issue discards to PVs that are no longer used by an LV.
# Discards are sent to an LV's underlying physical volumes when the LV
# is no longer using the physical volumes' space, e.g. lvremove,
# lvreduce. 

É confirmado por esta mensagem na lista de discussão linux-lvm por Mike Snitzer da RedHat :

lvm.conf's issue_discards doesn't have any affect on the kernel (or underlying device's) discard capabilities. It only controls whether discards are issued by lvm for certain lvm operations (like when an LV is removed).

Portanto, se o SSD subjacente oferecer suporte a TRIM ou outro método de descarte de dados, você poderá usar blkdiscard nele ou qualquer valor LV colocado nele.

Em outras palavras, se você habilitar issue_discards , poderá obter o descarte do conteúdo de um LV de duas maneiras:

  • execute blkdiscard no LV. Exemplo:

# lvcreate -L 1g vg00 Logical volume "lvol6" created. # blkdiscard -v /dev/vg00/lvol6 /dev/vg00/lvol6: Discarded 1073741824 bytes from the offset 0

  • use apenas lvremove e o LVM faz o descarte para você. Você não precisa fazer nada de especial para que a configuração tenha efeito.

[issue_discards initially disabled] # lvremove /dev/vg00/lvol6 Do you really want to remove active logical volume vg00/lvol6? [y/n]: y Logical volume "lvol6" successfully removed # vi /etc/lvm/lvm.conf [set issue_discards to enabled] # lvcreate -L 1g vg00 Logical volume "lvol6" created. # lvremove /dev/vg00/lvol6 Do you really want to remove and DISCARD active logical volume vg00/lvol6? [y/n]: y Logical volume "lvol6" successfully removed

Observe o ... and DISCARD ... adicionado na mensagem do comando lvremove .

    
por 27.02.2018 / 09:23