我可以从外部 USB 驱动器运行虚拟机吗?

我可以从外部 USB 驱动器运行虚拟机吗?

关于如何在内部/外部磁盘上设置我的虚拟机的问题。首先,这是我的设置:

  • 主机操作系统:Windows 10
  • 处理器:i7 5600U
  • 内存:16 GB
  • VMware Workstation Player(已授权)

到目前为止,我已经有 3 台虚拟机,很快还会有第 4 台,而且我的内部 SSD 上已经没有足够的空间了,所以我需要一个外部磁盘来放置其中一些虚拟机。我有一台带 USB3 端口的笔记本电脑和一个带 eSATA 端口的笔记本电脑底座。我读过关于两者速度的文章,5Gbps 和 6Gbps 对我来说似乎没有太大区别(但我不是这方面的专家)——连接的其他 USB 设备只有有线鼠标和键盘。

我使用虚拟机的目的:我是一名开发人员,不同的虚拟机用于不同的开发环境。

  • 第一台虚拟机运行的是 Windows Server 2008,其中装有 Visual Studio、SQL 服务器和 K2 Blackpearl。
  • 第二台 VM 正在运行带有 Visual Studio、SQL Server 和 BizTalk 的 Windows Server 2012(还有一些我尚不清楚的东西 - 这是我很快会得到的新 VM)
  • 第三台虚拟机运行 Ubuntu,将用于 Python 开发(可能在 PyCharm 中)
  • 我还没有开始使用第四台虚拟机 - 大约一个月前我刚开始工作 :-)

我的问题:

  1. 是否可以通过外部 HDD 运行 VM?(或者这里必须使用 SSD?)
  2. USB3 够用吗还是我应该买一个也支持 eSATA 的?
  3. 是不是最好将不常用的虚拟机存储在外部驱动器上,然后在需要使用时将其移动到内部驱动器?这将要求我先将虚拟机从内部驱动器移动到外部驱动器,因此才有这个问题。
  4. 是否有可能从外部驱动器运行虚拟机而不会造成重大的性能损失?

我想现在就这些了。我期待您的回答。

此致,

约阿希姆

对于那些看到这篇文章并想知道结果的人来说: 我对此预置有些怀疑,并且我不建议任何开发人员使用这种设置。启动时间非常糟糕,启动 Visual Studio 等应用程序至少需要 3-4 倍的时间。

我的建议:仅当您没有其他选择时才使用此解决方案。

答案1

答案有点取决于虚拟机应该做什么。对于像写和读这样的“文书工作”,你会没事的。“重大性能损失”不是一个明确的值。

对于大多数人来说,这应该没问题。如果你发现自己是一个极度没有耐心的电脑用户,那就买最快的设备吧,我甚至建议用更大的 SSD 替换内置 SSD。现在市场上有 2 TB 的 SSD,这对你来说可能太贵,也可能不太贵(700-800 美元)。

对于编程来说,编写代码可能不会带来太多好处。编译时可能会提高性能。如果您不是那种在编译代码时并行执行操作的人,请尽可能使用最快的设备。

TLDR 是:如果您负担得起或手头没有 HDD,请购买 SSD,内置或外置(eSATA 或 USB 3)。如有疑问,请购买好东西。

  1. 是否可以通过外部 HDD 运行 VM?(或者这里必须使用 SSD?)

是的,这是可能的,但您可能会损失一些性能。只要您没有需要大量文件写入的操作,虚拟机就应该可以正常运行。此外,虚拟机越小越好。如果您有 50-60 GB 的 Windows 虚拟机,那么在带有 USB 3 的外部 5400 HD 上它会非常慢。我是根据经验说的。您仍然可以做一些事情,但这需要一段时间。

在外部硬盘上运行多个虚拟机一次可能会带来严重的性能损失。对于这种情况,请考虑使用两个外部硬盘。

  1. USB3 够用吗还是我应该买一个也支持 eSATA 的?

USB3 应该没问题,至少在我使用它们的情况下是这样的。越快越好。如果你还没有购买外置硬盘,你可能想要购买 eSATA,因为你永远不知道你会用你的备用 USB 端口做什么。(你可能想要添加第二个外置驱动器用于备份。)使用硬盘,你可能不会从 eSATA 获得更高的性能,因为旋转盘片上的文件写入和读取速度是限制因素。

另外,如果还能找到,请尝试为外部驱动器购买 SSD 或至少 7200 rpm HDD。或者使用外部机箱和外部 USB 外壳组装一个。如果买不起 SSD,7200 rpm 硬盘会将文件传输时间缩短几个百分点。

  1. 是不是最好将不常用的虚拟机存储在外部驱动器上,然后在需要使用时将其移动到内部驱动器?这将要求我先将虚拟机从内部驱动器移动到外部驱动器,因此才有这个问题。

我认为你应该把那些需要执行大量繁重工作(如文件写入和计算密集型工作)的虚拟机放在内部驱动器上,无论你使用它们的频率如何。移动它们可能相当麻烦。以 60 MB/s 的速度将 20 GB 的虚拟机从内部复制到外部硬盘驱动器大约需要 6-7 分钟。从内部复制到外部 SSD 的速度会快得多。如果你发现外部磁盘上的虚拟机的性能可以接受,那么移动它们可能就没有必要了。到时候再说吧。

  1. 是否有可能从外部驱动器运行虚拟机而不会造成重大的性能损失?

参见 1.,是的,如果虚拟机较小,则普通到中等的计算机工作是可能的。如果您进行图形设计或大量文件传输,则可能会出现严重的性能损失。

对于您的编程需求,我建议您根据在其他地方收集的数据购买 SSD(对于编译大型软件(例如引导 gcc)来说,CPU 和 RAM 哪个更重要?http://www.overclock.net/t/997361/compiling-and-cpu-usage)。虽然也有一些不同意见(https://stackoverflow.com/questions/15199356/speed-up-compile-time-with-ssd)。同样,当你有疑问时,就买好东西。

编辑:2016 年 1 月 5 日 - 根据最近的经历添加了一些信息

答案2

去年我在 USB3 上运行了虚拟机。操作非常简单,也很方便,但有一些需要注意的地方。

  • 我不确定 VMWare 是否如此,但对于 VirtualBox 来说,只需将虚拟磁盘文件放到 USB 上并将其链接到 VM 即可。您必须在使用它的每个主机上进行配置,但这只是一次性的事情。主机之间可以很好地协作。我唯一注意到的是,我的 VM 将为连接到的每个主机网络提供一个网络接口,但除此之外,它没有给我带来任何冲突。

  • 我的 USB 最终坏了,这并不奇怪。USB 闪存盘不适合不断进行写入循环,如果您将 VM 用于开发目的,它们会很快磨损,特别是当您的 VM 充当服务器并不断写入日志/缓存文件时。

  • 性能可能是一个问题。如果您确实购买了 USB 记忆棒,请特别寻找那些具有高读写速度的记忆棒,但即便如此,您也会注意到影响。

  • 我认为外部 SSD 磁盘可能是更好的选择,它不如小型磁盘方便,但通常它们仍然足够便携,可以轻松随身携带,具有更高的性能和更长的使用寿命。(我知道如今 Flash 和 SSD 实际上是同一种技术,但 SSD 的设计考虑了更高的读写频率,而 USB 磁盘主要只专注于文件存储)

最近我选择使用某种混合解决方案。将完整的编程套件放在便携式虚拟机中确实很方便,但我的 IDE 在里面运行速度明显较慢,偶尔会冻结几秒钟。现在我在主机上使用大多数编程工具,同时将源代码和服务器保留在客户机上。不过,我的虚拟机仍然是一个功能齐全的桌面,因此在极少数情况下我仍然需要在外部计算机上工作,我只需启动虚拟机的 GUI 并使用其 IDE 和编程工具即可。

相关内容