到底还是 all in boom 了

136 天前
 barathrum

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

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

10201 次点击
所在节点    NAS
74 条回复
Int100
136 天前
服务还是分布式部署吧,用 k8s 集群搞个高可用
phrack
136 天前
zfs 咋损坏,也许还有救
barathrum
136 天前
@Int100 主要我就这一台设备。

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

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

用 resilio sync 同步文件。
laminux29
135 天前
我总觉得 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
135 天前
all in 0.9 。
把下载单独部署在小机器上。
继续造。
RightHand
135 天前
从不相信这些软管理,debian+kvm ,重要文件 raid1 ,不重要文件 raid0 ,手动拆分跑了 4 ,5 年了。
kk2syc
135 天前
下载盘不要搞高大上,正常的 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