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
.