1
dapang1221 2021-12-03 12:22:26 +08:00
16T 单盘做的 raid0 吗,这还不如不做
|
2
dapang1221 2021-12-03 12:24:05 +08:00
raid0 是多块盘来分摊读写速度,建议改直通模式试试速度
|
3
ccde8259 2021-12-03 12:33:02 +08:00 via iPhone 1
先 dd 确认一下速率
有可能是网络协议开销 整存储前考虑过其他方案吗? 硬阵列方案优缺点? 阵列级别带来的容灾能力差异? 软阵列方案优缺点? 阵列校验开销能不能 cover ? ZFS/GlusterFS/Ceph 方案优缺点? 发生阵列降级以后怎么处理? 磁盘真的是越大越好吗? |
4
lovejunjie1 OP @dapang1221 是双盘做的 R0 。单盘写上限只有 300MB/S 。目前这个速度可以满足我们向服务器的这个 R0 缓存盘同步写入数据用了。直通模式的事情我咨询一下华为售后看看如何操作。
|
5
lovejunjie1 OP @ccde8259 感谢回复
1.网络协议的开销方向我尝试做一下调查,感谢指导方向 2.考虑过 SSD 直通,因为费用开销的问题可能要延后才能实施了。并且因为钱的问题,没能上支持 SSD 阵列的卡。 3.硬阵列可以节省一些服务器性能的开销。因为服务器上我还跑着几个虚拟机。这是我选择硬阵列的理由之一。 4.这组 R0 阵列的内容是缓存内容。我会监控硬盘健康状态。在发生无法挽回的事情之前会转移数据。即使因为突发情况数据丢失,也可以通过另一组 R1 恢复数据。或者重新生产数据。耽误两三天的时间,是我们可以容忍的。 5.软阵列因为没有接触过。所以对他的了解并不充分。 6.感谢提供了几个方案的研究方向,我会一一搜索的。 7.我这边数据有 4 个备份。工作盘>成果盘>冷备份>个人硬盘备份。充分考虑了容灾措施。 8.是的。影视行业是重数据,一个文件 1G 还是很常见的。10 分钟的解算缓存,按照每 0.5 帧一个缓存文件的共极端情况计算。需要 28,800 帧,每帧平均 800MB ,需要约 20T 左右容量。 |
6
lovejunjie1 OP @ccde8259 测试了一下读取速度,512MB 。这个速度很理想
root@nas:~$ sudo time dd if=/dev/sdb of=/dev/null bs=4k ^C 记录了 2213858+0 的读入 记录了 2213857+0 的写出 9067958272 bytes (9.1 GB, 8.4 GiB) copied, 17.7102 s, 512 MB/s Command terminated by signal 2 0.42user 5.75system 0:17.71elapsed 34%CPU (0avgtext+0avgdata 2452maxresident)k 17711520inputs+0outputs (1major+88minor)pagefaults 0swaps |
7
ccde8259 2021-12-03 13:01:08 +08:00 via iPhone
@lovejunjie1
大致就是不考虑容灾,只考虑性能对吧。 双 16T 和 4 块 8T 甚至 8 块 4T 构筑 R0 阵列,对于吞吐量问题上会带来什么差异? 读写场景是读多还是写多? 读写场景是顺序读写还是随机读写多? 不妨看下硬阵列卡是否有缓存?是否有缓存配置优化空间? 软硬阵列在缓存层面的差异能带来什么样不同的优劣势? |
8
choury 2021-12-03 13:03:02 +08:00 via Android
@lovejunjie1 加 iflag=direct 重测
|
9
ccde8259 2021-12-03 13:06:22 +08:00 via iPhone
@lovejunjie1
那现阶段问题基本就是网络协议开销问题,至少本地 dd 性能没出问题。 一方面 iperf3 打一下带宽,是否需要修改 MTU ? 一方面猜你用的 SMB 协议,是否有其他协议可以使用? NFS FTP WebDAV ? |
10
lovejunjie1 OP @ccde8259 感谢,不愧是神佬。经验丰富。我也是疏忽了忘记告知是 SMB 协议。
我尝试一下 iperf3 。等会吃完午餐把数据发上来。 SMB 协议是我用的比较熟悉的。趁着午饭我也把这三个稍微摸一下。 回 7 楼的疑问: 是的,只考虑性能就可以。 1.目前服务器上 3.5 寸口的 slot 已经基本上告罄,没有硬盘也没有 slot 来测试这个问题了。 2.读写都比较多,我把这块视作一个公共的网络缓存。 3.大概是随机读写会比较多。目前已有的序列帧,单文件 15MB 到 50MB 居多,一次缓存任务,读取 200 到 600 个左右。 4.好的,我去咨询一下。这里或许是有优化的空间的。 5.这个点我还需要继续做一些调查。以我目前的知识储备还需要一些时间才能作答…… |
11
lovejunjie1 OP @choury 额。伪装成 IO 的话,似乎就重现了我之前的问题
me@nas:~$ sudo time dd if=/dev/sdb of=/dev/null bs=4k iflag=direct [sudo] huawei 的密码: ^C 记录了 1353482+0 的读入 记录了 1353481+0 的写出 5543858176 bytes (5.5 GB, 5.2 GiB) copied, 37.218 s, 149 MB/s Command terminated by signal 2 0.34user 4.82system 0:37.23elapsed 13%CPU (0avgtext+0avgdata 2344maxresident)k 10827880inputs+0outputs (1major+86minor)pagefaults 0swaps |
12
gam2046 2021-12-03 13:29:29 +08:00
我也使用了 RH2288 V2 ,LSI 2288 的 RAID 卡,如果是单盘的话,RAID 配置时,可以选择读写操作都通过缓存,也许有所提升。
至于协议层看应用场景,如果需要经常读取某个大文件中的一部分,而不是全部,建议通过 iSCSI 共享。 如果是大量小文件的读取,iSCSI 和 NFS 都可以考虑。 如果是读写体积完整文件,则各种共享方式差距不明显(都在可接受范围内)。 |
13
CallMeReznov 2021-12-03 13:30:14 +08:00
阵列卡的缓存策略是什么?
|
14
snuglove 2021-12-03 15:40:18 +08:00
可以尝试关 swap.只用内存.
内网主要还是看磁盘性能和网络传输情况. |
15
lovejunjie1 OP @gam2046 中午调查服务器 bios 和设备管理器的时候。看到了我这边有 iSCSI 的字样。这个似乎是一个硬件的 iSCSI 设备?看来可以尝试一下这个了。
@CallMeReznov 目前 read cache policy 是 read ahead, dirver cache 是 unchanged.中午把 IO 项从直连 direct 改成缓存 cached 了。目前还在试 |
16
lovejunjie1 OP 喜报。打开缓存之后,并把 MTU 设置为 9000 后,有了 10%的性能提升
^C 记录了 301749+0 的读入 记录了 301748+0 的写出 1235959808 bytes (1.2 GB, 1.2 GiB) copied, 7.61762 s, 162 MB/s Command terminated by signal 2 0.05user 1.06system 0:07.61elapsed 14%CPU (0avgtext+0avgdata 2384maxresident)k 2414144inputs+0outputs (1major+87minor)pagefaults 0swaps |
17
lovejunjie1 OP @ccde8259 我现在十分怀疑是我的网络配置出现了问题,dd 模拟 IO 的情况下和我实际使用中的情况是一直的。
iperf3 相关的数据目前没有条件做,我这边可以让我拿来测试的只有一台 linux 服务器,另一台万兆 win10 机器时不时会有人使用。 其他协议我中午也摸过了一圈。NFS 或者 iSCSI 可能会纳入选择。但是因为用户的习惯,现在 SMB 依然是首选。 |
18
gam2046 2021-12-03 16:10:20 +08:00
@lovejunjie1 #15 iSCSI 并不需要硬件支持,纯软件方案,而且 iSCSI 挂载后访问与本地磁盘一致,由于是挂载的块设备,因此兼容性上远比其他文件挂载( NFS/SMB/WebDAV/etc...)的好,如果文件比较打,可以适当调高 MTU 。
同时 Linux 、Windows 作为访问的客户端都支持的比较完备。如果 macos 的话...我猜应该也还不错吧,主要是自己没有 macos 设备 |
19
neilyoone 2021-12-03 18:04:38 +08:00
R0 没理解错 应该是 Raid0
弄块 SSD 给 两块西数黑盘 Raid0 做 SSD cache 加速吧, Ubuntu 下的软件有 bcache, 对随机 IO 读写提升会很有帮助. |
20
kokutou 2021-12-03 19:29:28 +08:00 via Android
如果没看错的话,现在问题就是
单盘读速有 300m/s 双盘组了 r0 但是本机上 dd 读取 r0 只有 160m/s 那不就是查阵列卡吗。。。 找售后呗啊。 |
21
sorsens 2021-12-04 10:27:46 +08:00
额,看着好像是:
设置里一个缓存写入盘,想要读出速度也快,直接再来一个 ssd 组成 r1 就好了。 r1 做成缓存盘 其实不一定要上服务器,群晖这些设置好了也很方便 |
22
lovejunjie1 OP @kokutou
@gam2046 @ccde8259 @choury 感谢各位佬三个月前的帮助。最近我解决了这个问题了。现在上传和下载的速度都能跑满机械硬盘的极限了。 实际上硬件和软件在 SMB 或者传输协议或者 MTU 或者阵列策略缓存什么的方面,都没有问题。 真正的问题出在了硬盘挂载上。说起来可能有点扯淡。因为断电之后再启动,硬盘的 /dev/sd*对应的硬盘 UID 产生了变化。而我之前的硬盘自动挂载写的是逻辑挂载点。所以造成了目录映射的错误。 这个错误其中的一个表现就是,若要访问我认为在其中某一个盘的中的数据时,所有的硬盘读取灯都在亮。所以我猜测着大概率是在全盘寻址,因为逻辑问题造成的读取效率低下。 直到上个月我才发现了这个情况,十分惭愧。我这个不专业的 IT 给各位添麻烦了。 当我把硬盘映射从逻辑挂载点,重置到 UID 后。我的目录映射正确了。读取文件时,硬盘的指示灯也正确了。上传下载时候的速度也对了。经过这一个月的观察,确信了这件事情。 最后再次感谢各位的帮助。谢谢。 |