关于 zfs

2023-01-10 21:36:23 +08:00
 xinmans

zfs add disk 的设计真挫,很容易出问题,不如直接取消不带 mirror 或者 raid 报错 另外,zfs 的写性能比较挫,不是 pt 下载,大家有推荐的 pt 下载的文件系统吗?(除了上 ssd 方案,纯 sata 方案) 除此之外,zfs 真香,16T 狂盘多不用担心

9888 次点击
所在节点    NAS
87 条回复
totoro625
2023-01-11 13:10:50 +08:00
@ungrown #20 您好,想了解一下 encfs 上传到百度云的具体细节,最近刚看到 Cryptomator 的问题 /t/907652

一直在了解 Boxcryptor 和 Cryptomator 以及 encfs ,目前用的最顺手的是群晖 cloud sync 套件加密上传
同时也在用 VeraCrypt 和微软自带的 bitlocker ,目前主要用的 Win10
ryd994
2023-01-11 13:13:46 +08:00
@ungrown 首先,你就不应该只有两块盘。如果你不在乎数据安全当我没说。只有两块盘,但是是大单盘的话。重建成功率很低。重建成功而且数据正确的概率几乎为零。

你能接受丢失两块盘那就别用 raidz2 ,这没问题。但是你要说 mirror 比 raidz2 可靠那就是搞笑了。

你原话是:“乖乖用 mirror 模式,压根没有重建的问题”
这当然不对。mirror 模式一样有重建的问题。用 raidz2 一样有备份的需要。备份和重建这两个问题并不冲突。你为什么偏要用 mirror&备份&不重建 来对比 raidz2&不备份&重建呢?
jinliming2
2023-01-11 13:16:03 +08:00
@xinh #13 ,PT 是 BT 的一种,可以理解为是 BT 的一种使用方式。
BT 因为是公开共享的,所以下载者的素质没法保证,很多类似于迅雷这种吸血的。
PT 实际上就是 BT ,但是使用 Private Tracker ,属于小范围内的资源共享,加入 PT 的人都要符合约定,所以质量会比公共的 BT 要高很多。而因为要遵守约定,所以通常需要专门的设备来挂机上传。
具体可以自己再去了解一下。
ryd994
2023-01-11 13:23:20 +08:00
@ungrown 再来说说你贴的链接,他的理由是:

don’t be greedy. 50% storage efficiency is plenty.
这话等于没说。这话是鉴于下面的优点来说,损失一点容量值得。

for a given number of disks, a pool of mirrors will significantly outperform a RAIDZ stripe.
然而个人 nas 性能不重要。除非你把 nas 当个人服务器用,跑各种应用。那么它也就不再是 nas ,而是个人服务器。我也说了对于应用服务器,使用 mirror 是合理的。

a degraded pool of mirrors will severely outperform a degraded RAIDZ stripe.
仍然,个人 nas 性能不重要。何况个人 nas 没有 sla ,掉盘了先关机,换了新硬盘再说。

a degraded pool of mirrors will rebuild tremendously faster than a degraded RAIDZ stripe.
仍然,个人 nas 没有 sla 。重建慢但是成功率和正确率更高。何况除非 smr 盘,重建并不慢。个人经历能跑满硬盘顺序读写速度。

a pool of mirrors is easier to manage, maintain, live with, and upgrade than a RAIDZ stripe.
raidz 的正确升级方法是直接加一套。而不是一个个盘添加。个人 nas 一般没多少需要。你都说你自己只准备两盘了。这一条和你反正没关系。

BACK. UP. YOUR POOL. REGULARLY. TAKE THIS SERIOUSLY.
raidz2 和备份并不重复。备份本身也有不可靠的情况。你用百度盘,等真要恢复的时候,祝你能及时下载所有数据而不被限速。
ryd994
2023-01-11 13:28:33 +08:00
@ungrown 你要说成本的话,那你怎么省都比不上二手 SAS 盘组 raid0 。
我跑 pt 的下载盘就是这样,当炮灰用,不需要数据安全。

需要数据安全的个人数据备份,放在 6 盘 raid6 ,显然比 mirror 可靠。照片另外备份到 Amazon photo 。
ungrown
2023-01-11 13:29:17 +08:00
@ryd994 #22 mirror 如果 resilver 都要出问题的话,要么硬盘坏了,要么 pool 坏了。
我是想象不出给 mirror vdev 做 resilver 能出什么幺蛾子,这玩意跟 RAID1 本质上没区别。
你要是有什么案例你可以说来听听。
我自己倒是有现成的案例,因为我以前单盘的时候,有一次 ubuntu 内核跑飞,重启后有一个文件夹损坏了,zfs 报告了该路径下的大量的校验错误,因为这些错误的存在,我在换新盘的时候用 zfs send 、export 等等都无法成功,添加 mirror 自然也不成功。但是捏,反正本质上是拷贝嘛,多简单,我给新盘新建一个 pool ,然后把这个损坏路径之外的数据全部从老盘复制到新盘,最后把老盘清空添加到新的 pool 里当 mirror 不就行了吗?
所以哪怕这种极端情况,用 mirror 也可以减小损失,减小手动迁移的困难。
所以为什么不应该只有两块盘呢?双倍的冗余难道还不够吗?怎么会不够呢?双盘健在,但是坏道或者坏块,另一盘上有完好的冗余,就有充足的时机买新盘来替换。双盘全部完蛋,那这概率已经超越中彩票了,你这辈子中过彩票吗?

另外我给你的链接你没看吧?因为根据你的观点立场,你如果看了那篇文章的话,应该是没法忍住不骂它的。
xinh
2023-01-11 13:30:27 +08:00
@jinliming2 知道 pt ,我意思是楼主是不是将“不适合 pt 下载”打错成“不是 pt 下载”。因为他前面说 zfs 写性能不好,而 zfs 默认 recordsize 好像是 128k 的,正好 bt 是 16k 的随机读写,这样会影响到写入性能吧。
ryd994
2023-01-11 13:42:05 +08:00
@ungrown 并不是。
ure 了解一下。重建时遇到读取错误,但是硬盘并没有坏,只是数据没了。
当 mirror 只剩一块盘的时候,仅剩的盘就是整个 pool 了。你说这出不了什么问题?仅剩的单盘坏了算不算问题?
raidz2 也是久经考验的代码了。

“zfs 报告了该路径下的大量的校验错误”。这恰恰是你应该用 raidz2 的原因。zfs 的可靠性是由冗余度决定的。冗余度越高,就有越多的信息可以用于恢复。

“然后把这个损坏路径之外的数据全部从老盘复制到新盘”
raidz2 也可以啊。zfs 的健壮性就在于能识别丢失的数据,不影响正常的数据。可是呢,如果你用的是 raidz2 ,因为有额外的一重冗余度,resilver 直接就会成功。根本就没这么多麻烦事。

“双盘全部完蛋,那这概率已经超越中彩票了,你这辈子中过彩票吗?”
只能说你对 SATA 盘的 ure 概率一无所知。对于两块同型号硬盘同时故障的概率更是一无所知。我的阵列是用两个品牌三个批次的硬盘。为的就是减少同批次同时损坏的风险。
ungrown
2023-01-11 13:45:31 +08:00
@ryd994 #25 SAS 有什么便宜的,还需要额外的接口,pdd 上 sata 的二手拆机企业盘,1T 价格 50 元这样子,比起 SAS 贵很多吗?
二手盘便宜寿命短啊,考虑到寿命折损,其实 1T 50 元的二手盘比不上新盘划算的。
我上一块硬盘 3T 的,用了 6 、7 年,虽然被换下来了,还是好好的,我拿它做本地脱机备份,不出意外还能用好多年。
考虑到新盘在手上的使用寿命,其实新盘不比二手盘贵的呀,甚至搞不好比二手盘更划算呀。

给炮灰数据用的设备不能算到“一般个人用户需求”的场景下的呀。
对一般个人用户而言,珍贵的数据是很少的,可能连 1T 都不到,不珍贵的数据无非是类似影音库里面那些多媒体文件,丢了也不心疼。
但是炮灰数据的重要性,可是连用来娱乐的影音文件都比不上的呀。电影好歹自己下了还会看,虽然可能一遍都没看完就扔了,可是 PT 下载的那些东西里面,有多少是下载者会真的去访问的?
所以,给炮灰数据用的盘,比一般的不珍贵的数据用的盘,更便宜更垃圾不是很正常嘛,它们本来就不是同一个档次的需求。
ryd994
2023-01-11 13:58:48 +08:00
@ungrown
二手 sas 盘比 sata 盘耐用得多。而且恰恰就是因为需要 sas hba ,所以买的人少,价格更便宜。
sas hba 用二手的 9220 ,便宜得很

新盘该挂也是一样挂,你看过 backblaze 的统计数据就明白了。二手盘不见得就是寿命短。而是不知道寿命短不短。这意味着你只能按最坏的情况打算,但是实际上可能用很久都没事。

你愿意用新盘也无所谓。我的重点不变:下载盘用 raid0 也行,用 mirror 也行。对于下载盘,需要的是性能不是数据安全,前文的所有理由都成立。确实不该用 raidz2

但是你把下载和个人数据备份混一起就不对了。一个要求数据安全,一个要求性能&成本。选择的重点当然也就不一样。技术选型,准确分析需求很重要。需求不同选型当然也就不同。
混在一起,说明你的备份数据和下载数据一样价值。不知道你怎么看待自己的数据。但是我认为我个人数据是需要安全性的。


“对一般个人用户而言,珍贵的数据是很少的,可能连 1T 都不到”
这就看你的使用场景了。如果就这么少的话组全 SSD 阵列也无不可。或者增加备份冗余度减少 raid 冗余度也可以。但是数据少不是降低冗余度的理由。
如果你觉得这点数据不值得多一块硬盘的成本,那说明你的数据的价值也仅此而已。你不需要这么高的数据安全,没问题。
但是你说 mirror 比 raidz2 安全,那就不对了。
ungrown
2023-01-11 14:27:52 +08:00
@ryd994 #28 当 mirror 只剩一块盘的时候,仅剩的盘就是整个 pool 了。你说这出不了什么问题?仅剩的单盘坏了算不算问题?

你看看你假设的这种情况,这还是普通个人用户该有的焦虑吗?
个人用户丢数据不是很稀松平常的事情吗,要不那么多数据恢复的店铺是谁养起来的?
做好备份就够了。
如果我双盘 mirror 盘都没坏但是至少一边出了坏块,那就趁着还有时间赶紧买新盘来替换。
如果有一块盘坏了,但是另一块盘里面也有坏块,那就赶紧买新盘来换,然后定位到坏块对应的那个文件,从备份库里面把这些单独的文件恢复过来,然后再把那块没完全坏但有坏块的硬盘也替换掉。
如果两盘同时嗝屁,那就认倒霉,然后从备份恢复数据,优先本地,不够再从云端取。如果这一套下来,还有重要数据没恢复,那就吸取教训,以后记得把重要的数据包括到备份范围里面。

你一再向我兜售“硬盘很容易坏”的理念,可是我一辈子坏在手里的硬盘数量至今都只有一块,那是多年前西数的一个移动硬盘,我平时用起来也不太小心,还直连手机丝毫不管不顾供电不足的问题。
你一再强调双盘同时损坏的场景,可我们大家都知道的是,不管硬盘有多容易坏,这个概率都非常微小,而双盘可以将风险再降几个数量级,所以双盘比单盘肯定更安全,我作为一个单盘用了很多很多年的用户,没有理由觉得双盘还不够保险。
3 、4 、5 、6 盘当然能够一而再再而三地将一个已经非常微小的概率继续降低,但是这背后付出的代价呢?边际成本呢?我从单盘到双盘能够获得巨大的边际收益(考虑增加的成本),但你却罔顾边际递减,仅仅描绘 RAID6 的牛逼,却不提这样做的成本。

我狂下电影,8T 也没用完。
我真正喜欢的少数视频、漫画、色情内容加起来只占用 2T 不到。
我真正宝贵的数据,那些丢了会带来实际损失、或者强烈的精神打击的数据,加起来只有几百 G 。
我目前的备份策略能够完全覆盖那些非常重要的数据(有 2 个以上完整副本,有更多个不完整的副本),并部分覆盖那些喜欢的数据(完整的副本数量只有一份,另有少数几个不完整副本)。所有备份均有加密不用担心被审查,所有备份都是文件层级的,即使从云端获取也可以根据缺漏选择性下载,而无需全部下载,开了会员就不用担心被限速。
我已经算是收藏习惯比较重的人了,满大街抓个人,10 个里面 9 个没有我这么多的需求,备份习惯就更不用比了。
即便如此,我也依然单盘用了 6 、7 年,无事发生。在此基础上,我相信加一份冗余可以为我的数据安全带来巨大明显的提升,你却还嫌不够。
还在沾沾自喜于两个硬盘三个批次,我隔好几年才会买一块盘,我想要体验一下你的烦恼都没机会,虽然我根本不想体验,纯属庸人自扰,无聊。

我觉得你自始至终都没有认清自己“松鼠症”的真面目,却还在自认为可以代表“一般的个人用户对数据存储的总量和安全性的需求”。而且你是个懒得对自己的数据整理的人,我不相信你那 6 盘阵列里真正让你不忍心割舍的数据量会有多少,你若平时有心,这点数据早就在四处存了多个备份了。

然后你对我引的那篇文章也看得囫囵吞枣,与其说你是在认真阅读,倒不如说你就是全篇找关键词准备作为反驳的素材。
我仅举一例,至于我是不是只能举这一例,随你怎么想。
“raidz 的正确升级方法是直接加一套。而不是一个个盘添加”
原文这里讲的是对 vdev 扩容的时候,mirror 只要把容量更大的新盘加进去就行了,而 RAID 的容量是创建时固定死的,要不我怎么会说你压根是为了反驳而囫囵吞枣低看的。

最烦那些明明自己高高在上、已经超越了一般人需求的,非要来强行代表一般人,瞎凑热闹。
你这种不惜代价执拗于“风险再低点、再低点、还要再低点”的人,和那些声称“ZFS 必须配 ECC 内存”、“NAS 必须配 UPS”的人,有什么区别?
mrzx
2023-01-11 14:34:41 +08:00
@ryd994 你说的没错,不过我强调的词其实是"收益"
mrzx
2023-01-11 14:37:06 +08:00
@ryd994 其实连我家里这种小作坊服务器都配有 ups,并且设置了联动,在 ups 电量不足 30%的时候会告知服务器关机
ungrown
2023-01-11 14:46:31 +08:00
@ryd994 #30 新盘该挂当然一样,但你是想借此表达新盘和二手盘挂的几率一样吗?你可仔细想好,瞧瞧你为了反驳为了面子已经满脑子情绪没剩下多少逻辑了。
我对 SAS 盘的了解只有它的接口和它的二手价格,但是大多数相关的论坛、分享文、自媒体视频,都建议不要优先选择 SAS ,想用也没啥不好,但是不优先推荐。我找不到理由不听取这些建议。
ungrown
2023-01-11 14:52:05 +08:00
@ryd994 #30 “但是你说 mirror 比 raidz2 安全,那就不对了。”
搞半天你是这么理解的?
那你随意,反正我没这么说。
ryd994
2023-01-11 15:52:08 +08:00
@mrzx #33
我的 UPS 是设定停电超过 1 分钟就关机。无论剩余电量多少。
主要是关机时的耗电量会增加很多。所以 UPS 估算的剩余时间、电量很可能不准确。
反正自家用没有 SLA ,等电网稳定后再手动开机。

@ungrown 如果丢数据稀松平常,那你这个备份也就不叫备份了。你把 nas 当应用服务器,我把 nas 当备份储存服务器。你不需要数据安全是你的事。而不是 mirror 更可靠,OK ?
数据恢复一次的价钱远超多加两块硬盘的价钱。你愿意当这个冤大头是你的事。

“你一再强调双盘同时损坏的场景,可我们大家都知道的是,不管硬盘有多容易坏,这个概率都非常微小,而双盘可以将风险再降几个数量级,所以双盘比单盘肯定更安全,我作为一个单盘用了很多很多年的用户,没有理由觉得双盘还不够保险。”
还是那句话,你始终不懂硬盘是有 ure 的。在单盘超过 2T 的情况下,ure 会显著影响重建的成功率。而且,两块硬盘同型号同批次时,硬盘损坏概率就不再是独立时间。一块坏,意味着另一块也快了。而重建是 7x24 满负荷。另一块在重建过程中损坏的概率相当大。

“还在沾沾自喜于两个硬盘三个批次,我隔好几年才会买一块盘”
你不是 mirror 么?合着你一开始都是单盘裸奔吗?


你数据量少是因为你没开过 time machine 或者 Windows file history 。我所有电脑都使用文件历史。zfs 会定期 resilver+snapshot 。不仅从根本上挡住勒索软件,还能避免手贱误删。而这事我确实经历过。
你以为像你一样全都是下载的 A 片?

“mirror 只要把容量更大的新盘加进去就行了,而 RAID 的容量是创建时固定死的”
你用过 zpool replace 吗?你才是一知半解,笑死。没用过就 dd 几个空文件,用空文件当磁盘创建 zfs 试验一下。别在这丢人现眼。
raidz 只要替换全部磁盘,当然就会增加容量。同时也可以直接加一整套,做成类似于 raid60 的 raidz2 stripe 。

“我从单盘到双盘能够获得巨大的边际收益(考虑增加的成本)”
还是那句话,你把 nas 当下载机用无所谓。但是你这个态度对待备份服务是不够的。
mrzx
2023-01-11 15:55:26 +08:00
@ryd994 的确,我买的 ups 是 apc 的低端产品,估计剩余电量估不准,跟公司里企业级的 UPS 不能比,回去我还是调整一下,这样最保险。
ungrown
2023-01-11 15:57:15 +08:00
@ryd994 #36 你需要的才不是数据安全,你需要的是以你的财力所能够达到的最最最安全的那种安全。
我的数据又没真的丢过,我的数据怎么就不安全了。
我的数据只在你的脑海里丢过。
mrzx
2023-01-11 15:58:30 +08:00
@ryd994 我为了后期扩容方便,买的是 8 盘位的机箱。

先用 4 个硬盘组了一个 raidz 组,等后期扩容的时候,在用另外 4 个硬盘组个更大的 raidz 组,把就 raidz 组里的数据拷贝到新 raidz 组里就 ok 了。。。这样就不用一个个换硬盘,然后重组。。。
ryd994
2023-01-11 16:15:09 +08:00
@mrzx #39 这个反而是小问题(至少对我来说)。
我买硬盘都是趁促销买的 WD 外置硬盘,比正牌桌面盘便宜得多。里面反而是稳定性更高的氦气盘。如果我需要升级替换,可以直接插 USB 替换好之后再装进机箱。
我用的是 antec P101 silent 。10 盘位,没全用上。优点是非常安静。用静音风扇,站在 2 米外都听不到任何声音。
机箱盘位多确实比较好,之后也可以放些炮灰盘用来跑下载。
其实硬盘不是一定要装在盘位里。能插上电源线数据线,往机箱里哪个角落一放都行。完事了再装进盘位。

我不是经常升级硬盘。所以一个个替换我也可以接受。

@ungrown 数据真丢了之前,谁都想不到数据真会丢。一旦真丢了,就突然发现有重要数据了。
我就这么一说,将来你没碰上是你运气好。碰上了你可以去 reddit 上哭一哭。

多两块硬盘而已,一块硬盘价格都不到我的时薪。为什么不呢?
数据恢复一趟的价格,好的能顶我一周工资了。数据恢复要找就找好的。找半桶水的可能就彻底不可恢复了。

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

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

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

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

© 2021 V2EX