在存储在网络上的虚拟 Linux 系统上,交换文件有什么意义?

在存储在网络上的虚拟 Linux 系统上,交换文件有什么意义?

Linux 服务器运行在某些 VMWare ESX 系统上(猜测,我只是用户)。这些系统没有直接连接磁盘:它们在虚拟磁盘上执行所有操作,而虚拟磁盘实际上是 NAS 上的文件。

Linux 系统配置了一个磁盘驱动器,该驱动器/dev/sda分为三个分区(/boot/swap)。该分区实际上用作系统的交换空间。但它实际上在网络上,而不是在本地硬盘上。考虑到网络延迟严重,在虚拟化且遥远的磁盘上为系统swap设置一个分区有什么意义呢?swap

在我看来这简直是愚蠢至极。

有经验的虚拟化专家能给出什么提示吗?

答案1

与 RAM 相比,交换空间总是会遭受极端的延迟,将其放到网络上只会使情况稍微变得更糟。

当出现问题时,它应该始终作为最后的手段,如果您发现您的机器实际上使用了大量交换空间,则您需要为虚拟机提供更多的 RAM。

答案2

您可以随时创建一个单独的虚拟磁盘,将其放在另一个更快的存储上,并在那里安装交换。或者完全关闭交换 - 这完全取决于您的用例和系统负载

答案3

如今,交换似乎是一种应急机制,可以避免在内存中断时终止进程。几乎没有真正的服务器可以在大量交换的情况下继续正常运行。无论您的磁盘是本地连接还是通过 SAN 连接,都没有关系。

答案4

您确定磁盘在 NAS 上吗?它们更有可能在 SAN 上,在这种情况下网络延迟不应该成为问题。或者如果是,那么您遇到的问题比需要将 SWAP 写入其中更大。

相关内容