我有一台 VirtualBox VM,里面有我正在处理的项目。我希望能够在两台独立的计算机上使用这台 VM,这样我就可以在当时碰巧在的地方处理它。我见过关于传输、克隆和备份 VM 的答案,但没有关于拥有两个副本并保持它们同步的答案。
在多台计算机上维护单个 VM 映像的最简单(最少或最简单的步骤)或最佳(出现问题的风险最低)的方法是什么?
理想情况下,我宁愿不从 USB 驱动器运行虚拟机,因为两台计算机中有一台的 USB 端口很少,但如果这是最好的选择,那么我会接受(我实际上不确定从 USB 驱动器运行虚拟机是否有任何问题)。但是,我计划使用 USB 驱动器在计算机之间传输任何文件。
答案1
我认为您有两个选择:第一个是设置(在两台计算机上的 Virtualbox 安装中)存储虚拟机的文件夹,该文件夹位于某种便携式或远程硬盘上;如果您要使用的计算机通过网络连接在一起,则可以使用共享文件夹,如果没有,恐怕唯一的解决方案是 USB 闪存盘或外部硬盘。要设置文件夹,请转到File > Preferences > General > Default Machine Folder
。USB 密钥的速度可能会限制整体性能。
第二种解决方案也需要 U 盘或类似的东西(但仅用于随身携带 VM 文件),即每次需要随身携带时手动导出和导入所需的 VM。您可以通过选择 VM 并选择 来执行此操作。通过File > Export Appliance
导出File > Import Appliance
,将创建一个 .ova 格式的文件,它是一个包含使用 VM 所需的所有文件的存档,通过将其导入另一个安装,您将在第二台计算机上拥有相同的 VM。这样,您就可以使用 U 盘随身携带文件,重新导入后,文件将存储在您的计算机上并从您的计算机上访问,因此 USB 速度不是问题。
答案2
面临完全相同的问题,我认为我已经解决了。
假设您有两台机器,A 和 B。在 A 中创建/准备您的虚拟机。之后拍摄快照或创建链接克隆(两者都有效,但后续步骤不同,将给出一个,您可以解决另一个)
现在,确保您在 B 中有一个新安装的 Virtualbox。使用 USB 将 ~/.VirtualBox 和 ~/VirtualBox VM 从 A 复制到 B(考虑到它们位于较远的站点)
现在,如果您选择快照方式,则同步 ~/VirtualBox VMs/YourVM/Snapshots 文件夹,直到它变得足够大。如果它变得更大,则在 A 中创建另一个快照并将 YourVM 文件夹复制到 B 一次,并且只在 Snapshots 文件夹中同步这个新的快照文件。
请注意,如果您在 A 或 B 中拍摄快照或创建链接克隆,此仪式将被破坏。
在 5.0.20 中测试
答案3
我知道这个帖子已经有一年了,但它是谷歌上关于两个位置之间共享一台虚拟机的问题的顶级搜索结果。
VirtualBox 允许您使用 RDP 远程连接到正在运行的虚拟机。如果您不希望虚拟机持续运行,请采取某种方式远程启动它。
有一个“允许多个连接”选项,因此您甚至不必在从另一个位置连接之前断开从一个位置的连接。
如果您无法托管自己的虚拟机,可以通过 Google 快速搜索找到可以为您托管 VirtulaBox 映像的提供商。
我从来没有尝试过这一切……
答案4
按照 KISS 原则,在注册虚拟机并调整设置后,只需在双方关闭电源的情况下传输文件rsync
即可。*.vdi
rsync -aPh <path-to-vm>/<diskname>.vdi <remote>:<path-to-vm>/
当然,没有办法“合并”冲突,因此您必须严格遵守如何对 VM 进行更改并镜像这些更改的规定。
同时,您可以将大部分个人数据放在 NAS 上,这样它就始终是最新的,并且可以从所有机器访问。此外,您可以安装额外的 .vdi 磁盘来包含交换分区或其他临时存储,这样就不会增加系统 .vdi 的大小。
如果您使用的是 Windows,则应该为 ssh 和 rsync 程序安装 cygwin(或 msys2)。