Btfs 稳定性 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
wudaown
V2EX    Linux

Btfs 稳定性

  •  
  •   wudaown 2017-05-13 03:12:07 +08:00 11357 次点击
    这是一个创建于 3074 天前的主题,其中的信息可能已经有所发展或是发生改变。

    SSD 跑在 ext4 上面,讲道理我是感觉不出什么速度慢之类的。关于寿命就更不担心了,比较消耗品而且有备份。

    不过看到 btfs 的 copy on write 实在手痒。那么问题来了。

    v2 有大佬用的 btfs 么?来说说日常稳定性吧。

    我先说一下个人感觉,btfs 已经很久了。synology 的 nas 上面也已经可选 btfs 了。个人认为作为个人用系统完全没有问题的。

    谢谢了

    48 条回复    2017-06-12 16:27:16 +08:00
    lydasia
        1
    lydasia  
       2017-05-13 03:18:20 +08:00   2
    *btrfs
    Andiry
        2
    Andiry  
       2017-05-13 03:25:18 +08:00
    Copy on write 只会增加 SSD 写量而已,有什么实际意义么?还是说你极其在乎写数据的原子性?

    稳定性不清楚,反正我在 ramdisk 上做性能测试,btrfs 基本上被 ext4 和 xfs 秒杀。
    ryd994
        3
    ryd994  
       2017-05-13 04:05:55 +08:00 via Android
    不需要文件系统去做写入均衡,开 discard 固件会自动帮你做的
    btrfs 且不说性能一直不行,我前年还丢过数据
    cow 对你真的有用么? data=journal 也可以实现同等级别的一致性
    myliyifei
        4
    myliyifei  
       2017-05-13 04:21:50 +08:00 via Android
    @ryd994 ext4 怎么做 snapshot ?
    ryd994
        5
    ryd994  
       2017-05-13 04:27:02 +08:00 via Android
    aheadlead
        6
    aheadlead  
       2017-05-13 08:09:55 +08:00
    @ryd994 ext4 做 snapsnot 是全盘拷贝一遍吗?
    jimzhong
        7
    jimzhong  
       2017-05-13 08:41:37 +08:00
    有一朋友用 BTRFS 整个分区崩了。
    VYSE
        8
    VYSE  
       2017-05-13 10:04:21 +08:00
    卡,真的卡,SSD 可能感觉不出来,老电脑机械盘读写上百 M 的用了 btrfs,apt 安装多大多小的包 10 秒起步.
    压缩等优化全开没卵用,rsync root 到 xfs 飞起.
    liwei
        9
    liwei  
       2017-05-13 10:22:21 +08:00
    我司的 btrfs 开发者对 btrfs 都说没有太大信心 :)
    windfarer
        10
    windfarer  
       2017-05-13 10:24:20 +08:00 via Android
    mritd
        11
    mritd  
       2017-05-13 10:30:07 +08:00 via iPhone
    自用小主机,意外停电,所有文件丢失……多了我不说,你就自己想把
    jarlyyn
        12
    jarlyyn  
       2017-05-13 10:33:59 +08:00 via Android
    Btrfs 空间满会有各种各样的问题。

    不需要做快照的话没必要用。
    xuan880
        13
    xuan880  
       2017-05-13 11:03:56 +08:00 via Android
    lvm 加上 ext4 可以实现镜像功能。
    hjc4869
        14
    hjc4869  
       2017-05-13 11:08:48 +08:00 via Android
    用 xfs
    circsqua
        15
    circsqua  
       2017-05-13 11:12:40 +08:00
    除了 btrfs 外还有什么办法可以轻易增减硬盘,想存储池一样?
    reus
        16
    reus  
       2017-05-13 12:06:51 +08:00
    @circsqua lvm,zfs 都可以。btrfs 是后生了
    Laforet
        17
    Laforet  
       2017-05-13 12:10:39 +08:00
    BTRFS 最近几个版本感觉稳定性好多了,可以用
    aip
        18
    aip  
       2017-05-13 12:25:41 +08:00
    对了,搭车问一下,xfs 断电后不需要修复的么?我从来没看到过断电重启后的自动修复进程,启动完后貌似也没发现有后台修复进程。
    Reficul
        19
    Reficul  
       2017-05-13 12:41:49 +08:00 via Android
    @windfarer docker 在 btrfs 上会创建大量的 subvolume,然后 btrfs 貌似有个支持上限,到了就全盘只读。应为这个一年炸了两次了
    Andiry
        20
    Andiry  
       2017-05-13 13:01:33 +08:00
    @aip Journaling file system 就是起来之后 replay 一下 journal 就好了,一般不会用到 fsck
    phx13ye
        21
    phx13ye  
       2017-05-13 13:12:49 +08:00
    btrfs fi df /
    可以看到三个区域 data system metadata,有一次 metadata 满了,要自己手动扩容,就感觉这个超级不智能

    这个家伙很懒,其他特性没怎么用过
    phx13ye
        22
    phx13ye  
       2017-05-13 13:17:27 +08:00
    @Reficul 然后咋子办哟?瑟瑟发抖
    ```
    ~ sudo btrfs subvolume show /
    /
    Name: <FS_TREE>
    UUID: -
    Parent UUID: -
    Received UUID: -
    Creation time: -
    Subvolume ID: 5
    Generation: 140298
    Gen at creation: 0
    Parent ID: 0
    Top level ID: 0
    Flags: -
    Snapshot(s):
    var/lib/machines
    var/lib/docker/btrfs/subvolumes/41f534e74160b2ba5a20365147509c8d5887798415bc192edaa08230ab40e4e2
    var/lib/docker/btrfs/subvolumes/b7dff9b8cb978686b1adad5c611fa11a231a422bfc9177ef9eca0a397f60a9ac
    var/lib/docker/btrfs/subvolumes/040e5370ad966f726a8c68887183727005288e0d1860df93f3ac645eaac8a2e2
    var/lib/docker/btrfs/subvolumes/3a8da73981b5d8abc5bf0e37ed6602222a91446ba645671c9a3b5e3ad6551b9e
    var/lib/docker/btrfs/subvolumes/288607bd3959cfae0dec2fe6565602d9841f7d31609336a82df7ca099cebf416
    var/lib/docker/btrfs/subvolumes/ef963e90f95d49d0810fea70a9cf593ba4a1daba5b4d4dc6fa07b84702d66f8d
    ```
    Reficul
        23
    Reficul  
       2017-05-13 15:05:19 +08:00 via Android
    @phx13ye 然后只能删掉那些 sub volume 啊,简单做法就是把挂在 /var/docker 下面的都干掉。图形是进不去了,shell 貌似还可以用。
    onion83
        24
    onion83  
       2017-05-13 15:39:00 +08:00
    BTRFS 分区爆过+1
    Havee
        25
    Havee  
       2017-05-13 16:32:55 +08:00
    wxg4net
        26
    wxg4net  
       2017-05-13 16:52:19 +08:00
    我今年一直使用 btrfs,发生过一次惊险。总体来说,可用,但是没有 ext4 放心。http://t.cn/Rao3kqu
    aip
        27
    aip  
       2017-05-13 16:54:39 +08:00
    @wxg4net ext4 断电后明显会导致 fsck,而 xfs 不会。。。
    54c3
        28
    54c3  
       2017-05-13 17:36:36 +08:00
    定性:有就有

    忍不住想玩就去玩,提前知道文件系 collapse 不也正好督促自己做好份?

    我曾重地玩崩次,每次都大,弄得整系都要重,不好在份都做得不。後,後就不敢玩了。OP 猜也是不被坑次一直忍不住想玩,是人便告句就能住的?
    HowardMei
        29
    HowardMei  
       2017-05-13 18:07:00 +08:00 via Android
    @Reficul /var/docker 下的都干掉?用那个 docker-gc 工具还不够吗?涩涩发抖中,docker 的坑真多
    HowardMei
        30
    HowardMei  
       2017-05-13 18:08:51 +08:00 via Android
    @reus zfsonlinux 不是不太稳定吗?
    momocraft
        31
    momocraft  
       2017-05-13 18:26:59 +08:00
    whatot
        32
    whatot  
       2017-05-13 18:40:47 +08:00
    清理 docker,现在有现成的命令吧,不需要手动删吧?
    docker system prune
    axb
        33
    axb  
       2017-05-13 18:55:30 +08:00
    测试机上测过一段 btrfs,平时还好,空间快满的时候让我整个人都怀疑人生了……
    yangxuan8282
        34
    yangxuan8282  
       2017-05-13 19:05:03 +08:00 via iPhone
    有人用 f2fs 吗,按说闪存类存储适合这个格式,不过我用 hdparm 测试并没有比 ext4 有明显提升
    zuolan
        35
    zuolan  
       2017-05-13 19:11:59 +08:00
    长期 btrfs 路过,SSD,因为系统备份方便很多就一直用下来了,磁盘满了? Linux 没那么容易满。速度问题?真心感觉不出来有太大区别(除非你真的在乎那么几百毫秒)。
    reus
        36
    reus  
       2017-05-13 19:28:39 +08:00
    @HowardMei btrfs 出过错,上面很多朋友也说了有过。但 zfs 用了几年,没有出过问题。
    Reficul
        37
    Reficul  
       2017-05-13 20:00:33 +08:00 via Android
    @HowardMei 应该是删掉足够多的 subvolume 就可以了。问题是 docker 那会已经起不来了,没用过 docker gc 工具,如果是依赖 docker daemon 的话,估计不行。
    Reficul
        38
    Reficul  
       2017-05-13 20:04:03 +08:00 via Android
    @whatot 这个命令在 1.13 才有,而且依赖 docker daemon。磁盘只读的时候 daemon 是起不来的。 最简单的就是用楼上那个 nuke 脚本。
    VYSE
        39
    VYSE  
       2017-05-13 20:12:33 +08:00 via Android
    @yangxuan8282 用过,快是快,但出问题数据就麻烦了
    momocraft
        40
    momocraft  
       2017-05-13 20:29:15 +08:00
    我只在自己的开发机 (ssd, arch) 用 btrfs, 主要是图 snapshot 方便, 目前还没爆过
    raptor
        41
    raptor  
       2017-05-14 00:15:32 +08:00
    用着 FreeBSD+ZFS 等了六七年还是没能等到 Linux 上好 用的东西 啊……
    ryd994
        42
    ryd994  
       2017-05-14 00:23:40 +08:00 via Android
    ryd994
        43
    ryd994  
       2017-05-14 00:25:03 +08:00 via Android
    @aip #27 xfs 是不会 snapshot,但不是不会出错啊
    断电会出一堆空文件
    mml
        44
    mml  
       2017-05-14 03:15:25 +08:00
    用了 5 年以上,挂掉无数次,继续用着 ext4 等下一个文件系统吧。
    sh1t0nu
        45
    sh1t0nu  
       2017-05-15 22:43:38 +08:00
    BTRFS 我用了三个月就换了

    当时是分区满了 找不出原因...
    okudayukiko0
        46
    okudayukiko0  
       2017-05-18 00:50:26 +08:00 via iPhone
    开发文件系统一点也不简单,EXT4 是 06 年释出,08 年才释出稳定版,10 年才加入 RHEL6
    zhangckid
        47
    zhangckid  
       2017-05-23 23:29:33 +08:00
    @liwei 哈哈哈~qu 神已转行~~
    icesof
        48
    icesof  
       2017-06-12 16:27:16 +08:00
    @yangxuan8282
    两点供参考,
    1. 一个文件系统需要 10 年才能稳定,出处大概是 ZFS。对 APFS 的一个很大的赞扬是他们把这个时间大大缩短了
    2. F2FS 是三星的提出来的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2188 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 00:43 PVG 08:43 LAX 17:43 JFK 20:43
    Do have faith in what you're doing.
    ubao 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