想知道应该用 LVM 还是 ZFS? 以及最佳实践 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
dangyuluo
V2EX    Linux

想知道应该用 LVM 还是 ZFS? 以及最佳实践

  •  
  •   dangyuluo 2021-12-03 00:33:10 +08:00 7100 次点击
    这是一个创建于 1490 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前一直没有折腾过系统分区,所有文件安装在同一块硬盘上,最大,但是经历过一次硬盘损坏数据部分丢失后感觉开发电脑还是要配置 RAID1 。 我的应用场景其实不是很复杂,一块 NVME 打算做系统盘,一块 SATA SSD 挂载到 Docker 目录下(因为实在是太大了),两块 SATA SSD 打算做 Raid1 ,挂载到/home/<my name>.目录。似乎 LVM 和 ZFS 都可以胜任。

    请问大家有没有经验,这种情况下应该采用哪种模式比较合适呢?还是说两种模式混合使用。

    17 条回复    2021-12-09 14:06:03 +08:00
    Buges
        1
    Buges  
       2021-12-03 01:01:07 +08:00 via Android
    raid 不是备份,防止损坏最重要的不是 raid 而是备份。
    可以用 btrfs 做系统盘,额外的硬盘用 btrfs send 做增量备份。zfs 在 Linux 上不建议,升内核比较麻烦。
    dangyuluo
        2
    dangyuluo  
    OP
       2021-12-03 02:50:06 +08:00
    @Buges 其实还有一个需求忘了讲了,就是想方便地创建 root 快照和恢复
    afirefish
        3
    afirefish  
       2021-12-03 08:08:30 +08:00
    底层用 raid ,然后 pve 做虚拟化。把系统装在虚拟机里面。
    documentzhangx66
        4
    documentzhangx66  
       2021-12-03 11:21:07 +08:00
    @Buges 你恰恰说反了。

    备份没办法做到事务性完全实时,但 raid 可以。
    ungrown
        5
    ungrown  
       2021-12-03 11:59:04 +08:00
    Linux 下面,根目录尽量别用 ZFS ,其他随意。因为 ZFS on Linux 还没有稳定到那个程度,而且就算不考虑稳定性,如果根目录是 ZFS 的话相当于整个启动过程多依赖了一个复杂组件,在出问题的时候增加排错成本。
    ZFS 确实挺好用的,本身也具备 RAID 这种形式,灵活又方便。能用就用,利大于弊,根目录除外。
    12101111
        6
    12101111  
       2021-12-03 12:14:35 +08:00
    我 ZFS as root 用了好几年了,从 0.7 时代用到了 2.1, 连 FreeBSD 的 ZFS 都用的 ZoL 的代码,何来不稳定?
    反倒是 Btrfs bug 的照片每个月都能见过好几次。
    liuxu
        7
    liuxu  
       2021-12-03 12:52:25 +08:00
    数据备份用网盘,玩系统上 ZFS
    snuglove
        8
    snuglove  
       2021-12-03 15:32:12 +08:00
    @documentzhangx66 的确,做 raid 是保证数据不丢失;备份的作用也是确保数据不丢失,但是备份是需要时间的
    dangyuluo
        9
    dangyuluo  
    OP
       2021-12-03 16:16:14 +08:00
    更新一下进展,最后决定用 ZFS 了,整个系统盘做了一个 ZFS pool ,根目录挂载了`rpool`, 其余主要系统目录为`rpool/ROOT/ubuntu_xxx/xxx`,家目录为`rpool/USERDATA/<name>`,工作目录单独建立了一个 dataset 挂载到了`~/workspace`,这样就可以方便地做快照了。

    另外我将两块 SSD 硬盘组了一个 zpool ,挂载到了`/var/lib/docker`来存储平时用不太着的 docker 。
    secondwtq
        10
    secondwtq  
       2021-12-03 18:59:20 +08:00
    RAID 是为了提高可用性,备份是为了数据安全。
    secondwtq
        11
    secondwtq  
       2021-12-03 19:02:53 +08:00
    另外 ZFS 在性能方面的 story 我一直不是很清楚,特别是在 NVMe 设备上的表现。可能可以做到比较好的性能,但是需要专门去调整。我没这本事,所以如果对性能有要求的话我不会用 ZFS 。
    gridsah
        12
    gridsah  
       2021-12-05 15:15:32 +08:00
    @dangyuluo

    楼上说的对,raid 是高可用方案,而不是备份方案。不过 ZFS 确实是在没有专用备份机组和 UPS 的情况下,数据最安全的方案了。

    我用 ZFS 的时候,为了磁盘性能优化也整理了一些资料,你可能会用得上。看这里 https://lishouzhong.com/lishouzhong/szarticle/article/ZFS%20%E8%B8%A9%E5%9D%91%E4%B8%8E%E4%BC%98%E5%8C%96.md

    另外,其实我也不推荐 ZFS 做系统盘......
    yanqiyu
        13
    yanqiyu  
       2021-12-07 12:55:46 +08:00
    @documentzhangx66
    raid 不能作为备份的一个重要原因是,再稳固的阵列,都抗不了猫猫跑上去撒泡尿
    要数据安全最好还是定期写到别的盘,放到别的地方
    documentzhangx66
        14
    documentzhangx66  
       2021-12-07 16:40:08 +08:00
    @yanqiyu

    当我们讨论 raid 时,其实是有一个隐含的、公认的前提,就是服务器或电脑,所处在的环境,不说是一个严格的机房,至少也是一个正规的办公室环境。

    当你引入猫猫这个特殊变量时,我也可以引入地球突然爆炸,这样你的方案:定期写到别的盘,也失效了。

    回到之前的话题,如果讨论的前提是,机器是放在正规机房的,那么我说的方案,是没有问题的。
    yanqiyu
        15
    yanqiyu  
       2021-12-07 18:47:48 +08:00
    @documentzhangx66 硬件单点故障(着火 /雷击),文件系统 bug ,人为失误( rm -rf /),勒索病毒等也能损坏里面的数据
    猫猫只是随便选个好听的意外,实际上存储系统可能面临的意外种类繁多,硬盘挂了只是一小部分 (谁能保证不会失误删掉 /覆盖有用的文件,这时候 RAID 只能保证你的删除 /覆盖文件的操作事务性的落到每个盘上)
    RAID 的意义是在硬盘故障的时候不影响业务(并且只是针对硬盘故障而言),而不是在发生意外之后保证数据还在

    RAID 不是备份,快照也不是备份,只有把数据写到别的盘,拿出来存档才是备份
    documentzhangx66
        16
    documentzhangx66  
       2021-12-07 19:51:24 +08:00
    @yanqiyu

    一点一点来说吧。

    1.你提到 硬件单点故障(着火 /雷击),文件系统 bug ,人为失误( rm -rf /),勒索病毒 等等,说明你对专业存储与备份,是有一定研究的,这是好事。

    但你要加强听取甲方意见,理解甲方的需求、场景与意图,这个方面你还是需要再下功夫的。

    你回头看看楼主一开始说的:我的应用场景其实不是很复杂。楼主其实并不需要这么麻烦的企业级的方案。一个机房或办公室环境,业务机组个简单的 raid ,然后再上一套专用备份机器,就足够了。


    2.如果要解决你说的这一堆东西,那在企业级存储与备份里,也属于相当顶尖(烧钱)的东西了。很多中小企业都不一定负担得起,楼主真的那么多的预算嘛?


    3.RAID 与快照的确不是备份。但你要看清楚我在最前面说的:备份没办法做到事务性完全实时,但 raid 可以。同时这句话不是针对你的发言,是针对 1 楼发言,对 1 楼发言做的补充。你没必要又举出备份的优势来针对 raid 。你我都知道 raid 、备份的优缺点。
    Padawan
        17
    Padawan  
       2021-12-09 14:06:03 +08:00
    用两块一样的 USB 3.0 12TB 移动硬盘组了 RAID 1 。 磁盘格式 btrfs 。
    稳定用了好几个月。

    未来的计划:
    1. 扩容:多买几块继续组 RAID 1 。USB 口不够时上 HUB
    2. 用 cron 定期检查状态,有错误时发邮件给我。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2344 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 03:03 PVG 11:03 LAX 19:03 JFK 22:03
    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