我需要在一个 SSD 和一个 HDD 上配置 RAID-1。 SSD 和 HDD 都有一些预装的软件,我不需要这些软件,所以如果有任何优势的话,两者都可以完全擦除。
到目前为止,我的研究让我找到了这个--write-mostly
选项,我知道我应该在 HDD 上使用该选项,这样读取操作将获得 SSD 的全速。
但我不清楚如何确保 TRIM 命令正确使用。
我读到了有关 mdadm 在设置过程中写入设备每个扇区的警告,无论在设置 raid 之前执行任何 TRIM,SSD 都没有备用扇区。
我是否最好先创建降级的 RAID,将 SSD 作为唯一设备,然后添加 HDD,这样就只有 HDD 被写入?
在设置 RAID 之前,我需要对 SSD 做什么,以便执行所需的 TRIM? SSD已经预装了软件(我不需要),这意味着我不知道之前已经写入了哪些扇区。
如果有任何相关性,SSD 为 128GB,并且在 dmesg 输出中SAMSUNG MZ7LF128HCP-00000, FXT0101Q
由 ata 层和SAMSUNG MZ7LF128 101Q PQ
sd 层提及。
答案1
只是使用--assume-clean
,甚至不首先同步。
创建 RAID 后,您要做的第一件事就是mkfs
……mkfs
默认情况下会进行 TRIM,甚至无需询问(除非您使用-E nodiscard
或类似的),而且您的 RAID 同步此时已经消失了。
基本上,只要 TRIM 只影响一侧,就不可能保持混合 SSD+HDD RAID 同步。即使使用SSD+SSD RAID,如果SSD型号不同或分区偏移量不同,TRIM也可能会导致差异。
只要它只影响“可用空间”,就不是问题。实际数据本身仍然是同步的,因此提供了冗余。
如果 SSD 发生故障或者您决定稍后用另一个 SSD 替换 HDD,那么您就可以在 SSD 上获得完全同步,因为这是md
知道如何做事情的唯一方法。md
不记录 TRIM 命令,从而记住“空闲”区域以加速同步;它也不够智能,无法修剪(从而清零)目标 SSD 并仅写入非零数据。也许当 SSD 变得更加普遍时,将添加此类功能以加快重新同步速度。
即便如此,你也不应该太担心。 TRIM 是一项长期措施,您的文件系统在常规使用期间会看到 TRIM,因此随着时间的推移,即使完全写入的 SSD 也会看到足够的修剪区域。