O útil blkdiscard
Todo mundo conhece o
Digamos que temos uma partição e que desejamos apagar sua área por completo. Tradicionalmente, usaríamos algo como:
Contudo, com SSDs, existe uma forma mais rápida e prática:
Esse comando usa a requisição BLKDISCARD da chamada de sistema
Ou seja,
Mesmo com HDDs, pode ser útil em certos casos[2], pois com a opção
Com
Versão mínima requerida do kernel é 2.6.28 (BLKDISCARD) e 3.7 (BLKZEROOUT) e a ferramenta existe desde a versão 2.23 da suíte util-linux.
[1] Infelizmente, não é todo SSD que garante setores zerados depois de TRIM. A saída é usar
[2] Não recomendo rodá-lo em áreas grandes demais, maiores do que alguns gigabytes, de discos rígidos. Enquanto a chamada de sistema não retornar, o processo fica no estado uninterruptible sleep e não pode ser terminado manualmente.
fstrim
, que instrui o sistema de arquivos a avisar ao SSD quais blocos não está mais usando.Digamos que temos uma partição e que desejamos apagar sua área por completo. Tradicionalmente, usaríamos algo como:
# dd if=/dev/zero of=/dev/sdxy bs=4k
Contudo, com SSDs, existe uma forma mais rápida e prática:
# blkdiscard -v /dev/sdxy
Esse comando usa a requisição BLKDISCARD da chamada de sistema
ioctl()
e nos entrega a área que compreende a partição /dev/sdxy
zerada[1]. Por usar o comando ATA TRIM, é rápido. Não funciona com discos rígidos. Neles, o kernel retorna erro e o comando avisa que não há suporte.Ou seja,
blkdiscard
é análogo ao fstrim
, porém trabalha no nível do dispositivo de bloco, não do sistema de arquivos. Pode ser usado no disco inteiro também (/dev/sdx
).Mesmo com HDDs, pode ser útil em certos casos[2], pois com a opção
-z
(--zeroout
) faz o mesmo que o dd
faria:# blkdiscard -z -v /dev/sdxy
blkdiscard -z
usa a requisição BLKZEROOUT da chamada de sistema ioctl()
.Com
-v
, mostra um sumário ao término do processo.Versão mínima requerida do kernel é 2.6.28 (BLKDISCARD) e 3.7 (BLKZEROOUT) e a ferramenta existe desde a versão 2.23 da suíte util-linux.
[1] Infelizmente, não é todo SSD que garante setores zerados depois de TRIM. A saída é usar
blkdiscard -z
ou continuar com o dd
.[2] Não recomendo rodá-lo em áreas grandes demais, maiores do que alguns gigabytes, de discos rígidos. Enquanto a chamada de sistema não retornar, o processo fica no estado uninterruptible sleep e não pode ser terminado manualmente.
Comentários
Postar um comentário