存储扩容
两台机器,
机器 A 有一个 2T 的 RAID 0 阵列;
机器 B 有一个 2T 的 RAID 0 阵列。
两台机器均具有独立的系统硬盘。
两台机器网络互通,其中 B 机器可以通过 NFS 挂载 A 上的阵列。
问题,机器不能停机,可否把两个机器上的独立的 RAID0 阵列合并为一个存储空间,达到接近 4TB 的读写空间?
两台机器,
机器 A 有一个 2T 的 RAID 0 阵列;
机器 B 有一个 2T 的 RAID 0 阵列。
两台机器均具有独立的系统硬盘。
两台机器网络互通,其中 B 机器可以通过 NFS 挂载 A 上的阵列。
问题,机器不能停机,可否把两个机器上的独立的 RAID0 阵列合并为一个存储空间,达到接近 4TB 的读写空间?
我根据你提供的关键词,去看看怎么搞。
谢谢先。
作为备用方案, 我可以把其他的机器上的存储先拿来用。
因为本人技能有限,目前修改权限,暂时通过 NFS 借用其他机器的存储,是一个最快的解决方案。
原机器上的 RAID0 是作为专用的读写缓存用的。
没想到这次计算过程中,产生的读写特别大。
我也写了一个监控, 算完一个,就立即提取数据, 而后删除 NetCDF 的原文件。
原来没有预测到这个应用场景,读写缓存弄少了。
郁闷中。
再次感谢各位提供解决方案。
需求 a:
1.B 中的阵列改成 JBOD,除非是万兆互联,否则性能瓶颈在网络 IO 而非磁盘,所以 Raid0 没有意义。
2.将 B 中的存储空间已 iSCSI 的形式共享给 A
3.A 中把 iSCSI 磁盘和本地 JBOD 组成 LVM,参考:redhat documentation (新人不能发链接)
不过这个数据的安全性以及性能….
需求 b:
emm….别想了….
Raid0 改其他的只能重新组,数据不可能保留。raid0 性能虽然好,但是生产环境非常不建议使用,除非是横向复制的负载均衡环境。
现在修改了以下控制脚本,任何一个计算,算完毕后,就地提取数据,而后就拿走。
这样操作之后,空间问题基本解决了。
RAID0 的可靠性问题,可以忽略不计。
我的场景中,仅仅用于读写缓存。
当然也可能涉及,比如 A 机器的读写放在本地的 RAID0 阵列; B 机器的读写放在其本地的 RAID0 阵列。
对,最开始就是每个机器都有本地读写。
后来也面临一个实际的问题,
如果要“续算”,我用到的计算程序,需要知道之前运行用过的原始路径。
而后续的计算,负责计算的机器,未必是同一个(由 slurm 负责分派机器),
所以就拿到共享的读写空间了。
不过稍微变通一下思路,暂时解决问题了。
感谢各位提供思路,我也借鉴了部分灵感。 多谢多谢。