请教下 btrfs 搭配 bcache 的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
kyonn
V2EX    程序员

请教下 btrfs 搭配 bcache 的问题

  •  
  •   kyonn 2025 年 4 月 3 日 1804 次点击
    这是一个创建于 296 天前的主题,其中的信息可能已经有所发展或是发生改变。

    搜索了下, 发现必须把原有机械硬盘和 ssd 重新格式化为 bcache 格式的 data 和 cache 才行, 再在 bcache 格式的块设备上建立 btrfs 文件系统.

    如果直接在机械硬盘上建立 btrfs 文件系统, 利用 btrfs add/replace 工具, 支持新增/替换硬盘, 加上 bcache 后有几个问题:

    1. 如果要新增, 替换硬盘, 是不是只要把 btrfs add/replace 的命令对象从 /dev/sda 这种机械硬盘块设备换成 /dev/bcache0 就可以了.

    2. 如果 bcache 使用读缓存模式, 在某天 ssd 坏了后, 是不是取消 echo f0e01318-f4fd-4fab-abbb-d76d870503ec > /sys/block/bcache0/bcache/attach 这个绑定缓存的命令, 就能让 bcache 下的 btrfs 机械硬盘继续工作(换句话说, bcache data 是否支持无缓存工作)?

    3. 更换 ssd 后, 是不是重新绑定又能再次启用读缓存? 是否需要修复什么旧数据?

    4. 如果部分机械硬盘用 bcache 建立 data, 部分还是直接裸盘, 这种混合的 btrfs raid 有没有什么风险?

    5. bcache 读缓存模式加速机械硬盘收益如何, 有没有别的坑会导致数据损坏或丢失, 提高了修复难度, 反而得不偿失?

    bcache 参考链接: https://wiki.archlinux.org/title/Bcache

    第 1 条附言    2025 年 4 月 10 日
    新硬盘启用了 write through 模式的 bcache 缓存, 暂时没发现问题.
    5 条回复    2025-04-06 20:36:05 +08:00
    zcl0621
        1
    zcl0621  
       2025 年 4 月 3 日
    hmm ,三年前弄的 pve 集群,说实话有点忘了,说的不对请见谅

    1,2,3 没法回答,忘干净了

    4. 我印象中我们做了实验,没有什么收益,吞吐量反而降低了,最后方案用的一块 pciessd 做的 bcache ;如果把 ssd 做写缓存的话,可能会存在 ssd<->hdd 数据不一致的问题

    5. 有收益,但不大,我记得是能保证 4k 的读取来着,具体测试结果我忘干净了,后面新加机器还是走的这套方案
    xlingshi64
        2
    xlingshi64  
       2025 年 4 月 3 日
    1. 是
    新发行版用 btrfs replace 命令可以替换磁盘,老发行版用 btrfs add 、delete

    2. 是,bcache 支持无缓存模式,也即是单纯建立 hdd 的 bcache 设备,而没有 cache 设备。

    3. 读缓存,不需要修复,detach 后重新 attach ,会重新建立缓存。
    kyonn
        3
    kyonn  
    OP
       2025 年 4 月 3 日
    @zcl0621

    问 4 主要是因为有部分老数据的机械硬盘不想动它, 如果要绑定 bcache 又要重新格式化倒腾数据, 只想把新增的硬盘加入 bcache. 目前只打算用读缓存.
    吞吐量下降是怎么个说法呢? 哪种方案对比哪种方案吞吐量下降了? 如果能详细点说明就更好了, 感谢.
    kyonn
        4
    kyonn  
    OP
       2025 年 4 月 3 日
    @xlingshi64 好的, 非常感谢, 这 3 个问题确认了的话, 用 bcache 感觉就没太大风险.
    zcl0621
        5
    zcl0621  
       2025 年 4 月 6 日
    @kyonn #3 记不得了。。 所以我们搞了三种磁盘,纯 ssd ssd+hdd 纯 hdd , 具体 ssd+hdd 是哪种比较低我忘干净了。。。时间有点久了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1385 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 17:12 PVG 01:12 LAX 09:12 JFK 12:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86