![在多台计算机之间共享虚拟机映像](https://linux22.com/image/1289232/%E5%9C%A8%E5%A4%9A%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B9%8B%E9%97%B4%E5%85%B1%E4%BA%AB%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%98%A0%E5%83%8F.png)
我正在为一个新项目设置开发环境,并想知道我的理想设置的理论可能性。
我想使用虚拟机来使我的开发环境可移植且持久。我对此没有任何问题,我的 Windows 7 桌面上已经有从 vmware player 启动的 ubuntu 桌面。
这就是事情变得棘手的地方……
理想情况下,我会将此映像存储在外部磁盘驱动器上。如果我想远程工作,我可以将此外部驱动器连接到运行 Leopard 的 Macbook Pro,然后启动映像并继续我在 Windows 7 桌面上停止的开发工作。
这可能吗?有没有比这种设置更好/更差的软件。
以前有人做过这个吗?
答案1
这是完全可能的——只需将 VM 放在外部驱动器上并将其加载到两个系统上。
但请注意,没有办法让它在两个系统上都表现得那么好。通常,您需要 NTFS 才能在 Windows 上执行高性能操作,因为 NTFS 是 Windows 的本机文件系统。不幸的是,虽然 Linux 可以使用 NTFS,但它只能使用ntfs-3g
,它通过 FUSE 运行并且速度极慢;特别是对于由典型的 VM 负载生成的极端随机访问负载。
为了在 Linux 主机上获得最佳性能,您需要使用 Linux 原生文件系统,例如ext4
、btrfs
或xfs
。
还请注意,如果您的开发环境是 Windows,并且您的两台主机具有不同的处理器类型(例如 Intel -> AMD 或反之亦然),您可能会遇到问题,因为 Windows 激活不喜欢在没有强制激活的情况下切换 CPU 类型。不过我还没有测试过;您的情况可能会有所不同。
将您的开发放入 mercurial 或 subversion 存储库并使用它来同步机器之间的更改可能会更容易。