我正在创建一个 NAS,并且对不同的 SSD 缓存进行了大量研究。我有一个 120gb 的 SSD,对于操作系统来说已经足够了,所以我想将其中的大部分用作 md raid5 阵列的缓存。在进行此设置之前,我想知道如果 SSD 缓存发生故障会发生什么?我不想花额外的钱来镜像 SSD 缓存。
我还有一些旧的 30gb ocz vertex(很久以前来自 RMA 但从未重复使用过),它们是一堆垃圾,但如果 bcache 可以接受 ssd 缓存丢失,则可以用作缓存。
如果 bcache 无法做到这一点,那么他们的其他 ssd 缓存选项是否可以?我读到 ZFS 可以接受缓存驱动器发生故障,并仅通过驱动器继续正常运行,但它似乎不是持久性的,而且 raidz 不如 md raid 灵活(更改 raid 类型和扩大 raid)。我想我可以在 md raid 上使用 ZFS,但这似乎是多余的,而且我过去使用 XFS/md raid 设置已有多年良好的经验(性能良好,在无数次电源故障中没有出现问题)。
tl;dr 构建 NAS,希望使用 SSD 缓存,担心 SSD 故障的影响
答案1
根据kernel.orgs 文档根据我的研究,默认情况下,它仅使用 bcache 作为读取缓存。因此写入不会更快,因为它总是写入较慢的磁盘。
因此,由于只有经常读取的数据的副本,因此如果您移除 ssd,您不会丢失任何数据。
如果启用写回:
echo writeback > /sys/block/bcache0/cache_mode
如果 SSD 发生故障,您将丢失数据,因为它首先将数据写入快速 SSD,然后将其移动到硬盘驱动器。
与往常一样 - 如果数据对您很重要,则必须进行备份。