「SSD」- TRIM

  CREATED BY JENKINSBOT

TRIM vs. Secure Earse

blkdiscard vs hdparm for erasing a SSD?
Triming as alternative to securely erasing a SSD

blkdiscard 发送 ATA TRIM 命令,而 Secure Earse 发送 ATA SECURITY ERASE 命令。在底层中,两者的具体行为,仍旧取决于厂商的实现。

另外,某些设备对 TRIM 操作有所要求,当满足要求之后,数据才能被清零。否则,blkdiscard 不见得会将磁盘清理干净(Triming as alternative to securely erasing a SSD

实施 TRIM 操作(for Linux)

ext4 – How do I check TRIM? – Unix & Linux Stack Exchange
Solid state drives in Linux: Enabling TRIM for SSDs | Opensource.com
Proxmox with LVM-thin and why we should use Trim-Discard.MD

实践环境总是复杂的,我们需要针对多种环境(裸机、虚拟化)进行讨论。

检查是否支持 TRIM 操作

// 留意 DISC-MAX 字段,若其 !=0,则支持 TRIM 操作;

# lsblk -D
NAME   DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda           0        4K       1G         0
sdb           0        0B       0B         0

针对 Linux 裸机

// -------------------------------------------------------- // 针对 SSD 进行 TRIM 操作;

# fstrim / -v

// -------------------------------------------------------- // 开启 TRIM 支持;

# mount -t ext4 -o discard /dev/sda2 /mnt

blkdircard
Linux manual page/blkdiscard(8)

Linux as Guest

Note that Discard on VirtIO Block drives is only supported on guests using Linux Kernel 5.0 or higher.

当添加设备时:
1)如果 Bus/Device 使用 VirtIO Block 驱动,要确保勾选 discard 支持;
2)此时,硬盘在 Linux 中将显示为 /dev/vdx 设备;
3)同时 Guest 的 Linux Kernel version >= 5.0;

参考文献

SSDOptimization – Debian Wiki