V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。
barathrum
V2EX  ›  NAS

到底还是 all in boom 了

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

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

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

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

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

    后来我记得好像是关了 kernel samepage merging 就再也没出现了,不知道是不是 zfs 跟这个功能有冲突。
    barathrum
        5
    barathrum  
    OP
       61 天前
    @phrack 我系统还没重做,明天整个启动盘看看能不能继续抢救试试。
    HebronG
        6
    HebronG  
       61 天前   ❤️ 1
    既然做 PVE 了,虚拟机和数据资源没有备份么?全都和宿主机一个文件系统?
    上周末宿主机给我玩坏了,全部恢复回来也就俩小时,搞虚拟化系统就是为了功能与系统分离,哪里坏了换哪里,不会扩大损失
    HeyWeGo
        7
    HeyWeGo  
       61 天前 via Android
    在弄 nas 之前就考虑过数据迁移问题。看到网上这备份,那备份的,看了头大。于是数据直接直通硬盘 ntfs ,硬盘拔了也能直接在 windows 上读。毕竟我有台电脑 10 年了,硬盘也没挂。windows 兼容性 1 也好。
    gongquanlin
        8
    gongquanlin  
       61 天前
    @HebronG 老哥能否讲讲方案?
    yang9w
        9
    yang9w  
       61 天前
    开机 6 年了。没 boom 过!
    FastAce
        10
    FastAce  
       61 天前 via Android   ❤️ 1
    PVE 的数据分区,ESXI 的分区格式,直到我遇到过 ZFS 出问题,ESXI 粉屏故障(类似 windows 蓝屏)没法进系统,最后还是觉得 Windows 香,系统崩了,还有得救,且 win 的工具也多,说多了都是泪,重装直接 all in Win
    maxus
        11
    maxus  
       61 天前 via iPhone
    OpenWrt 里面的 docker 安装各种 arr 自动下载视频,ddns 绑定域名离家访问,也很好用啊
    Peek
        12
    Peek  
       61 天前
    还是 windows 好,我硬盘出问题了都恢复了很多,连虚拟化都不碰
    luciferlulu
        13
    luciferlulu  
       61 天前 via Android
    zfs raid 几 这都能坏 牛逼了
    HebronG
        14
    HebronG  
       61 天前   ❤️ 3
    @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  
       61 天前
    顺便,对于没有运维经验的人来说,选择 WINSERVER 真的挺好的,不管装 vm 还是用 hyper-v 都行,从性能和功能上比不过 linux 平台,但胜在一般人都有操作和一定程度上维护 WIN 系统的经验,比较傻瓜化,选择 linux 意味着要从头学习,要接受完全不同的思维和操作方式。
    我就是干运维的,折腾这些和上班一样,早就习惯了,甚至比 WIN 更习惯
    Altairvelvet
        16
    Altairvelvet  
       61 天前
    可否买个 Mac mini ,然后挂个 1T 的硬盘。

    用 resilio sync 同步文件。
    laminux29
        17
    laminux29  
       61 天前   ❤️ 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  
       61 天前
    all in 0.9 。
    把下载单独部署在小机器上。
    继续造。
    RightHand
        19
    RightHand  
       61 天前 via Android
    从不相信这些软管理,debian+kvm ,重要文件 raid1 ,不重要文件 raid0 ,手动拆分跑了 4 ,5 年了。
    kk2syc
        20
    kk2syc  
       61 天前
    下载盘不要搞高大上,正常的 ext4 直通就行了,大不了重新下

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

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

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

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

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

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

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

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

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

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

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

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

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

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