故障安全 RAM 驱动器解决方案

use*_*663 3 filesystems memory replication ramdisk distributed-filesystems

我正在寻找一种生产解决方案来创建一个可以与 HDD 安全同步的 RAM 驱动器。

我有一个 I/O 负载很重的自定义软件(这是某种专有的面向文档的数据库),我需要显着加快它的速度。我无法修改或摆脱软件本身,因此必须进行水平或垂直缩放。该软件不支持盒子的水平侦察,所以我先看看垂直缩放。

主要想法很简单 - 我们购买大量 RAM (96GB) 并将整个内容放入 RAM 驱动器。但它需要是故障安全的,在服务器重启时丢失任何数据不是一种选择。所以我正在寻找能够在 RAM 驱动器和 HDD 之间保持透明同步的解决方案。

像通过 bash 脚本复制文件这样的肮脏解决方案不是一种选择,需要更可靠的方法。

理论上,正如我所见,这里描述的某种分布式 FS可以以一种奇怪的方式使用 - 在同一台机器上同步两个分区。但我怀疑这是否会在实践中起作用,并且从未尝试过。

那么,对于具有透明同步到 HDD 的 RAM 驱动器的现成解决方案有什么想法吗?


数据更新:

  1. 我需要在 RAM 中保存的估计数据量约为 50GB。
  2. 服务器是专用的 HP DL320、8 个 CPU、16GB RAM(最高 96GB)。
  3. I/O 配置文件类似于数据库应用程序 - 大量随机访问读取,较少写入。

MDM*_*rra 9

您不想拥有与硬盘驱动器同步的实际 RAM 磁盘 - 您想要的是带有备用电池和 NV 缓存的基于 RAM 的 PCIe 卡。基本上,一张 FusionIO 卡。

  • 你说‘但它需要是故障安全的,在服务器重启时丢失任何数据不是一种选择。` - 任何其他不涉及电池后备 RAM 的解决方案都无法工作。如果您的服务器断电,并且您有一些计划作业进入磁盘,您将丢失数据。因此,您可以使用 SSD 之类的东西并忍受较低的性能(通常非常出色),或者您可以使用 FusionIO 之类的东西并花费 $ 但具有出色的性能。介于两者之间的任何使用实际 RAM 磁盘并同步到主轴的东西都将容易在断电时丢失数据。 (4认同)
  • 不是问题。永远记住,您只能选择以下三个中的两个:快速、可靠、便宜。 (4认同)