到底还是 all in boom 了

2024-07-08 20:47:47 +08:00
 barathrum

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

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

12512 次点击
所在节点    NAS
74 条回复
Int100
2024-07-08 20:54:41 +08:00
服务还是分布式部署吧,用 k8s 集群搞个高可用
phrack
2024-07-08 20:56:01 +08:00
zfs 咋损坏,也许还有救
barathrum
2024-07-08 21:00:11 +08:00
@Int100 主要我就这一台设备。

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

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

用 resilio sync 同步文件。
laminux29
2024-07-09 06:45:06 +08:00
我总觉得 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
2024-07-09 07:15:00 +08:00
all in 0.9 。
把下载单独部署在小机器上。
继续造。
RightHand
2024-07-09 07:46:48 +08:00
从不相信这些软管理,debian+kvm ,重要文件 raid1 ,不重要文件 raid0 ,手动拆分跑了 4 ,5 年了。
kk2syc
2024-07-09 07:52:43 +08:00
下载盘不要搞高大上,正常的 ext4 直通就行了,大不了重新下

重要的数据单独 raid ,一些 io 小的服务直接单独的 ssd 跑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1055771

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX