VirtualBox 远程使用
VirtualBox 在桌面环境使用时,打开 UI,鼠标点点,就搞定了,特别简单。但如果要在生产环境中使用 VirtualBox,就必须能够以 non-GUI 的方式操作,VirtualBox 当然支持这种模式。这里记录一些常用的维护指令。这些指令在 Host OS 为 Linux 或 Windows 都以同样方式使用的。如果 Host 是 Windows,用 shell 的方式不是一个必要的选择。
1. 查看 VM 列表
$ VBoxManage list vms
这个指令,可以查看所有 VM 的名称,在 Host OS 执行后反馈的结果是:
"UServer" {82a177bc-9627-4970-8054-65f7a72ff821}
注意,这个命令只能查到当前用户下的虚拟机运行状态,如果在 a 用户下启动了虚拟机 v,在 b 用户下是看不到的。
2. 查看正在运行的 VM 列表
$ VBoxManage list runningvms
3. 以 headless 方式启动 VM
headless 在中文里也常被称为无头方式,通过这种方式启动的 VM,不会在 Host OS 中出现图形窗口,但可以供远程连接使用。这种方式对生产环境部署 VM 特别有用:在作为服务器的 Host OS 上以无头方式启动若干 VM, VM 中开启 SSH, 通过 SSH 远程管理它们。如:
$ VBoxManage startvm UServer --type headless
Waiting for VM "UServer" to power on...
VM "UServer" has been successfully started.
4. 关机
一种方式是已经登录 VM 的情况下,在 VM 中执行正常的关机指令即可,或执行
VBoxManage controlvm UServer acpipowerbutton
另一种方式是在 Host OS 以断电的方式简单粗暴地将机器关闭:
VBoxManage controlvm UServer poweroff
5. 更多用法
VBoxMange --help
通过 VirtualBox 的指令,可以完成在 UI 上操作能完成的所有任务,但并非必要。一般可以在本地安装好 VM,并作必要配置,再上传到 Host OS 上使用。
参考
Chapter 7. Remote virtual machines: https://www.virtualbox.org/manual/ch07.html
(上面这篇文章中还介绍了如何使用 VRDP 管理 VirtualBox)