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

btrfs raid1 是不是不具备可用性?

  •  
  •   kyonn · 46 天前 · 1218 次点击
    这是一个创建于 46 天前的主题,其中的信息可能已经有所发展或是发生改变。

    查了些资料, btrfs raid1 特性本身已经达到稳定状态, 但是不能跟 nocow 配合使用(异常 case 数据会损坏). 问题是 cow 碰到数据库或者 vm 性能就会非常差, 推荐做法就是关闭 cow.

    难不成用 btrfs raid1 的就不用数据库了? 那局限性也太大了. 还是说顶着 cow 上数据库,但是每天 balance?

    再加上 btrfs 的 raid1 跟 madam 还不一样, 只是保证数据在 2 个盘都有,不是镜像的概念, 如果一个盘挂了, 必须先 降级挂载才能恢复, 感觉 raid 的好处半点没捞着, 除了校验和能提前发现文件系统问题外, 感觉一无是处了.

    先做 madam raid1,再在上面用 /dev/md0 做 btrfs 感觉更复杂了, 可不可靠也不知道.

    ps: 只讨论 raid 的服务可持续, 备份由其他机制完成.

    12 条回复    2025-07-19 22:47:23 +08:00
    busier
        1
    busier  
       46 天前 via Android
    md 是一个很成熟的方案 怎么就不敢用了
    kyonn
        2
    kyonn  
    OP
       46 天前
    @busier 不确定 md 搭配 btrfs 有没有坑. md 搭配 ext4 当然很成熟了.
    busier
        3
    busier  
       46 天前 via Android
    在文件系统视角 不管看 md ,还是分区,还是裸磁盘都是块设备而已 没区别的

    但是 md 终究没有 btrfs 内置的 raid 灵活

    首选 btrfs 内置 raid1 (但不推荐更高级别的 raid )

    但是你的需求需要 md+btrfs 也是没问题
    msg7086
        4
    msg7086  
       45 天前
    数据库可以不用 btrfs 啊。很多系统会偏向使用单独的 db server 。
    我司是 btrfs 重度用户,不过我们也不用 btrfs 内建 RAID ,都是下层分布式块存储,上面直接开 basic btrfs 。
    你不考虑一下 zfs 吗? zfs on linux 也不错的。
    YsHaNg
        5
    YsHaNg  
       45 天前 via iPhone
    保证两个盘都有不比镜像更好吗
    kyonn
        6
    kyonn  
    OP
       45 天前 via Android
    @busier 从分层角度看没错的,实际两者总有个配合问题,查找资料过程也发现即使 btrfs raid 和裸磁盘搭配,也有个时钟问题需要保证的。分层总可能有不理想的情况会产生些许耦合。

    似乎群晖的 raid 就是 mdam raid+btrfs 的形式,如果有大量的实践过就能放心一些。
    kyonn
        7
    kyonn  
    OP
       45 天前
    @msg7086 没那么大规模, 单独 db server 不太现实.

    我司是 btrfs 重度用户,不过我们也不用 btrfs 内建 RAID ,都是下层分布式块存储,上面直接开 basic btrfs 。
    你不考虑一下 zfs 吗? zfs on linux 也不错的。
    -- 那你们公司跟 cow 冲突的业务(比如 db/vm)是在分布式块存储的基础上开 basic btrfs + 禁用 cow ? 还是直接用了其他文件系统? 还是顶着 cow 用, 定期做碎片整理?


    zfs on linux 没用过, 不熟悉, 之前了解到的唯一缺点是不方便扩容? 必须一次性把存储规模定下来建好?
    kyonn
        8
    kyonn  
    OP
       45 天前
    @YsHaNg 镜像的话掉了一块还能继续用的, btrfs 那种方式挂了一块, 必须停机修复, 就失去了 raid 的作用. 不过了解到
    YsHaNg
        9
    YsHaNg  
       45 天前 via iPhone
    @kyonn 我印象里可以 online rebalance 转换成 single 可以继续用
    msg7086
        10
    msg7086  
       44 天前
    @kyonn 我司 db server 是单独的机子,btrfs 上只放普通文件。
    kyonn
        11
    kyonn  
    OP
       44 天前 via Android
    @msg7086 了解了,我试试 zfs 。
    kyonn
        12
    kyonn  
    OP
       44 天前 via Android
    @YsHaNg 了解了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2563 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:23 · PVG 23:23 · LAX 08:23 · JFK 11:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.