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

Btfs 稳定性

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

    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   ·   实用小工具   ·   5414 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:24 · PVG 15:24 · LAX 23:24 · JFK 02:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.