用命令行操作 VirtualBox 和 SGD

时光毁灭记忆、已成空白 提交于 2019-12-01 02:14:16

你可以在这里找到本文的原文。

作为Oracle桌面虚拟化仅存的两个解决方案,VirtualBox和SGD都提供了直观,友好的用户界面。在使用时,通过图形界面就可以完成大部分操作。

但是,在大规模部署时,不可能都在图形界面上进行。还需要通过命令行以脚本的形式进行批量处理。事实上,VirtualBox和SGD所有图形界面的操作都有对应的命令:

  • VirtualBox提供了命令行工具:VBoxManage
  • SGD提供了命令行工具:tarantella

本文列举了以上两个工具常用的一些命令。

利用VBoxManage管理VirtualBox

虚拟机克隆

VBoxManage clonevm mytemplate \
--basefolder /opt/vm-pools \
--name ubuntu-dp-06-01 --register

获取虚拟机IP

此命令有效的前提是虚拟机中已经安装了VirtualBox的Addon:

VBoxManage guestproperty get ubuntu-dp-06-01 "/VirtualBox/GuestInfo/Net/0/IP/V4"

修改虚拟机Remote Display端口

VBoxManage modifyvm  ubuntu-dp-06-01 --vrdeport 56001

开启虚拟机

使用headless方式,不弹出图形界面,让虚拟机在后台运行。

VBoxManage startvm ubuntu-dp-06-01 --type headless

关闭虚拟机

VBoxManage controlvm ubuntu-dp-06-01 poweroff

设置虚拟机快照

VBoxManage snapshot ubuntu-dp-06-01 take "Snapshot 0"

快照恢复

VBoxManage snapshot ubuntu-dp-06-01 restore "Snapshot 0"

利用tarantella管理SGD

添加应用程序服务器

tarantella object new_host \
--name "o=appservers/cn=My-Windows-App-S" \
--address app-server1.example.com

创建Windows应用程序对象

创建的应用程序对象名称为My-Windows-App,运行在名称为My-Windows-App的应用程序服务器上,最多限制3个用户会话,并绑定远程桌面端口为56001。

tarantella object new_windowsapp \
--name "o=applications/cn=My-Windows-App" \
--height 600 --width 800 \
--icon osr5_desktop.gif \
--appserv "o=appservers/cn=My-Windows-App-S" \
--maxinstances 3 \
--winproto wts \
--protoargs "-port 56001" \
--allowkioskescape 1

关联用户和应用程序对象

本例中为SGD的管理员关联一个Windows应用程序。

tarantella object add_link \
--name "o=Tarantella System Objects/cn=Administrator" \
--link "o=applications/cn=My-Windows-App"

删除对象

# 删除应用程序
tarantella object delete \
--name "o=applications/cn=My-Windows-App"

# 删除应用程序服务器
tarantella object delete \
--name "o=appservers/cn=My-Windows-App-S"

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!