使用一个磁盘作为其他磁盘的缓存

使用一个磁盘作为其他磁盘的缓存

假设有一台具有多个硬盘的 PC:是否可以使用一个快速磁盘作为巨型文件缓存?

即自动将经常访问的数据复制到一个磁盘,并透明地将读写重定向到该磁盘,以便其他驱动器只会偶尔被访问。

(当然,一段时间后写入必须转发到其他磁盘)

优点:

  • 其他驱动器可以大部分时间关闭;减少功耗、热量和噪音
  • 其它驱动器的速度并不重要。
  • 缓存磁盘可以是固态的。

我怎样才能建立这样的系统?

哪些操作系统支持这些选项?使用 Windows 或 Linux 是否可行?

附言

例子:

有 3 个磁盘,每个磁盘 1 Tb。大多数文件很少被访问,但每个磁盘中大约有 5% 的文件经常使用。哪些文件经常使用可能会随着时间的推移而改变。150GB 的固态磁盘应该缓存当前经常访问的文件,这样访问时间会更快,驱动器可以进入省电模式。

答案1

Linux 和 Windows 都可以做到这一点,事实上,这是一个好主意。对于视窗您可以在系统性能下的高级设置中移动它。Linux 依赖于发行版,但您通常在安装期间建立它。

将分页放在另一个磁盘上可能会带来很好的提升。事实上,微软有一个临时分页选项,称为“准备好提振“ 它使用拇指驱动器完成此操作!

至于它是否能够智能地确定要兑现什么,则取决于操作系统,实际上更多地取决于设备的物理 RAM。较新的 Linux 版本具有出色的兑现功能,微软的超级获取准备好提振在 Windows Vista 和 Windows 7 上。旧版操作系统不那么智能。

答案2

你在想类似的事情缓存但它并没有给你所有你想要的东西:

其他驱动器可以大部分时间关闭;减少功耗、热量和噪音

不是。如果驱动器是缓存,则写入必须同步回原始磁盘。除非您有一个很大的只读工作流程(大多数人没有),否则您不会看到这一点。

此外,对于这样的缓存,您实际上只想缓存缓存比底层存储做得更好的内容。如果您谈论的是 SSD 和 HDD——小型随机 I/O。HD 已经擅长大型顺序 I/O。

答案3

实际上,只要您不介意对所有磁盘使用 ZFS 文件系统,那么类似的事情就相当容易了。然后,您可以将缓存(L2ARC 缓存)和写入日志(ZIL)放到 SSD 上……因此:无需移动即可快速访问您经常使用的文件!此外,您永远不必担心 SSD 空间不足,也不必在最糟糕的时刻(即当您需要尽快执行某项操作时)重新排列文件/程序。

唯一的问题是 ZFS Fuse 实现速度不够快...zfs.kqinfotech.com 可能稍后会来解决这个问题。

相关内容