V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
barathrum
V2EX  ›  NAS

到底还是 all in boom 了

  •  
  •   barathrum · 5 天前 · 7885 次点击

    去年 618 攒了个 PC 装了个 PVE 做 AIO ,跑了一年,今年年初搬了一次家,除此之外没断过电。 上周 zfs 损坏,完全开不开机了。

    代码、照片啥的都有备份,麻烦的是之前 PT 下载的 7 个多 T 资源,全得重下,十几个服务得重新部署。

    73 条回复    2024-07-12 15:12:21 +08:00
    Int100
        1
    Int100  
       5 天前 via iPhone
    服务还是分布式部署吧,用 k8s 集群搞个高可用
    phrack
        2
    phrack  
       5 天前 via iPhone
    zfs 咋损坏,也许还有救
    barathrum
        3
    barathrum  
    OP
       5 天前
    @Int100 主要我就这一台设备。

    @phrack 看 dmesg 有个 zfs 相关的 call trace ,然后我寻思重启大法试试,结果关机几个小时关不掉,失去耐心强制重启了直接开不开机。
    phrack
        4
    phrack  
       5 天前 via iPhone
    @barathrum 还真不一定是 zfs 坏了,我之前也遇到过 pve 里面 zfs 的问题,好几次死机,我还去 zfs 的 GitHub 里面发过 issue 。

    后来我记得好像是关了 kernel samepage merging 就再也没出现了,不知道是不是 zfs 跟这个功能有冲突。
    barathrum
        5
    barathrum  
    OP
       5 天前
    @phrack 我系统还没重做,明天整个启动盘看看能不能继续抢救试试。
    HebronG
        6
    HebronG  
       5 天前   ❤️ 1
    既然做 PVE 了,虚拟机和数据资源没有备份么?全都和宿主机一个文件系统?
    上周末宿主机给我玩坏了,全部恢复回来也就俩小时,搞虚拟化系统就是为了功能与系统分离,哪里坏了换哪里,不会扩大损失
    HeyWeGo
        7
    HeyWeGo  
       5 天前 via Android
    在弄 nas 之前就考虑过数据迁移问题。看到网上这备份,那备份的,看了头大。于是数据直接直通硬盘 ntfs ,硬盘拔了也能直接在 windows 上读。毕竟我有台电脑 10 年了,硬盘也没挂。windows 兼容性 1 也好。
    gongquanlin
        8
    gongquanlin  
       5 天前
    @HebronG 老哥能否讲讲方案?
    yang9w
        9
    yang9w  
       5 天前
    开机 6 年了。没 boom 过!
    FastAce
        10
    FastAce  
       5 天前 via Android   ❤️ 1
    PVE 的数据分区,ESXI 的分区格式,直到我遇到过 ZFS 出问题,ESXI 粉屏故障(类似 windows 蓝屏)没法进系统,最后还是觉得 Windows 香,系统崩了,还有得救,且 win 的工具也多,说多了都是泪,重装直接 all in Win
    maxus
        11
    maxus  
       5 天前 via iPhone
    OpenWrt 里面的 docker 安装各种 arr 自动下载视频,ddns 绑定域名离家访问,也很好用啊
    Peek
        12
    Peek  
       5 天前
    还是 windows 好,我硬盘出问题了都恢复了很多,连虚拟化都不碰
    luciferlulu
        13
    luciferlulu  
       5 天前 via Android
    zfs raid 几 这都能坏 牛逼了
    HebronG
        14
    HebronG  
       5 天前   ❤️ 2
    @HeyWeGo 备份不是为了数据迁移,也不是防系统损坏,而是防硬盘本身损坏,拉长时间看所有硬盘都是会坏的,即使没坏也有静默腐坏的问题,这些情况下还不丢失数据才是冗余/备份的意义,只有一份的数据就是默认“可以丢失”的

    @gongquanlin 本质其实很简单,多文件系统,多备份,少在宿主机搞操作,把能分离的系统尽量分离开来。
    我自己的话,宿主机是单独一块 SSD ,ZFS 系统一倍冗余,虚拟机磁盘单独一块 SSD ,ZFS 系统无冗余,备份下载单独一块 HDD ,ZFS 系统无冗余,存档数据三块 HDD ,XFS 系统 snapraid2:1 冗余
    这其中,系统 SSD 和虚拟机 SSD 是绑定的可以视为宿主机部分,用一块盘也可以,选择 ZFS 系统主要看重读写缓存与文件完整性校验,有校验至少腐坏的时候即使无法恢复也可以及时发现。系统采用一倍冗余没啥意义,坏盘全都丢,只有遇到数据腐坏的时候有点用,这么做纯粹因为硬盘太空了,不是必须的。宿主机本身不需要备份,直接跑在宿主机上的只有 nut(UPS 通知)、hd-idle(磁盘休眠)、samba/nfs(文件服务)和 snapraid(数据仓库的冗余校验),定期或有修改的时候备份/etc 即可,重装时直接恢复相关配置文件就行。
    备份下载的缓存 HDD 一块,采用 ZFS 系统的理由和宿主机同样,除了当下载和临时存放盘外,还用来放宿主机备份和安装镜像/模板,唯一需要和宿主机分离的原因就是因为虚拟机备份,这样系统/宿主机坏了可以恢复备份,备份坏了就重做,两个同时损坏的概率不高,即使有也可以把备份数据在另外地方额外多存一份。
    数据仓库三块 HDD ,用前面提到的 snapraid 进行冗余和完整性校验,因此不需要 ZFS ,选择更加成熟稳定兼容性好的 xfs 文件系统,也可选择 ext4 ,这俩个文件系统是个 linux 就能挂载(而且 zfs 和 snapraid 的相性不太好)。这一部分完全独立,没有任何外部依赖,因此出现问题可以第一时间把这几块盘物理卸载掉,等系统恢复了再挂载上。
    剩下的所有功能都在四台虚拟机里面,一台 linux 作为核心应用服务器,通过 nfs 挂载缓存盘,部署网页、下载等服务。一台 WIN 用来运行只有 win 能运行的软件,包括各种不想跑在自己电脑上的国产软件,利用快照功能也可以当半个沙盒用。一台黑群晖用来同步手机和管控对外共享的权限,本身不长期存储数据,整理好了定期扔到数据仓库。还有一台软路由作为入口网关。这些虚拟机都有每月备份,有大改动的时候再手动备份,并且有意避免任何硬件直通,增加可恢复和可迁移性能,出现问题随时恢复。
    需要注意的是,我这套系统是有点 overkill 的,全套 epyc 甚至还有异地备份,通常来说,至少数据系统和功能系统要分离开来,备份放在数据系统里面,两套系统同时爆炸的概率还是很低的,然后再根据具体的需求强度进一步细分
    HebronG
        15
    HebronG  
       5 天前
    顺便,对于没有运维经验的人来说,选择 WINSERVER 真的挺好的,不管装 vm 还是用 hyper-v 都行,从性能和功能上比不过 linux 平台,但胜在一般人都有操作和一定程度上维护 WIN 系统的经验,比较傻瓜化,选择 linux 意味着要从头学习,要接受完全不同的思维和操作方式。
    我就是干运维的,折腾这些和上班一样,早就习惯了,甚至比 WIN 更习惯
    Altairvelvet
        16
    Altairvelvet  
       5 天前
    可否买个 Mac mini ,然后挂个 1T 的硬盘。

    用 resilio sync 同步文件。
    laminux29
        17
    laminux29  
       5 天前   ❤️ 1
    我总觉得 OpenZFS 存在问题。以下是一个完整的 OpenZFS 结构,运行在志强 CPU + RECC 内存上,并启用了实时压缩与实时去重。内存与所有磁盘,在上机之前,都做了检查:

    数据盘:HDD-4TB * 5 ,提供约 20 TB 数据存储量。

    校验盘:HDD-4TB * 2 ,RAIDZ2 。

    热备盘:HDD-4TB * 1 。

    SSD-Cache 盘:SATA3-SSD-镁光-Micro-M600-512GB * 1 。

    NVME-SSD-WriteBuffer 盘:QichenNVME-512GB * 2 ( Mirror )。

    运行了十几天,就 boom 了 1 个盘,然后热备盘顶上来。再过了十几天,全 boom 了,但集群仍然能用:

    https://pastebin.com/xsR3sWSh

    我觉得存储这玩意,数据量到达一定量后,建议还是使用多物理机的分布式存储,安全些。
    user100saysth
        18
    user100saysth  
       5 天前
    all in 0.9 。
    把下载单独部署在小机器上。
    继续造。
    RightHand
        19
    RightHand  
       5 天前 via Android
    从不相信这些软管理,debian+kvm ,重要文件 raid1 ,不重要文件 raid0 ,手动拆分跑了 4 ,5 年了。
    kk2syc
        20
    kk2syc  
       5 天前
    下载盘不要搞高大上,正常的 ext4 直通就行了,大不了重新下

    重要的数据单独 raid ,一些 io 小的服务直接单独的 ssd 跑
    kuanat
        21
    kuanat  
       5 天前 via Android
    备份是个小事情,能不能从备份中恢复才是大事情。
    kuanat
        22
    kuanat  
       5 天前 via Android
    如果非常在意的话,可以借鉴风险管理的思维,你能承受的损失有多大,能够接受的恢复周期有多久,由此来制定 rto rpo 策略,进而指导架构的方针。

    举个例子,比如我不能接受 all in boom 带来的断网,那就把网络
    kuanat
        23
    kuanat  
       5 天前 via Android
    尴尬,总是一半就发出去……

    如果非常在意的话,可以借鉴风险管理的思维,你能承受的损失有多大,能够接受的恢复周期有多久,由此来制定 rto rpo 策略,进而指导架构的方针。

    举个例子,比如我不能接受 all in boom 带来的断网,那就把网络单独拿出来,做个硬件备份,以应对和切换。如果是不能接受存储文件的损失,那就把存储后端独立出来。凡是没有高可用需求的大可放心地集成到一起。
    szdosar
        24
    szdosar  
       5 天前
    我比较好奇的是,个人能用 20+T 的空间做啥,视频剪辑的素材库?
    Xenos
        25
    Xenos  
       5 天前
    @szdosar 对于一些重度 PT 玩家,可能这 20T 还不够呢
    MartinWu
        26
    MartinWu  
       5 天前
    我的冗余比较简单粗暴,直接 rsync+inotify 冗余两份数据。
    bugmaker233
        27
    bugmaker233  
       5 天前
    @HeyWeGo PVE 硬盘直通 windows ,上次直接给我 16T 机械硬盘整没了。第一次直通成功,取消直通没反应了,后来又设置直通,windows 开机直接硬盘修复把数据全格式化了🤣🤣
    HeyWeGo
        28
    HeyWeGo  
       5 天前
    @bugmaker233 #27 这边是 esxi 里的 ubuntu 直通硬盘,当时设置的时候还在 v2 咨询过,NTFS 的盘需要先分区,之后格式化的盘才能在 Linux 和 windows 下都读出来。否则 windows 下读不出,需要先分区格式化
    bugmaker233
        29
    bugmaker233  
       5 天前
    @szdosar 就像仓鼠喜欢收藏东西一样,吃不完也得藏起来
    HebronG
        30
    HebronG  
       5 天前
    @bugmaker233 没特殊需求不建议直通任何东西,虚拟机隔离的越好,性能越好问题越少
    HebronG
        31
    HebronG  
       5 天前   ❤️ 1
    @MartinWu
    @RightHand
    冷知识,硬 raid 和 rsync 都不保证存档数据的完整性,raid 只提供可用性,rsync 即使配上校验也只负责传输时安全
    所以才需要 zfs 或者 snapraid 或者 btrfs 来保存哈希数据并定期校验,校验失败就从冗余中恢复数据。win 下的 ReFS 也有这个能力,但比前面三个更不推荐

    @szdosar 大量电影照片音乐电子书,仓鼠是这样的,虽然我只收看过的东西
    WingYo
        32
    WingYo  
       5 天前
    @user100saysth #18 完全同意,我现在就是 pve 底,iKuai+openWrt 双软路由,外加物理黑裙,重要的数据 raid1 ,不重要的 raid0 。
    sumu
        33
    sumu  
       5 天前   ❤️ 1
    折腾过几次存储,我的经验是:不要 zfs 、不要 raid 、不要全盘加密,最 low 的 ext4 是最好的,系统跪了,磁盘直接拔下来就能用,需备份的数据用 rsync 在多个磁盘之间同步,特别重要的数据用 rclone 与网盘同步
    Pters
        34
    Pters  
       5 天前
    硬盘直通啊,就算坏了还能重装
    szzonly
        35
    szzonly  
       4 天前 via Android
    @sumu 全盘加密应该还好吧,我现在是 zfs on luks, 只要做好了备份应该问题不大。
    X2031
        36
    X2031  
       4 天前
    还好吧 我跑的 AIO 2 年多了也没爆炸稳得很,散热搞一下还是很稳的啊
    byiceb
        37
    byiceb  
       4 天前
    哎,刚崩完。。现在重要数据多放了几个备份。
    pfffs
        38
    pfffs  
       4 天前
    大佬们,ubuntu 使用 ZFS 安全吗?不开任何虚拟机。

    看到各位评论,吓死我了
    HebronG
        39
    HebronG  
       4 天前
    @pfffs 如果你不需要额外的可用性和读写速度,你就不需要 ZFS (以及其他任何 raid 方案)
    至于安全性,合理配置不折腾的情况下目前认为 ZFS 是足够安全的,最好 ECC 内存就是
    panlatent
        40
    panlatent  
       4 天前
    一直没敢 All in ,因为心里潜意思觉得早晚有一天 Boom 。NAS 就是 NAS ,软路由就是软路由,互不影响。另外重要资料多多备份。没做 Raid ,做好了损失了所有 NAS 数据的打算(虽然会很肉痛)。
    noahzh
        41
    noahzh  
       4 天前
    最低成本,其实是树莓派接个硬盘柜,装个 minio. 做离线备份.
    securityCoding
        42
    securityCoding  
       4 天前
    高端操作了,我只弄了个群晖+oss 冷备
    barathrum
        43
    barathrum  
    OP
       4 天前
    好消息各位!昨天晚上按了开机,等它自己在那修复了一宿,今天早上发现除了 nextcloud 全好了。

    我重要数据都在其他地方有备份,就是 pt 下载的盘用的 raid0.
    pfffs
        44
    pfffs  
       4 天前
    @HebronG 我的使用场景是:在物理服务器上使用的 ZFS ,100T 左右机械硬盘组 ZFS mirror(因为是存用户数据的,所以需要高可用),每天凌晨会执行同步,将数据同步到其他储存

    使用 ZFS 的理由两点,1.创建快照 2.压缩节约成本,目前压缩比 1.45 ,除此之外不会使用其他功能,也不会手贱去操作 ZFS 相关的配置

    主要是看到上面的老哥提到 ZFS 莫名其妙就坏了,给我听的心里发毛,虽然每天有备份,但是还是担心突然坏了,重建很麻烦,而且也会丢失一天的用户数据
    fds
        45
    fds  
       4 天前
    @barathrum #43 恭喜🎉 单个设备确实靠不住,得多处备份。就是没有比较方便的备份管理软件。
    HebronG
        46
    HebronG  
       4 天前   ❤️ 1
    @pfffs 连硬件 raid 卡都有机会“莫名其妙”就坏了,你这个需求不用 zfs 也没啥更好的选择了啊,反正本来也就是单台系统,ZFS 莫名爆炸的概率比系统莫名爆炸的概率还是要低一点的
    如果要安全性更进一步的花,就要多台服务器了,要么用更高级的软件定义存储,要么多个存储系统互为热备,你参考自己的情况考虑下有没有这个必要
    HebronG
        47
    HebronG  
       4 天前   ❤️ 1
    @pfffs 唯一可能可以在当前条件下更进一步的,大概是迁移到 trueNAS 系统而不是在 ubuntu 下进行配置,虽然也是基于 linux ,但官方适配可能能比 openZFS 要更好一些。但只是可能,我没具体比较过这两种方式的区别
    guanzhangzhang
        48
    guanzhangzhang  
       4 天前
    开不了机要上图,至少能过 grub 界面和 menu 界面的,后面加载 rootfs 问题那就 linux 手段修复看看了
    bao3
        49
    bao3  
       4 天前   ❤️ 1
    很多教程,都不教人数据的重要性,对于 all in one 来说,引导磁盘/操作系统的冗余,这本身就是要考虑的,所以群晖 DSM 是把自己装在每一个盘,而 TrueNAS scale 则是安装时就要求你把它装在 2 个盘上。
    但绝大多数的教程都不会强制要求玩家们一定要做引导盘/操作系统的冗余,因为 99.99%的人人为不重要。
    剩下下来是 Raid 1 ,既然是 all in one 了,就不要玩花样,老老实实 Raid 1 ,除非是电影音乐这类损毁后可以再生的资源,你随意存到其他类型的磁盘阵列。
    以上 2 点如果都能做到,这基本上可以杜绝绝大多数灾难,然后有钱的可以加钱,上更规格的数据保护。
    但,如果你的数据不重要,各位还是听劝,买个网盘吧,省心省钱,下载资源也省时间。
    shadowyw
        50
    shadowyw  
       4 天前
    重要数据按照 321 原则, 备份备份备份 重要的事情说三次
    wizzer
        51
    wizzer  
       4 天前
    @sumu @barathrum raid1 + ext4 + usb + alist 四种同时备份的飘过~
    liuhai233
        52
    liuhai233  
       4 天前
    数据备份 + Ansible 脚本部署,几乎无缝迁移 + 新建
    lolizeppelin
        53
    lolizeppelin  
       4 天前
    真有干运维的在自己家上 raid 的?
    还有干运维的在自己家上分布式文件系统的?
    findex
        54
    findex  
       4 天前
    zfs 有各种好处,但是磁盘摆放位置受不受辐射、散热是否不好、电源是否不稳定都是因素。磁盘属于精密仪器。我有一台 N100 ,入手了一块 nvme m2 的 stata 转接板,始终没上机械盘 AIO 。主要是对这套硬件的稳定性不认同,包括电源+主板+散热。手边还有一台 4 盘位白群晖。

    即便不用 all in boom ,还是需要多备份。

    all in one 的好处是节省资源,坏处是一坏全完。

    @lolizeppelin 真有干运维在家上 raid6 的,raid5 都不靠谱,重建要花很长时间,然后有可能挂第二个盘。也有自己搭建机房搞分布式文件系统的。属于工作带回家做研究。

    @laminux29 看了一下 log ,试问您的 nas 是不是用了矿盘?
    zbowen66
        55
    zbowen66  
       4 天前
    @HeyWeGo #7 你就没想过硬盘会坏吗?
    ddczl
        56
    ddczl  
       4 天前
    我是不敢 all in one 的,我加一个 NAS 主要动作就是存储,一台跑 Docker ,数据还好,重要的是多备份,单主要是花精力,所以把服务存储分散部署
    HeyWeGo
        57
    HeyWeGo  
       4 天前
    @zbowen66 #55 只能说目前我选了适合自己的家庭使用方式,并不推荐长期使用 nas 工作的人这么做。多数人的 nas 。买过 10 张硬盘,目前 18 年坏过两个,一个西数的一个东芝的,其他的都保持良好。
    Jinnrry
        58
    Jinnrry  
       4 天前 via Android
    All in one 两年了,还没炸
    hanxiV2EX
        59
    hanxiV2EX  
       4 天前 via Android
    数据都不是重要的,把配置文件备份就好,挂了就恢复出厂设置。
    totoro625
        60
    totoro625  
       4 天前
    @laminux29 #17 我有一次 apt upgrade 后 zfs 崩了,原因是 zfs \ zfs-kmod 版本不匹配,宕机一个礼拜人肉去修,从此不敢轻易升级
    ccloving
        61
    ccloving  
       4 天前
    @yang9w 结局不都是个 boom 么?
    busier
        62
    busier  
       4 天前
    有 Linux 运维经验,一直 pve + btrfs 数据盘很多年了~!
    chinni
        63
    chinni  
       4 天前
    备份 推荐 rustic
    KINGWAY
        64
    KINGWAY  
       4 天前
    @HebronG 写个具体方案出来共享吧, 另外你这个硬盘最起码得花几千块吧?
    HebronG
        65
    HebronG  
       4 天前
    @KINGWAY 全部 16T ,便宜的时候一千五一块,现在不好买了
    方案可以去隔壁 chiphell 学学,了解不同方案的倾向,不同系统的特性,然后建议自己做一个不要抄,如果自己搞不出方案说实话大概率没有相应的运维能力,硬上后期会很麻烦,建议直接 WIN 下挂几个单盘就完了,或者买成品 NAS
    说真的 V2EX 主攻软件工程方面的,这种涉及硬件的综合系统运维还是隔壁比较熟
    129duckflew
        66
    129duckflew  
       4 天前
    @Int100 你单机 K8S 不还是 all in boom
    zhangeric
        67
    zhangeric  
       3 天前
    pve 有 backup server 可以装一下或者直接在 pve 的 debian 上装 timeshift.定期备份系统.
    lingxmo
        68
    lingxmo  
       3 天前
    我的 2 年多了倒是没炸,就是有个 14t 的硬盘,还省 1.多 t 可用空间,最近突然发现读写慢的不行,只有 10 几兆/s ,不知道是不是和 btrfs 格式有关系,另外一个一起买的盘 ext4 格式用着倒是没问题
    totoro625
        69
    totoro625  
       3 天前
    @chinni #63 你想说的是 restic 吧 https://restic.net
    Int100
        70
    Int100  
       3 天前 via iPhone
    @129duckflew 说了“分布式” “高可用” ,哪来的单机??
    chinni
        71
    chinni  
       3 天前   ❤️ 1
    @totoro625 rustic 是 restic 的独立 rust 实现, 支持 gitignore 和各种忽略文件的策略. 支持配置文件
    THESDZ
        72
    THESDZ  
       2 天前
    网络独立,运行时独立,存储独立
    网络这个路由器,刷个 wrt
    运行时找个多核大内存机器
    存储单独运行
    存储的盘尽量只做
    读取
    最终结果写入:例如 qb 下载完成后再移动到存储中(smb 等挂载给运行时机器)

    本人方案: 路由器+n100 的运行时机器+j4125 的 truenas
    关键数据自动备份到多处网盘,例如密码之类的
    laminux29
        73
    laminux29  
       1 天前
    @findex 不是矿盘,这些是数据中心的企业级盘,朋友拿来送我。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2346 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 02:16 · PVG 10:16 · LAX 19:16 · JFK 22:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.