zfs add disk 的设计真挫,很容易出问题,不如直接取消不带 mirror 或者 raid 报错 另外,zfs 的写性能比较挫,不是 pt 下载,大家有推荐的 pt 下载的文件系统吗?(除了上 ssd 方案,纯 sata 方案) 除此之外,zfs 真香,16T 狂盘多不用担心
1
LeoJ 2023-01-10 22:31:16 +08:00
上个 raid 卡,组个 5 不香么… zfs 的掉盘恢复简直了
|
2
busier 2023-01-10 22:38:22 +08:00 4
一直再用 btrfs ,没有早些年网传的那么糟糕,而且比 zfs 操作简单!
|
3
ryd994 2023-01-11 00:51:24 +08:00 via Android 9
1. 你应该先 dry-run ,确认无误后再操作。或者用空白文件当硬盘,实验过命令无误再操作
2. 具体是同步写还是异步写?异步写和其他文件系统差别不大。同步写 zfs 会写两次,可以考虑用 ssd 做 slog @LeoJ 1. 单盘容量超过 2T ,raid5 就是垃圾。单盘容量增加,读写速度并没有增加。非 SSD ,重建速度论天计。重建期间再坏一块,数据就完蛋了。而且 SATA 协议本身就允许少量错误。一般硬盘的 ure 在 10^-15 左右(乐观估计)。重建成功了,但是没有校验,ure 导致数据完蛋了。 好歹用个 raid6 吧 2. 除非启动盘,否则没必要用硬件 raid 。现今的 CPU 已经很强大了,远比便宜的 raid 卡好。软件 raid 比硬件 raid 的性能只好不差。同时还可以方便地使用 smart 来监控硬盘状态。只有启动盘不方便使用软件 raid 。 3. 无 bbu 的 raid 卡做硬件 raid ,特别是 raid5/6 这样的需要 hash 的 raid ,性能非常差,还不如软 raid 。 4. 硬件 raid 无校验。高端硬件 raid 当然可以。但是一般人买得起的洋垃圾配件就别拿出来说了。9220+zfs 比同等价位的硬件 raid 要靠谱得多。而且能选择性重建,重建速度更快。 @zhangjint5 自从 5 年前 btrfs 出 bug 搞丢我数据以来我就不会再用 btrfs 。 btrfs 至今依然无法称得上 production ready 。生产服谁敢用?也就 Fedora 试验田敢在桌面版上推荐使用。因为 Fedora 的地位就是试验田啊。 btrfs raid 的问题更是多了去了。 https://btrfs.readthedocs.io/en/latest/btrfs-man5.html#raid56-status-and-recommended-practices >> should not be used in production, only for evaluation or testing. |
4
ryd994 2023-01-11 00:53:54 +08:00 via Android
如果只是 pt 数据,不考虑数据安全,那当然是 ext4 或者 xfs 。都是老牌的文件系统,稳定性没问题。也不需要 raid 。bt 缓存没了就没了。需要保留的文件复制到其他储存去。
|
5
Jirajine 2023-01-11 02:15:33 +08:00
@ryd994 SUSE Linux Enterprise (包括服务器版) 默认使用 btrfs ,这个不能说是试验田吧。
即使部分 raid 功能还不稳定,单单写时复制的快照和事物更新,在企业场景都是非常有用的。 |
6
ryd994 2023-01-11 04:07:45 +08:00 via Android
@Jirajine Btrfs is the default file system for the operating system and XFS is the default for all other use cases.
系统盘才用 btrfs 。熟悉服务器的人都知道,系统盘不存数据。定期备份一下配置文件就好了。 数据盘默认是 xfs |
8
msg7086 2023-01-11 04:39:45 +08:00
@sNullp 阵列卡有阵列卡的用途,维护起来无脑就是其优点,机房的人闭着眼睛拔坏盘插好盘就行了。
只不过家用实在没必要上阵列卡。 |
9
beijiaoff 2023-01-11 08:16:21 +08:00
pt 的话直接 basic 不阵列就很好。组阵列几乎没有任何收益。不过 lz 问的不是文件系统吗? windows 就是 ntfs ,mac 就是 afs ,linux 就是 ext4 btrfs 这些,这些也不影响你的应用吧。
|
10
ungrown 2023-01-11 08:56:18 +08:00
@ryd994 #3 其实多年以前网络上就有文章表达过这样的观点:一般场景下,mirror 比 RAID 可靠、简单、好用。
|
13
xinh 2023-01-11 09:36:32 +08:00
你们都能看懂主题吗😂
“不是 pt 下载” 是打错字? BT 下载执行的是 16k 随机读写,可以将下载存储池的 recordsize 设置成 16k |
14
ungrown 2023-01-11 10:17:06 +08:00 2
@LeoJ #1 RAID 阵列重建所需要的操作量就摆在那,没法绕过,不管是软的硬的,都避不开这个 IO 量,重建过程中要是再坏个盘,哭都没用,这些问题只要是 RAID 就无法避免,ZFS 也一样,RAID 卡当然也一样。
所以乖乖用 mirror 模式,压根没有重建的问题,用容量去换可靠性、便利性。 |
15
raptor 2023-01-11 10:27:04 +08:00
现在这年代还在推荐 raid5 的都是没死过的……反正我十几年前就已经不敢用 raid5 了……
|
16
mrzx 2023-01-11 10:47:52 +08:00
对数据安全性较低的,对读写性能要求较高的,用 raid5,不过缺点也显而易见,因为你购买的多数硬盘都一个批次,一个硬盘坏掉后,很可能在重组时,坏掉第 2 快盘,那么 raid5 就失效了。整盘数据丢失。
对数据安全性较高的,对读写性能要求较低的,用 raid6,不过缺点也显而易见,尤其是写的速度,那是连 raid5 都不如。相对同时允许坏 2 块盘以上。 而我在项目中,大多用 raid10 zfs 可以用 ssd 做 log 写缓存,不过没有内存带来的收益更大。。。zfs 需要超量的内存,而且必须是 ecc 内存。甚至 turenas 的官方都推荐一个公式,1TB 存储空间=1GB 内存,比如你有 8 块 8T 硬盘,那内存最好不要低于 64G ,内存总之越大越好,内存越多,zfs 写入和读取性能越好。 很多人跑 zfs ,内存小的可怜,又组的是 raidz2,那写入和读取速度自然不理想。 而且 zfs 是不建议上硬件 raid 卡的。会成为 zfs 的性能瓶颈,且硬件 raid 卡一旦损坏+停产,你想恢复数据就很困难了,我在项目中遇到好几次这种事情。。。多备份数据才是王道。 |
17
ryd994 2023-01-11 12:00:46 +08:00 via Android 1
@ungrown mirror 怎么就不需要重建了? mirror 重建的数据量一点不少。
zfs 支持跳过空闲空间,这比 raid 卡全盘重建要快。 mirror 并不比 raid5 安全多少,因为 mirror 挂一块就变成单盘了。然后你怎么办?不重建就当单盘用? 如果你重建,复制数据怎么保证不出错?如果发现冷错误怎么办?如果仅剩的单盘挂了怎么办? raid6 就是比 mirror 安全。因为 raid6 可以挂*任意*两块,数据依然安全。在挂一块的情况下,即使遇到冷错误也可以纠正。即使再挂一块依然能够存活。 企业用 mirror 是基于成本和性能的考虑。基于 hash 的 raid5/6 的随机同步写入性能很差。mirror 没有这个问题。企业用服务器跑应用,当然需要随机写入性能。至于数据安全性反而不是最重要的,因为正经的应用大多有备份或者使用分布式系统,单节点全毁也无所谓。 个人储存,数据安全比性能重要。nas 也就是存点照片电影之类的大文件。软 raid6 的顺序异步写入性能并不差。 @mrzx “zfs 可以用 ssd 做 log 写缓存,不过没有内存带来的收益更大” 这句话并不对。内存是易失性储存,只能做读缓存和 write through/write aside 缓存使用。不能做 writeback 缓存使用。 操作系统和应用程序之间的共识是:同步写成功代表数据已经可靠地写入了非易失储存。flush 成功也是。因此内存无法加速随机写入性能。 想要加速随机写入性能,你需要低延迟的非易失储存,比如 SSD 。而其中低延迟长寿命的代表就是早期的 slc ssd 和 optane 。 企业级 SSD 和硬件 raid 则使用另一个做法:用 DRAM 做缓存,但是有电容、电池来保护 DRAM 里的数据。把易失的缓存变成非易失的。 一般不推荐 nas 加 slog 是因为我上面说的。nas 一般是大文件异步读写。slog 对这种情况没有帮助。如果内存不足,而且无法再升级,那么可以考虑 1. L2ARC ,这个相对安全,但是对写入没有加速作用。对读取的作用也有限。因为 metadata 还在内存里。甚至,L2ARC 还增加了 metatdata ,因为需要跟踪 L2ARC 的使用情况。 2. speicial device 。这个必须至少二度最好三度冗余。因为一旦 special device 损毁,整个池全毁。好处是 metadata 可以放在低延迟的 ssd 上。不仅把小块随机读写从机械硬盘里移了出去。而且不会显著增加内存占用。因为内存里缓存的 metadata 就算因为内存不足被驱逐,也可以迅速从 SSD 里重新读取。 |
18
ungrown 2023-01-11 12:08:40 +08:00
@ryd994 #17 请给你的阅读理解模块的智能联想插件调整一下参数!
我说阵列重建 IO 量大 我说用 mirror 比 RAID 简单可靠 你强行脑补出我并没有说的 mirror 重建比 RAID 重建数据量少 至于为什么 mirror 比 RAID 方便可靠 https://jrs-s.net/2015/02/06/zfs-you-should-use-mirror-vdevs-not-raidz/ |
19
8675bc86 2023-01-11 12:55:54 +08:00 1
Linux 上优先 btrfs 吧,虽然我曾经是 ZFS 内核开发团队的人。
|
20
ungrown 2023-01-11 12:57:02 +08:00
@ryd994 #17 个人存储,数据安全很重要,但不是最重要的,最重要的是成本。
当我只有两块硬盘的时候,“可以承受任意两块硬盘损坏”这种特性,难道能帮到我哪怕半点忙吗? 不能吧? 所以说捏~ 做好数据分类,重要的数据做好备份,反正这事儿本来就得做,无关乎有没有冗余、哪种类型的冗余。 云备份是个好东西,反正用 encfs 套一层加密就不用担心被审查删除,一个百度网盘 SVIP 一年 200 元不到而且还有等级成长容量一年比一年高,对个人用户来说是绝佳的云备份仓库。 准备好这些后路,单盘无冗余也不用太害怕,双盘直接 mirror 更放心。 我是不准备上 3 盘、4 盘的,徒增功耗和麻烦。 |
21
totoro625 2023-01-11 13:10:50 +08:00
|
22
ryd994 2023-01-11 13:13:46 +08:00 via Android
@ungrown 首先,你就不应该只有两块盘。如果你不在乎数据安全当我没说。只有两块盘,但是是大单盘的话。重建成功率很低。重建成功而且数据正确的概率几乎为零。
你能接受丢失两块盘那就别用 raidz2 ,这没问题。但是你要说 mirror 比 raidz2 可靠那就是搞笑了。 你原话是:“乖乖用 mirror 模式,压根没有重建的问题” 这当然不对。mirror 模式一样有重建的问题。用 raidz2 一样有备份的需要。备份和重建这两个问题并不冲突。你为什么偏要用 mirror&备份&不重建 来对比 raidz2&不备份&重建呢? |
23
jinliming2 2023-01-11 13:16:03 +08:00 via iPhone 1
@xinh #13 ,PT 是 BT 的一种,可以理解为是 BT 的一种使用方式。
BT 因为是公开共享的,所以下载者的素质没法保证,很多类似于迅雷这种吸血的。 PT 实际上就是 BT ,但是使用 Private Tracker ,属于小范围内的资源共享,加入 PT 的人都要符合约定,所以质量会比公共的 BT 要高很多。而因为要遵守约定,所以通常需要专门的设备来挂机上传。 具体可以自己再去了解一下。 |
24
ryd994 2023-01-11 13:23:20 +08:00 via Android
@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 和备份并不重复。备份本身也有不可靠的情况。你用百度盘,等真要恢复的时候,祝你能及时下载所有数据而不被限速。 |
25
ryd994 2023-01-11 13:28:33 +08:00 via Android
@ungrown 你要说成本的话,那你怎么省都比不上二手 SAS 盘组 raid0 。
我跑 pt 的下载盘就是这样,当炮灰用,不需要数据安全。 需要数据安全的个人数据备份,放在 6 盘 raid6 ,显然比 mirror 可靠。照片另外备份到 Amazon photo 。 |
26
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 也可以减小损失,减小手动迁移的困难。 所以为什么不应该只有两块盘呢?双倍的冗余难道还不够吗?怎么会不够呢?双盘健在,但是坏道或者坏块,另一盘上有完好的冗余,就有充足的时机买新盘来替换。双盘全部完蛋,那这概率已经超越中彩票了,你这辈子中过彩票吗? 另外我给你的链接你没看吧?因为根据你的观点立场,你如果看了那篇文章的话,应该是没法忍住不骂它的。 |
27
xinh 2023-01-11 13:30:27 +08:00 via iPhone
@jinliming2 知道 pt ,我意思是楼主是不是将“不适合 pt 下载”打错成“不是 pt 下载”。因为他前面说 zfs 写性能不好,而 zfs 默认 recordsize 好像是 128k 的,正好 bt 是 16k 的随机读写,这样会影响到写入性能吧。
|
28
ryd994 2023-01-11 13:42:05 +08:00 via Android
@ungrown 并不是。
ure 了解一下。重建时遇到读取错误,但是硬盘并没有坏,只是数据没了。 当 mirror 只剩一块盘的时候,仅剩的盘就是整个 pool 了。你说这出不了什么问题?仅剩的单盘坏了算不算问题? raidz2 也是久经考验的代码了。 “zfs 报告了该路径下的大量的校验错误”。这恰恰是你应该用 raidz2 的原因。zfs 的可靠性是由冗余度决定的。冗余度越高,就有越多的信息可以用于恢复。 “然后把这个损坏路径之外的数据全部从老盘复制到新盘” raidz2 也可以啊。zfs 的健壮性就在于能识别丢失的数据,不影响正常的数据。可是呢,如果你用的是 raidz2 ,因为有额外的一重冗余度,resilver 直接就会成功。根本就没这么多麻烦事。 “双盘全部完蛋,那这概率已经超越中彩票了,你这辈子中过彩票吗?” 只能说你对 SATA 盘的 ure 概率一无所知。对于两块同型号硬盘同时故障的概率更是一无所知。我的阵列是用两个品牌三个批次的硬盘。为的就是减少同批次同时损坏的风险。 |
29
ungrown 2023-01-11 13:45:31 +08:00
@ryd994 #25 SAS 有什么便宜的,还需要额外的接口,pdd 上 sata 的二手拆机企业盘,1T 价格 50 元这样子,比起 SAS 贵很多吗?
二手盘便宜寿命短啊,考虑到寿命折损,其实 1T 50 元的二手盘比不上新盘划算的。 我上一块硬盘 3T 的,用了 6 、7 年,虽然被换下来了,还是好好的,我拿它做本地脱机备份,不出意外还能用好多年。 考虑到新盘在手上的使用寿命,其实新盘不比二手盘贵的呀,甚至搞不好比二手盘更划算呀。 给炮灰数据用的设备不能算到“一般个人用户需求”的场景下的呀。 对一般个人用户而言,珍贵的数据是很少的,可能连 1T 都不到,不珍贵的数据无非是类似影音库里面那些多媒体文件,丢了也不心疼。 但是炮灰数据的重要性,可是连用来娱乐的影音文件都比不上的呀。电影好歹自己下了还会看,虽然可能一遍都没看完就扔了,可是 PT 下载的那些东西里面,有多少是下载者会真的去访问的? 所以,给炮灰数据用的盘,比一般的不珍贵的数据用的盘,更便宜更垃圾不是很正常嘛,它们本来就不是同一个档次的需求。 |
30
ryd994 2023-01-11 13:58:48 +08:00 via Android
@ungrown
二手 sas 盘比 sata 盘耐用得多。而且恰恰就是因为需要 sas hba ,所以买的人少,价格更便宜。 sas hba 用二手的 9220 ,便宜得很 新盘该挂也是一样挂,你看过 backblaze 的统计数据就明白了。二手盘不见得就是寿命短。而是不知道寿命短不短。这意味着你只能按最坏的情况打算,但是实际上可能用很久都没事。 你愿意用新盘也无所谓。我的重点不变:下载盘用 raid0 也行,用 mirror 也行。对于下载盘,需要的是性能不是数据安全,前文的所有理由都成立。确实不该用 raidz2 但是你把下载和个人数据备份混一起就不对了。一个要求数据安全,一个要求性能&成本。选择的重点当然也就不一样。技术选型,准确分析需求很重要。需求不同选型当然也就不同。 混在一起,说明你的备份数据和下载数据一样价值。不知道你怎么看待自己的数据。但是我认为我个人数据是需要安全性的。 “对一般个人用户而言,珍贵的数据是很少的,可能连 1T 都不到” 这就看你的使用场景了。如果就这么少的话组全 SSD 阵列也无不可。或者增加备份冗余度减少 raid 冗余度也可以。但是数据少不是降低冗余度的理由。 如果你觉得这点数据不值得多一块硬盘的成本,那说明你的数据的价值也仅此而已。你不需要这么高的数据安全,没问题。 但是你说 mirror 比 raidz2 安全,那就不对了。 |
31
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”的人,有什么区别? |
34
ungrown 2023-01-11 14:46:31 +08:00
@ryd994 #30 新盘该挂当然一样,但你是想借此表达新盘和二手盘挂的几率一样吗?你可仔细想好,瞧瞧你为了反驳为了面子已经满脑子情绪没剩下多少逻辑了。
我对 SAS 盘的了解只有它的接口和它的二手价格,但是大多数相关的论坛、分享文、自媒体视频,都建议不要优先选择 SAS ,想用也没啥不好,但是不优先推荐。我找不到理由不听取这些建议。 |
35
ungrown 2023-01-11 14:52:05 +08:00
|
36
ryd994 2023-01-11 15:52:08 +08:00 via Android 1
@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 当下载机用无所谓。但是你这个态度对待备份服务是不够的。 |
37
mrzx 2023-01-11 15:55:26 +08:00
@ryd994 的确,我买的 ups 是 apc 的低端产品,估计剩余电量估不准,跟公司里企业级的 UPS 不能比,回去我还是调整一下,这样最保险。
|
38
ungrown 2023-01-11 15:57:15 +08:00
|
39
mrzx 2023-01-11 15:58:30 +08:00
@ryd994 我为了后期扩容方便,买的是 8 盘位的机箱。
先用 4 个硬盘组了一个 raidz 组,等后期扩容的时候,在用另外 4 个硬盘组个更大的 raidz 组,把就 raidz 组里的数据拷贝到新 raidz 组里就 ok 了。。。这样就不用一个个换硬盘,然后重组。。。 |
40
ryd994 2023-01-11 16:15:09 +08:00
@mrzx #39 这个反而是小问题(至少对我来说)。
我买硬盘都是趁促销买的 WD 外置硬盘,比正牌桌面盘便宜得多。里面反而是稳定性更高的氦气盘。如果我需要升级替换,可以直接插 USB 替换好之后再装进机箱。 我用的是 antec P101 silent 。10 盘位,没全用上。优点是非常安静。用静音风扇,站在 2 米外都听不到任何声音。 机箱盘位多确实比较好,之后也可以放些炮灰盘用来跑下载。 其实硬盘不是一定要装在盘位里。能插上电源线数据线,往机箱里哪个角落一放都行。完事了再装进盘位。 我不是经常升级硬盘。所以一个个替换我也可以接受。 @ungrown 数据真丢了之前,谁都想不到数据真会丢。一旦真丢了,就突然发现有重要数据了。 我就这么一说,将来你没碰上是你运气好。碰上了你可以去 reddit 上哭一哭。 多两块硬盘而已,一块硬盘价格都不到我的时薪。为什么不呢? 数据恢复一趟的价格,好的能顶我一周工资了。数据恢复要找就找好的。找半桶水的可能就彻底不可恢复了。 |
41
ungrown 2023-01-11 16:18:06 +08:00
@ryd994 #40 首先我的数据不怕丢,因为有足够多的副本备份在他处。
其次我的 pool 目前还没有因为硬盘损坏丢过数据,但是你一再得用自己幻想出来的场景说得好像我的数据已经丢了很多遍一样。 你是不是很希望我的数据丢一次,然后我后悔莫及,没有早点听你的话? 如果你真这么想,我觉得你需要想办法物理接触我的设备才行。 |
42
ungrown 2023-01-11 16:36:14 +08:00
@ryd994 #40 “一块硬盘价格都不到我的时薪”
这是你说的 “最烦那些明明自己高高在上、已经超越了一般人需求的,非要来强行代表一般人,瞎凑热闹。” 这是我前面说过的 顺便回答你另一件事(虽然如果我前面已经提过了,而且不止一次): 是的,我之前单盘 pool 跑了 6 、7 年,唯一的数据损坏就是因为一次 ubuntu 内核跑飞,这块盘目前仍然健康。 强制断电、直接拔机箱电源、运行过程中直接徒手拔插 SATA 供电线的次数,两只手数不过来。 停电、跳闸也不是一次两次。 曾经有一段时间,我的 SATA 供电转接线接触不良导致我的硬盘每隔几十秒几分钟就掉电再重新上电,我一开始没有想到是供电的问题,两个星期之后才意识到问题所在换掉转接线,即使如此这盘也毫发无损,数据也毫发无损。 如果你觉得这一切都是因为运气,那么我的运气好得离谱,我应该去买彩票,但我压根不想。 |
43
ungrown 2023-01-11 16:40:13 +08:00
@ungrown #42 我倒是有点好奇,哪天你的数据丢了,你会怎么想,是“早知道不花这么多钱了”,还是“花的钱还是不够多呀”
|
44
mrzx 2023-01-11 16:40:25 +08:00
@ryd994 我的机箱是银欣 cs380,这款机箱最大的优点是有专门的风道给 8 块硬盘槽进行散热。
不过看到你这个机箱后,瞬间觉得我的机箱不香了,明显是你那个更有性价比。 多问一句,你这个机箱有专门给硬盘供电的电路板吗?还有就是可以直插 sas 吗? 我用 nas 契机跟你差不多,去世的奶奶照片等珍贵资料,我就放在一个移动硬盘里,突然有一天移动硬盘坏了,我到处找数据恢复,那时候 2009 年那会特别特别的贵。反正大几千元花下去了,只恢复了 80%的数据,恢复的所有文件名都乱了,我整理就整理了几个星期。。 这些资料用钱是无法衡量的。没丢失过重要数据的人,真的是无法体会这种懊恼和后悔。。 那时候我女朋友(后来的老婆)提醒我,与其花这个钱,还不如直接买个 nas 呢。。 早期买的商用的 nas,选择的是 buffalo nas,可是没多久 buffalo nas 内置 flash 装操作系统的芯片坏了,导致软阵列信息全部丢失,亏好提前用移动硬盘备份过数据。 后期我就在想,有没有就是操作系统本身坏了,或者整个硬件,除了硬盘之外的所有东西都坏了,数据都不会丢失和方便迁移的方案。。。 当初发现 freenas7 很好用,一直用到换 truenas 到现在。。。为此还做过只将硬盘更换,整个硬盘平台迁移的实验,看看数据是否会丢失。。。 我的 nas 硬件平台都更新换代几次了。。。。 |
45
mrzx 2023-01-11 16:47:09 +08:00
@ryd994 别跟他争拉,每个人的需求都不一样。。。大多数人可能跟我们对数据安全性看的没那么重,或者还没意识到。
等让他们经历次重要的数据损毁后,才能意识到数据安全性也是挺重要的,搞不好回头还会在翻这个帖子看解决方案呢 |
46
ungrown 2023-01-11 16:56:36 +08:00
@mrzx #45 "等让他们经历次重要的数据损毁后,才能意识到数据安全性也是挺重要的,搞不好回头还会在翻这个帖子看解决方案呢"
首先我的数据不怕丢,因为有足够多的副本备份在他处。 其次我的 pool 目前还没有因为硬盘损坏丢过数据,但是你一再得用自己幻想出来的场景说得好像我的数据已经丢了很多遍一样。 你是不是很希望我的数据丢一次,然后我后悔莫及,没有早点听你的话? 如果你真这么想,我觉得你需要想办法物理接触我的设备才行。 我之前单盘 pool 跑了 6 、7 年,唯一的数据损坏就是因为一次 ubuntu 内核跑飞,这块盘目前仍然健康。 强制断电、直接拔机箱电源、运行过程中直接徒手拔插 SATA 供电线的次数,两只手数不过来。 停电、跳闸也不是一次两次。 曾经有一段时间,我的 SATA 供电转接线接触不良导致我的硬盘每隔几十秒几分钟就掉电再重新上电,我一开始没有想到是供电的问题,两个星期之后才意识到问题所在换掉转接线,即使如此这盘也毫发无损,数据也毫发无损。 如果你觉得这一切都是因为运气,那么我的运气好得离谱,我应该去买彩票,但我压根不想。 |
49
ToBeHacker 2023-01-11 17:39:22 +08:00
zfs 重建数据非常慢,我的经验是一块 6t 的盘掉了,重建需要一天。
个人建议使用 zfs 至少 raid6 以上,硬 raid 更好 |
51
wevsty 2023-01-11 18:09:23 +08:00
@mrzx
P101S 没有硬盘背板,数据线和供电需要自己走线的。 我个人备份是用的 Mirror ,然后定时 rsync 到一个冷盘,并且 3 块盘均来自不同的渠道,我认为 3 盘同时挂掉的话,我认栽了。对我个人来说这种方案已经提供了足够的容量,性能和安全性。 对比 Mirror ,RAIDZ2 能提供的安全性显然是更高的,一次性投入的硬件成本也更高是事实,还是根据个人的预算和需求来选择就好了。 |
53
ltkun 2023-01-11 18:21:18 +08:00 via Android
zfs 新手 3 组硬盘组了 raid10 不敢组 raidz 怕玩不转 加了 1t 的 nvme 做缓存 随机读写效率很好
|
54
ryd994 2023-01-11 18:22:52 +08:00
|
55
ipwx 2023-01-11 18:25:59 +08:00
@ryd994 你把你的 nas 捣鼓的再安全,也并不能搞定 “如果你家火灾了怎么办”。
从性价比的角度考虑,你最重要的十几个 GB 的数据数据做云端备份,然后不那么重要的数据放 nas + raid 。看成本选择 raid6 (太贵了对我来说)还是 raid5 ,还是冷备。你别和我说个人能产生 10 几个 TB 的重要数据,哪怕天天用索尼相机拍 6100 像素的 RAW 也不过十几个 GB 。还是说你天天用 16bit 拍视频素材?这种规格一般的影视工作室都没有。 ---- ps. 其实我觉得 raid6 根本比不上多盘冷备吗,一直通着电的 nas 它硬盘再怎么牛逼肯定也没有普通不插电硬盘寿命长。硬盘盒子而已多少钱,写个脚本过段时间记得插上盘同步一下就行了。 |
57
ipwx 2023-01-11 18:27:11 +08:00
@ryd994 从实用主义角度,我觉得你多少有点 “为了折腾安全的 nas 而折腾” 的意味。除非你能列出来你到底在你的 nas 上存了多少个 TB 你个人具有价值的数据。
小电影、动漫之类的都不算。你可能觉得它们很重要,其实完全删了,过一两个月你会觉得以前屯这些玩意儿是不是有大病。 |
60
mrzx 2023-01-11 18:38:46 +08:00
@ipwx 估计你没经历过以前大面积网盘关闭事件。
2012~2014 年那会,好多网盘因为难以为继,突然宣布关闭。。。但是我还挑选了华为网盘呢,以为大公司,靠谱,结果我到知道要关闭的通知,只剩半个月的时间了,而大家可能是挤兑式的下载资料,总之网速只有几 KB/S...到站点关闭,我存上去的资料都没下载完整。。。 主要大多数网盘没有明确靠谱的盈利方式。。关闭是迟早的事。。。估计只有 google,apple 这类的大公司才会把这类业务当作是生态圈中的一员吧。。。 现在百度网盘的盈利模式让人汗颜,甚至有段时间我发现百度网盘失去焦点后过段时间,会导致 GPU 使用率飙升致 90%以上,不知道是挖矿呢,还是在利用客户端做 GPU 计算。。你可以试试最新的百度网盘-windows 版本。。。。 至于数据产生量,每个人,甚至说每个家庭都不一样。。比如我老妈,就喜欢用手机拍照片,116G 的照片。里面有 168256 个文件,325 个文件夹。都放在 nas 里,我还在愁如何给这些照片分类,规划呢。。。。她开心的时候,一天拍个几百张不在话下。。而且从来不删,要求我保存好。。。。 |
61
ipwx 2023-01-11 18:43:11 +08:00
|
63
xuhaoyangx 2023-01-11 18:51:55 +08:00
楼上说的都很清楚。
无论是硬 RAID 还是 ZFS 、Windows 存储池的这种软 RAID ,普通非企业用户,遇到坏盘的正确操作,是将所有数据备份出来,而不是去重建。 硬盘容量 + 盘数,这两个参数,值越大,失败率越高,同时一堆用着非企业级硬盘的玩家,渍渍。普通家用硬盘或者什么针对 NAS 优化的硬盘,重建失败率太高了。 身边玩 PT 的人,太多重建失败的例子。 我现在的重要数据存储冗余方式,是文件夹级别。 |
64
Emmerich 2023-01-11 19:42:27 +08:00
@fonlan 群辉也没有办法解决 btrfs 的 raid 数据错误问题,用的 linux RAIDhttps://kb.synology.cn/zh-cn/DSMUC/tutorial/What_was_the_RAID_implementation_for_Btrfs_File_System_on_SynologyNAS_UC
|
65
ryd994 2023-01-11 20:01:49 +08:00 via Android 1
@ipwx #59 国外人工贵,硬件相对便宜,有问题?数据恢复的价格只会更贵。
#55 我没说 raidz2 可以代替异地备份啊,我也没说过我没有异地备份啊。问题是 raid6 你正常用有那么贵么?多上一重保险有问题吗? 冷备的问题是实际执行能做到多少。更大的问题是冷备本身可能也是坏的数据。除非你能严格执行版本管理。长期稳定转动的硬盘还真就没那么容易坏。反复上电才坏得快。楼上还有人配置 spin down 的。spin down 正确做法就是禁用。 我数据本身是没十几 T ,但是文件多版本快照加起来这点数量级很正常。我哪天手贱删了什么数据,过一个月再找还是能找得到,这叫安心。 8T 硬盘不比 2T 硬盘贵多少,西数买外置盘只有大容量的才能避开 smr 盘。氦气盘虽然功耗大点,但是人家稳定性就是高啊,backblaze 实际数据证明。 你觉得贵,没问题。没人逼你花钱。 #57 我这叫折腾,你们挂 bt ,搞软路由 all in boom ,挂 home assistant ,折腾黑群晖就不叫折腾?你每周插拔硬盘这不叫折腾? |
66
ooxxcc 2023-01-11 20:05:39 +08:00
群辉不太行,群晖的 SHR 其实是
lvm PV 套 mdraid 套 lvm VG 套 flashcache 套 btrfs single (打了补丁跳过了部分校验) 我觉得是灵车漂移 |
67
ooxxcc 2023-01-11 20:09:15 +08:00 1
@ryd994 不用和他争论了
作为笔记本 borg 备份到 nas ,本地 nas 上用 zfs raidz2 + zrepl snapshot 快照,一份本地离线备份 + 两份异地备份 + 加密上传两个不同公有云 的用户,我理解你对数据冗余的追求 我建议“放弃助人情节,尊重他人选择” |
69
fonlan 2023-01-11 21:29:40 +08:00 via Android
@Emmerich btrfs 和 btrfs raid 不是一回事儿吧,单 btrfs 不还是有在用的么
|
70
LeoJ 2023-01-11 22:26:48 +08:00
额 没想到大家竟然认真讨论了 哈哈
之前做产品的时候折腾过各种百 TB 的满速读写的方案(每个背板都跑满),试过各种缓存、分层,换过各种文件系统,最后回归硬 RAID 卡+XFS ,用个 dell 的 H730P 就 OK 了,服务器单背板也就 12Gbps 的带宽,2GB 的缓存足够了。RAID5+hot spare ,基本没出现过掉 RAID ,别用 6 或者 50 ,性能极差。重要数据是 10 。 |
71
kenpuluma 2023-01-11 22:30:23 +08:00
@ungrown 每个人对数据的追求不一样。但硬盘损坏概率几个大的数据中心都是有数可查的。平均 1-2%的概率,尤其是硬盘生命末期挂掉的概率会指数增长,怎么也不能说小。你遇到的少只能说是本来保有量就小,说白了也就几个 T 的数据而已。
|
72
ungrown 2023-01-12 00:46:27 +08:00 via Android
@kenpuluma 普通用户哪怕用上了 nas ,不照样硬盘数量和数据量大不到哪里去吗?
那么为什么有的用户明明已经远远超过了这个档次,却还要强行拿他的需求和“追求”来代表普罗大众?到底是来分享心得的还是显摆(虽然被识破没人理)的? |
73
ryd994 2023-01-12 04:06:03 +08:00 via Android 1
@LeoJ 个人 nas 的瓶颈是带宽和客户端性能。CPU 和硬盘带宽通常是过剩的。而且大文件顺序写入多,随机写入少。因此,raid10 对于个人储存来说不合适。raid6 的“性能极差”对于这个应用场景来说完全不是问题。
比如我 6 盘 raid6 顺序读写跑满也就 500MB/s ,随机读写没测过。这放生产服来说当然是不行,跑应用当然也不行。但是我家反正也只有千兆网。家里有万兆的人恐怕不多吧?那这个速度就很合理。 如果是处理应用数据的服务器,那 raid10 没毛病。生产服务器很多都是 raid10 ,或者就不 raid 全靠分布式文件系统。硬 raid5/10+bbu cache ,问谁都挑不出毛病来。 还是那句话,技术选型需要分析实际应用场景。不能单纯因为企业用什么,就简单认为什么更好。 |
75
Emmerich 2023-01-12 08:52:15 +08:00
@fonlan btrfs RAID 本身就属于 Btrfs 文件系统的一种功能,就像 ZFS 的优势也是需要 ZFS RAID 来实现的,btrfs 不如 ZFS 就可以从这里体现,能用,但部分地方还是不太稳定
|
76
feelinglucky 2023-01-12 10:13:52 +08:00
我其实也奇怪,但是我感觉 btrfs 就像阿斗,十几年了但是 raid 功能还不能生产环境使用,哪怕是重写都已经翻了好几轮代码了吧…哎
|
77
mrzx 2023-01-12 11:33:06 +08:00
@feelinglucky 现在 open zfs 前景不错哦。。
|
78
xinmans OP @ungrown 如果盘多选 raidz2 ,3 更优,比如我是 8*16T ,盘少选 mirror
|
79
ipwx 2023-01-12 14:12:41 +08:00
@ryd994 #65 “我这叫折腾,你们挂 bt ,搞软路由 all in boom ,挂 home assistant ,折腾黑群晖就不叫折腾?你每周插拔硬盘这不叫折腾?”
—— 你说的我都不搞啊,什么 bt ,软路由,home assistant ,黑群晖都不折腾啊。我家里的 nas 一般都不开机的,只是在 P 图的时候开机然后导一下相机数据。顺便还有外置硬盘盒子冷备份。仅此而已。 |
80
xinmans OP @mrzx 这个方法我现在就在用了,确实比较稳妥,而且可以用 zfs send/recv 来互相快速 sync 数据。看到一个人在用 snapshot 做互相备份,就是只备份 snapshots ,有问题,用 snapshot 来恢复而不是做数据重建,其实 zfs 最有价值的功能是他的快照功能。
唯一的不足是无法搞成一个大的存储池子,相当于分池了。不过我是用 4*4T 和 8*16T 分别建了 raidz 。也合理。 |
81
sunnysab 2023-01-13 22:47:03 +08:00
歪个楼,我在折腾 nas 之前也听说 zfs 对内存需求特别高,跑 zfs, 实际用的时候不知道为啥内存使用量上不去。三块 8T 组 raidz:
root@nas ~# free -m total used free shared buff/cache available Mem: 9872 2692 6771 0 408 6888 Swap: 0 0 0 root@nas ~# arcstat -a time hits miss read hit% miss% dhit dmis dh% dm% phit pmis ph% pm% mhit mmis mread mh% mm% arcsz size c mfu mru mfug mrug eskip el2skip el2cach el2el el2mfu el2mru el2inel mtxmis dread pread grow need free avail waste 22:43:50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.4G 1.4G 1.5G 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 6.8G 6.2G 19M 读写较多的情况下内存占用也不到 5G 内存。并且 arc 相关的 limit 都很高的…没有碰到限制。 可能是我读写较少的缘故?如果 NAS 上采用 zfs, 可以多实验,实际可能真的不需要 1T => 1G 。 |
82
ryd994 2023-01-14 07:49:58 +08:00 via Android 1
@sunnysab zfs 对内存需求已经不大了。8G 是必须。
如果不开 dedup 的话不再要求 1G/TB 了。家用 nas 的瓶颈是网络,千兆网最多也就 125MB/s ,就算不用阵列,单盘都能超过这个数。所以不必强求 1G/TB 。 如果你是新建的话,可以把 block size 设大一点。同样有助于减少内存占用。 |
83
ltkun 2023-02-05 11:25:26 +08:00 via Android
@mrzx 我最近也准备换个银欣 c 是 380 但是网上测评不多 不知道这个机箱使用下来合适不 八盘位再加上个光驱位可以装三个硬盘 11 盘应该也能满足了 自己硬盘以 4t 为主 不想升级硬盘了 不想买那些常规 nas 机箱太小巧了影响散热 目前用的微星大机箱 除了不能热插拔其他都 OK
|
84
mrzx 2023-02-05 19:33:36 +08:00
@ltkun 现在 8TB 硬盘是主流了,10TB 还有些最贵(我是以 wd 红盘 plus 为基准),你买小容量的硬盘,反而亏,性价比不高
4TB 739 元( 1TB 大概 184 元) 6TB 1189 元( 1TB198 元) 8TB 1359 元( 1TB 169 元) 10TB 2019 元( 1TB 201 元) 你在反观其他硬盘品牌,差不多都是这个规律。 所以别买小硬盘,其实是亏的。 |
85
mrzx 2023-02-05 19:37:33 +08:00
|