搜索了下, 发现必须把原有机械硬盘和 ssd 重新格式化为 bcache 格式的 data 和 cache 才行, 再在 bcache 格式的块设备上建立 btrfs 文件系统.
如果直接在机械硬盘上建立 btrfs 文件系统, 利用 btrfs add/replace 工具, 支持新增/替换硬盘, 加上 bcache 后有几个问题:
如果要新增, 替换硬盘, 是不是只要把 btrfs add/replace 的命令对象从 /dev/sda 这种机械硬盘块设备换成 /dev/bcache0 就可以了.
如果 bcache 使用读缓存模式, 在某天 ssd 坏了后, 是不是取消 echo f0e01318-f4fd-4fab-abbb-d76d870503ec > /sys/block/bcache0/bcache/attach
这个绑定缓存的命令, 就能让 bcache 下的 btrfs 机械硬盘继续工作(换句话说, bcache data 是否支持无缓存工作)?
更换 ssd 后, 是不是重新绑定又能再次启用读缓存? 是否需要修复什么旧数据?
如果部分机械硬盘用 bcache 建立 data, 部分还是直接裸盘, 这种混合的 btrfs raid 有没有什么风险?
bcache 读缓存模式加速机械硬盘收益如何, 有没有别的坑会导致数据损坏或丢失, 提高了修复难度, 反而得不偿失?
bcache 参考链接: https://wiki.archlinux.org/title/Bcache
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.