![Hyper-V 2012 R2 共享存储非共享临时驱动器](https://linux22.com/image/706277/Hyper-V%202012%20R2%20%E5%85%B1%E4%BA%AB%E5%AD%98%E5%82%A8%E9%9D%9E%E5%85%B1%E4%BA%AB%E4%B8%B4%E6%97%B6%E9%A9%B1%E5%8A%A8%E5%99%A8.png)
因此,我们有一个生产系统,其中有两台 Windows Server 2012 R2 标准服务器,它们之间有一个共享存储 SAS 双域背板。
如果您不熟悉这一点,它基本上可以让两台机器直接访问相同的物理存储。
但是,我们的一个虚拟机上运行着一个数据软件,它不停地破坏我们的硬盘。它可以工作,但磁盘 IO 基本上是 100%。问题是,它不需要这样做。它破坏硬盘的所有数据都是临时数据,可以轻松地从源头重新生成。
我们的生产服务器中有一些非共享的 SSD,如果我们可以制作某种易失性 VHD,在迁移时会丢失数据,但允许从 SSD 而不是主 HDD 进行读写,我们就可以大大加快我们的数据软件的速度。
有人知道如何制作这样的易失性 vhd 吗?
答案1
根据您的描述,我假设您在这两台机器上运行故障转移群集,您已经设置了群集存储空间,并且虚拟机本身被标记为群集资源(高可用性),以便如果主机出现故障,它们将从一个节点故障转移到另一个节点。
假设所有这些,使本地 SSD 可供客户虚拟机使用的最佳方法是从它们创建文件共享,并在客户机内部使用该文件共享。即不要使用 VHD 来解决这个问题。
任何其他解决方案都具有这样的特性:当主机死机时,VHD 就会消失。然后,VM 将以多种方式之一失败。如果集群 VM 的某些 VHD 存储在本地,那么即使计划的 VM 迁移也无法进行。
如果底层主机死机,至少通过使用远程文件系统,您将拥有能够优雅地处理文件服务器消失的操作系统原语。
答案2
如果您有足够的可用内存,我建议您尝试 RAM 驱动器。对于临时数据,我认为这是最好的选择。说到 RAM 驱动器,主要缺点是冗余,但是,您提到可能会丢失 VM,从而消除主要缺点。
对于 Windows https://www.starwindsoftware.com/high-performance-ram-disk-emulator
对于 Linux https://www.jamescoyle.net/how-to/943-create-a-ram-disk-in-linux