因此,我们有一个包含两个 Windows Server 2012 R2 标准服务器的生产系统,它们之间有一个共享存储 SAS 双域背板。
如果您对此不熟悉,它基本上可以让两台机器直接访问相同的物理存储。
但是,我们的数据软件可以在我们的一台虚拟机上运行,并且会无情地破坏我们的硬盘驱动器。它可以工作,但基本上是 100% 的磁盘 IO。问题是,它不需要。它在 HDD 上使用的所有数据都是临时数据,并且可以轻松地从源重新生成。
我们的生产服务器中有一些非共享 SSD,如果我们可以制作某种易失性 VHD,它会在迁移时丢失数据,但允许从 SSD 而不是主 HDD 读取和写入,我们可以大大加快数据速度软件。
有谁知道如何制作像这样的 volatile vhd?
如果您有足够的可用内存,我建议您尝试 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
我从您的描述中假设您在这两台机器上运行故障转移集群,您已经设置了集群存储空间,并且虚拟机本身被标记为集群资源(高可用),因此它们会失败如果主机出现故障,则从一个节点转移到另一个节点。
假设所有这些,使本地 SSD 可用于来宾 VM 的最佳方法是从它们创建文件共享并在来宾内部使用该文件共享。即不使用VHD 来解决这个问题。
任何其他解决方案都具有当主机死亡时 VHD 消失的属性。然后,VM 将以多种方式之一失败。如果群集 VM 的某些 VHD 存储在本地,即使计划中的 VM 迁移也无法进行。
如果底层主机死机,至少通过使用远程文件系统,您将拥有可以优雅地处理文件服务器消失的操作系统原语。