在 SSD 和 HDD 上配置 mdadm RAID-1

在 SSD 和 HDD 上配置 mdadm RAID-1

我需要在一个 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 PQsd 层提及。

答案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 也会看到足够的修剪区域。

相关内容