Eu uso thinvolumes LVM para inicializar vários computadores em rede via iSCSI. De vez em quando eu libero espaço nessas máquinas. Infelizmente, esse espaço não é liberado nos volumes finos. Então eu faço partclone
as partições de vez em quando, para liberar espaço. Na virtualização, você pode usar ferramentas que zeram o espaço não utilizado, o que o libera. Existe uma maneira semelhante ou melhor de recuperar espaço com pools finos/volumes finos do LVM?
desde já, obrigado
Responder1
LVM thin suporta DISCARD, mais conhecido como TRIM. Teoricamente, deveria ser possível fazer isso funcionar de alguma forma com o iSCSI (há um comando UNMAP equivalente), mas não encontrei nada sobre isso.
Na máquina que hospeda esses volumes, você pode usar fstrim
para liberar espaço livre. A página de manual até menciona isso explicitamente:
fstrim é usado em um sistema de arquivos montado para descartar (ou "cortar") blocos que não estão em uso pelo sistema de arquivos. Isso é útil para unidades de estado sólido (SSDs) e armazenamento com provisionamento dinâmico.
Para que isso funcione, o Linux precisa de suporte para o sistema de arquivos e esse suporte precisa incluir TRIM. Se os seus computadores inicializados em rede executam o Windows, provavelmente é NTFS. Aparentemente, o NTFS-3G suporta TRIM.
fstrim
opera apenas em sistemas de arquivos montados.
Será assim:
Atualizar: Conforme discutido nos comentários, o Linux SCSI Target oferece um sinalizador em seus backstores de bloco que identifica SSDs: is_nonrot
. Ele também suporta o comando UNMAP SCSI. O Windows (pelo menos o Windows 10) detecta corretamente SSDs sobre iSCSI e emite comandos UNMAP, liberando imediatamente espaço não utilizado.