V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ryd994  ›  全部回复第 45 页 / 共 494 页
回复总数  9880
1 ... 41  42  43  44  45  46  47  48  49  50 ... 494  
2021-08-07 22:59:30 +08:00
回复了 LeeReamond 创建的主题 问与答 关于硬盘 RAID 配置的科普与疑问
@singerll bbu 就是用来开 writeback cache 的。你不用 writeback cache 的话 bbu 对数据一致性没有任何作用,无论是否有 bbu,用的是软件 raid 还是硬件 raid 。
2021-08-07 22:52:58 +08:00
回复了 LeeReamond 创建的主题 问与答 关于硬盘 RAID 配置的科普与疑问
@singerll 你对硬件 raid 能解决的问题有根本性误解。硬件 raid 是能提供一个非易失的写入缓存。软件 raid 是靠 ssd 来提供。这两者的数据一致性是一样的。区别在于性能。
机械硬盘,你发出 flush 指令,硬盘告诉你 flush 完成了就是完成了,断电也不会没有。
所有软件在编写的时候就必须考虑数据的写入缓存和同步的时机。就算基于硬件的 raid,操作系统也在多个级别上有各种各样的缓存,包括 libc,vfs,page cache,io queue 。不 flush 到 raid 卡的缓存区你的 bbu 有个毛用。数据一致性是靠正确的缓存管理,问题在缓存管理,你往 raid 技术上用力有个毛用?

我不是在说数据一致性问题不存在而是在说硬件 raid 无法解决你说的问题。而当你正确地解决了数据一致性问题时,软件 raid 也一样没有问题。
2021-08-07 22:43:02 +08:00
回复了 LeeReamond 创建的主题 问与答 关于硬盘 RAID 配置的科普与疑问
@singerll 你对硬件 raid 特别是写入缓存的认识有根本性问题。
1. 硬件 raid 的 bbu 不能保证数据写入,而是保护缓存数据,如果你不及时重启还是会完蛋,你这是根本性错误。
你就没有想过 raid 卡那点小电池 /电容怎么可能驱动几十块硬盘?
企业级 ssd 内置的电容也是提高随机写性能用的。没有电容的 ssd 就不能用了吗?就会丢数据吗?固件写得差的时候才会。

2. 硬件 raid 并不会提高数据一致性。文件系统本身就可以保证断电不崩。缓存的作用而是提高性能,让你可以忽略 flush 指令。如果没有缓存,数据正确性和安全性不会有问题,只有随机写入性能问题。不管实际情况瞎配置才会丢失数据。

没有缓存不会导致数据丢失,只会导致性能问题。只有你自己软件写的垃圾才会丢数据。
2021-08-07 21:23:59 +08:00
回复了 LeeReamond 创建的主题 问与答 关于硬盘 RAID 配置的科普与疑问
@singerll
1. 那你得找啊。软件随便你换什么设备什么系统,只要有对应的软件支持,都能读出来。如果系统挂了,数据盘换台机器就能导入。硬件 raid 能实现的功能,配置信息多写一份的事情,软件 raid 怎么可能实现不了?软件相对硬件的优势首先就是灵活性。

2. 软件 raid 的配置信息和硬件 raid 一样,是在数据盘上分布的。你有没有用过软件 raid ? mdadm 或者 zfs 。就算你只插一块盘,系统也能识别这是 raid 盘还能告诉你缺了什么。硬件 raid 碰上傻逼 raid 控制器的,要保证顺序一样否则直接重建。工业上当然不会用这么傻逼的控制器。但是家用你买低端卡的话还真能买到。

3. bbu 和超级电容还是要上 ups 啊。你最大的误区在于:writeback cache 到底有什么用?
如果你是顺序写入,writeback cache 是没有用的。这也是家用 nas 的使用场景。瓶颈就是磁盘速度。日志文件系统不会因为断电就损坏,只会损失最后写入的一点数据。反正你软件已经没了,只要文件系统不崩,差这点数据没区别。

writeback cache 的作用是提高随机写入。对于数据库来说,差最后这点数据,数据库结构就崩了。所以数据库必须在每个修改之后都 flush 。而是数据库操作大多数随机的。结果就是性能会非常差。有非易失写缓存的情况下,raid 控制器可以忽略 flush 请求,只要写到缓存就算 flush 完成。

就算没有写缓存,只要合理配置,而不是瞎关 flush,那么即使断电也不会损失数据。只是性能差。而这对于家用的文件储存 nas 来说就不是问题。

4. 你停电就开始关机的话 ups 会耗尽?家用 nas 又没有在线率要求,停电了反正你其他设备也停了,关机就行了。
你说冗余电源会坏还不如先问问 raid 卡和 hba 哪个更容易坏?
冗余 hba 很简单,sas 协议本来就支持,全插上去就行了。设置管理冗余 raid 控制器则复杂得多。

软件 raid 还有一大优势就是可以选择性地恢复和校验。这是 zfs 这些基于文件系统的阵列相对于基于块的磁盘 raid 的优势。

生产上用硬件 raid 主要还是因为性能问题。高速读写时软 raid,特别是 raid5/6 这些 hash,对 CPU 还有 pcie 带宽的占有都很厉害。
2021-08-07 19:10:08 +08:00
回复了 LeeReamond 创建的主题 问与答 关于硬盘 RAID 配置的科普与疑问
@singerll
1. 只有 writeback 缓存才有数据安全的问题。硬件 raid 如果没有 bbu 的话是不会使用 writeback 模式的。而且 bbu 保护是保护缓存数据直到来电,而不是驱动硬盘继续写入。
软件 raid 想要高随机写入可以用 ssd 缓存,比如 zfs slog 。硬件缓存撑死了也就那点 ram,ssd 缓存容量大得多

正常用 nas 肯定是要配 ups 的,停电就开始关机。服务器还有双电源。所以不存在你说的突然掉电问题。
2.“硬件 raid 无论磁盘还是 raid 卡,挂了换一个都能恢复 raid 信息。”
前提是你得有同品牌甚至同型号地区。
软件 raid 的配置信息也是保存在盘上啊,你以为保存在系统盘里吗?
软件 raid 的硬盘换个系统,导入一下就可以了。
所以大家用 nas 的时候都是用垃圾 ssd 或者 U 盘做系统盘。就是因为挂了也无所谓。系统配置平时很少动。定期备份到 U 盘就好了。

如果硬件 raid 找不到对应的硬件,救数据还得靠软件。毕竟软件只要知道是什么格式,总能找到支持的软件,性能且不论。
2021-08-07 18:47:24 +08:00
回复了 cncmmdwl 创建的主题 NAS 有人配过过机房用 nas 服务器么,差不多带 100 台服务器读写
还有一个问题,你这种大量客户端同时满速传输的情况,最好考虑 rdma 或者其他 lossless 网络技术。这个在超算课上讲过,超算和储存节点之间的通讯基本没有用 TCP 的,原因就在于 TCP 的流控和 backoff 机制对于大量同步的连接,效果很不好。同时启动,同时 backoff,同时再启动,结果大量丢包同时跑不满带宽。
所以你这个做法可能不管用,要有心理准备。限制并发连接数可能反而速度更好。
2021-08-07 11:32:17 +08:00
回复了 LeeReamond 创建的主题 问与答 关于硬盘 RAID 配置的科普与疑问
频繁通电的问题是磁头会磨损
磁头不是固定在盘片上方,而是靠气动力学在盘片上“飞行”。所以如果盘片转速不对就会磨损磁头。磁头有石墨、钻石涂层,所以正常使用不成问题。但是你要是每几分钟就停一次,那很快就会出问题了。
一直转的话,反而没什么磨损。最多就是磨损电机轴承
2021-08-07 11:28:54 +08:00
回复了 LeeReamond 创建的主题 问与答 关于硬盘 RAID 配置的科普与疑问
1.差不多是这个意思。也有硬件 RAID 卡。重点在于 RAID 逻辑由 CPU 程序还是由专门的硬件处理。
2.RAID 无法保护坏道和错误数据。RAID 的设计前提假设了硬盘挂就是彻底挂。现实中会有两个问题:1. 数据错了,但硬盘不知道 (冷错误)。2. 硬件工作不正常,卡死了。便宜的 RAID 卡就会傻等。所以企业级 NAS 盘有 TLER 功能。
ZFS 等带校验的文件系统可以解决前者。

4. 真遇到过。我之前的笔记本 bios 默认省电。用了一年,硬盘 SMART 里 load in 健康掉了 40%

乖乖搞远程和离线备份。RAID 救不了手抖和加密病毒。这也是为什么我不在 NAS 上跑乱七八糟的应用。储存就是纯储存。挂机下载放到另一台机器上。NAS 上定时 ZFS snapshot 。只要 NAS 本身不被攻破,就不怕勒索病毒。

RAID 是保护在线率(availability)的,不是保护数据留存率(durability)的
2021-08-07 02:39:30 +08:00
回复了 cncmmdwl 创建的主题 NAS 有人配过过机房用 nas 服务器么,差不多带 100 台服务器读写
@cncmmdwl 非推荐,纯举例
https://www.broadcom.com/products/storage/host-bus-adapters/sas-9300-8e
关键字 SAS3 external hba
lsi 的卡最后一位是 e 就是外置口,i 就是内置口

内置口也可以通过转换器转成外置口。实际上就是一条延长线,固定在 pci 挡板上。这样就不怕拉扯问题了。

你确定只有一通道? minisas 一条线是 4 个通道。所以 lsi 8 port sas 卡只有两个 minisas 头。

你说生产数据可以丢这个问题。把可以丢的数据放在另一个 zpool/dataset 上,可以强制忽略 sync 。不 sync 的话性能会好很多。或者扔到一个 raid0 上。钱够的话 ssd 组 raid
2021-08-07 00:34:16 +08:00
回复了 cncmmdwl 创建的主题 NAS 有人配过过机房用 nas 服务器么,差不多带 100 台服务器读写
避免误导你,我先讲清楚,我是外行,不是大佬。所以我说的内容很可能都是业余瞎玩的
2021-08-07 00:30:34 +08:00
回复了 cncmmdwl 创建的主题 NAS 有人配过过机房用 nas 服务器么,差不多带 100 台服务器读写
@cncmmdwl 你为啥要用光纤 sas hba ?直接用 minisas 的卡呢?
不说带宽,就说口数的话两三个 expander 已经够了。那 HBA 也只需要 8port/2 槽(一条 minisas 线走 4 个 port )。
如果按 6Gbps 算的话,600MB,大约可以给四五个盘。8port 也是勉强够用的。
还有 pcie 带宽的问题,所以用多个 hba 是必要的。
2021-08-06 18:21:23 +08:00
回复了 cncmmdwl 创建的主题 NAS 有人配过过机房用 nas 服务器么,差不多带 100 台服务器读写
2.你有没有那么大的随机写入负荷。如果是只读或者顺序写入的话 slog 用处不大
3. 你是在说 zfs dedup ?多放内存可以用
5.对。扩展卡只要有供电就行,不需要真 pcie 槽。
7.就是直接从卡上接。找接口外置的 hba 。每个硬盘柜至少一个 expander 。expander 找有外置接口的。服务器和硬盘柜之间用 sas 线直连。如果你要高可用的话还需要考虑多个 HBA 和 expander 直接交叉组网互联

说实话我觉得单机 4.2/15*100=28G 可能真的有点难度。特别是 zfs 还要计算 xhecksum,你想 dedup 就更慢。

阵列卡只要接口数量够就行了。性能都够用,因为这是当 HBA 用,本身不参与阵列。
2021-08-06 10:19:46 +08:00
回复了 LeeReamond 创建的主题 NAS 关于自建 NAS 服务的,主板 CPU 平台选择
恭喜老哥入坑。
raid5 主要是现在的盘单盘容量大,传输速率却没有长进。raid 重建时间可以达到数天。这期间 raid5 完全没有保护。重建过程本身就是满负荷运行,再挂一两块盘很常见。
楼上说用 raid1 就安全的,实际上完全不安全。如果你是两盘,那只能 raid1 没话说。如果你有超过两盘,那你实际上用的是 raid10 。如果掉了一块盘,你重建时用的就是同一组 raid1 的另一块盘。然后你就又回到了上面的问题:身家性命都在一块盘上,而且是负荷最重的那块。

对于个人使用,要么是用 unraid,承受数据部分损毁的风险。要么是用 raid6/raidz2 。
工业上用 raid10 是因为 raid10 的性能好太多,而且不吃 CPU 。个人使用这不是问题,除非你家有万兆网。

硬件配置方面,不建议用任何家用 CPU,特别是 5 代以后的酷睿。因为没有 ECC 。
建议使用服务器主板。服务器主板不会比同级别的家用主板贵太多,因为配置侧重点不一样。服务器主板能支持 ECC 和 ECC Reg 内存,这种淘汰的服务器内存收洋垃圾是白菜价。但是 ECC 的稳定性还更高。服务器主板还会增加一些很方便的管理功能,比如 ipmi/idrac,这能给今后的使用省下很多力气。

我最终配置就是
洋垃圾 x10sdv 主板,内嵌 Xeon D CPU
洋垃圾 ECC Reg 内存 8GB*2,留下 2 槽的升级空间
新电源,用的是华硕的 450w 的 80Plus 铜牌电源,刚好赶上促销,长城代工想来质量应该还过关,就买了
新机箱,P101Silient,价格便宜盘位多
noctua A6,给 CPU 增加散热。
以上总价不到 400 美元

此外我还有一张 SAS HBA 。也是洋垃圾。刷 IT 固件当 HBA 用
垃圾 ssd 当系统盘。用 u 盘也可以。
各种线和零散配件,加上 hba 应该也就 50 美元最多



这个配置有什么优势:
ECC Reg 内存稳定还便宜
主板自带双万兆网卡,自带专用网口的 ipmi,自带 6*SATA
机箱自带 8 槽,找个笼子可以加到 10 槽。10 槽以上靠自己魔改
机箱散热不错还静音

缺点:
只有一条 pcie 槽,用来插 HBA 之后就没空位了。好在 HBA 可以靠 SAS expander 无限扩展
另外有一条 M2 槽,可以转成 pcie 槽用。
网卡不可能升级,不过双万兆对于大部份人来说应该也不需要升级了

你的话可以考虑一下 Atom 服务器平台,比 xeon d 弱但应该够用。不知道是否有二手好价。部分 Atom 有楼上说的时钟信号损坏的问题。维基百科上有介绍。

关于你的想法:
1. 不需要 atx 大板。服务器大板很贵。优点是多内存槽和 pcie 槽。但是除非很大规模的系统,否则不需要这么多
2. ECC 是必须的,所以楼上推荐的 CPU 很多是不及格的。二手 Reg ECC 内存还便宜,干嘛不用。便宜是因为桌面主板用不了,二手市场供大于求
3. 其实这几个嵌入式主板功耗都不大。但是服务器主板默认就是靠机箱风道+暴力扇散热。所以放普通机箱里就要加额外风扇。
也可以换散热器,换成大面积的。但是这款 CPU 没有顶盖,自己换散热器有风险压爆核心
4. 其实你不需要很多 SATA 口。主板自带的 SATA 口主要是给系统盘用。
数据盘可以用 SAS 转 SATA 线挂在 HBA 上。SAS expander 无限扩展。你挂上百盘都行。那时 HBA 的性能会是瓶颈。
如果主板只有 6 槽,那就 u 盘做系统盘。HBA 今后升级再加。
我上面就说了,便宜,高性能,省事,不可能三角
推荐白裙是因为你看起来搞不定。想省钱很简单啊,我上面说那一套 10 盘位 10G 网卡 16G 内存,加上机箱电源,一共也才用了 400 美元不到。
你降一级,8G 内存,1G 网卡。200 美元肯定搞下来。如果只是简单文件共享的话 2G 内存都能用。

“不过按我的设想由于储存设备并不需要计算性能,所以可以使用功耗远低于 x86 的 arm 芯片,单纯从芯片的部分来说它应该会很省电+很安静”
这可不一定。储存转发到网络,这个工作其实很吃 CPU 。

你想省钱,好办,买个带 USB 的路由器,直接用自带的共享功能或者刷 openwrt 开共享。
哦,你还要路由器啊,二合一这不就好办了嘛。
还有 WD my book duo 这种自带 raid 自带供电的外置储存。其实效果也不错了。
性能 100Mbps 应该可以。100MB/s 我看够呛。
为什么 nas 不有线直接接路由器?任何无线性能够的路由器都可以轻松做到啊

黑裙,白裙,完全自建。
我就是 freenas 自建。前阵子硬件挂了,就又在 eBay 捡了一套洋垃圾主板内存。配置肯定是远远吊打群晖的,只要你懂怎么用。10 盘位以上还有 10G NIC 的群晖什么价钱,懂的都懂。

当然我这一套给你可能是 overkill 了。而且既然你上论坛问而不是自己开搞,那估计你也不会搞这些。那就白裙搞一套呗。省钱,高性能,省事,不可能三角。
2021-08-03 23:52:06 +08:00
回复了 chrosing 创建的主题 问与答 求助:针对固定价格和浮动价格的排序.
已知每页第一个和最后一个值,两边查询比较大小,直到左右两页范围相差不大,而且总数是目标范围为止。如果你对数据可以做假设的话这肯定有优化的空间。
又或者已知数据范围的话可以尝试几个分页值,分别清点总数。然后选择合适的范围,只合并范围内的数据。

最差最差,先查第一页,看范围是否重叠。不重叠的话取小的一方。重叠的话取双方。计算总数直到超过需要的页数。

再怎么说也比你全数据都查一遍要好。
1 ... 41  42  43  44  45  46  47  48  49  50 ... 494  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2234 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 50ms · UTC 16:02 · PVG 00:02 · LAX 09:02 · JFK 12:02
Developed with CodeLauncher
♥ Do have faith in what you're doing.