与其他用户共享现有正在运行的虚拟机的最佳方式是什么?
澄清一下:我不是指共享屏幕。我是指将机器打包,然后发送给其他人,以便他们可以将其导入到他们的 VirtualBox 软件中。
我有点困惑我是否应该使用Snapshots
(可能吗?)或Exporting an Appliance
。
而且它需要跑步VM。
文档似乎说要导出设备您需要停止虚拟机。
当我尝试导出虚拟设备时,它显示:
The following virtual machine is currently in a save state: <name of machine>
If you continue the runtime state of the exported machine will be discarded. Other machines will not be changed.
即这个共享 VirtualBox 快照提到出口但这意味着停止虚拟机。
我是具体来说想要捕获某人的虚拟机的运行时状态,以便我可以调试虚拟机中的问题。
答案1
我认为当您谈论共享时,您谈论的是允许远程访问或类似的东西。
将您的虚拟机配置为允许“端口转发”的接口:
您的虚拟机必须位于允许“端口转发”的网络接口中...
https://www.virtualbox.org/manual/ch06.html, “表 6.1. 概述”
配置合适的网络接口(“设置...” -> “网络” -> “附加到:”)...
配置“端口转发”:
您可以配置“端口转发”(“设置...”->“网络”->“高级”)...
...例如,在您的虚拟机用于远程桌面协议(RDP)(端口 3389)或安全外壳(SSH)端口 22 的接口(NAT/NAT 网络)中。
提示:如果已启用,请不要忘记在防火墙规则(iptables,如果您的操作系统是 Linux 或类似的)中打开访问。
答案2
我找到了如何做到这一点的方法。首先,您需要选择save the machine state
何时关闭虚拟机。然后,您将.sav
快照文件夹中的文件以及ova
创建设备时获得的文件发送给您的朋友。接下来,您的朋友导入.ova
、运行它然后关闭它,同时保存机器状态。最后,他必须用.sav
您的文件替换他的文件并重新启动他的虚拟机。
编辑:
为防止出现问题而进行的小改进:导入后,.ova
您的朋友不应启动虚拟机,而是在包含虚拟机的文件夹中创建一个快照文件夹。接下来,他将文件复制.sav
到其中Snapshots
,然后编辑该.vbox
文件。在该文件的顶部附近有一行,上面写着
<Machine uuid=... name=... OSType=... snapshotFolder="Snapshots" lastStateChange=...>
在那一行中,他需要添加stateFile="Snapshots/[filename].sav"
以下内容OSType=...
您可以将文件发送给他.vbox
以供比较。