作为Oracle桌面虚拟化仅存的两个解决方案,VirtualBox和SGD都提供了直观,友好的用户界面。在使用时,通过图形界面就可以完成大部分操作。
但是,在大规模部署时,不可能都在图形界面上进行。还需要通过命令行以脚本的形式进行批量处理。事实上,VirtualBox和SGD所有图形界面的操作都有对应的命令:
- VirtualBox提供了命令行工具:VBoxManage
- SGD提供了命令行工具:tarantella
本文列举了以上两个工具常用的一些命令。
利用VBoxManage管理VirtualBox
虚拟机克隆
1 2 3
| VBoxManage clonevm mytemplate \ --basefolder /opt/vm-pools \ --name ubuntu-dp-06-01 --register
|
获取虚拟机IP
此命令有效的前提是虚拟机中已经安装了VirtualBox的Addon:
1
| VBoxManage guestproperty get ubuntu-dp-06-01 "/VirtualBox/GuestInfo/Net/0/IP/V4"
|
修改虚拟机Remote Display端口
1
| VBoxManage modifyvm ubuntu-dp-06-01 --vrdeport 56001
|
开启虚拟机
使用headless方式,不弹出图形界面,让虚拟机在后台运行。
1
| VBoxManage startvm ubuntu-dp-06-01 --type headless
|
关闭虚拟机
1
| VBoxManage controlvm ubuntu-dp-06-01 poweroff
|
设置虚拟机快照
1
| VBoxManage snapshot ubuntu-dp-06-01 take "Snapshot 0"
|
快照恢复
1
| VBoxManage snapshot ubuntu-dp-06-01 restore "Snapshot 0"
|
利用tarantella管理SGD
添加应用程序服务器
1 2 3
| 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。
1 2 3 4 5 6 7 8 9
| 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应用程序。
1 2 3
| tarantella object add_link \ --name "o=Tarantella System Objects/cn=Administrator" \ --link "o=applications/cn=My-Windows-App"
|
删除对象
1 2 3 4 5 6 7 8
| tarantella object delete \ --name "o=applications/cn=My-Windows-App"
tarantella object delete \ --name "o=appservers/cn=My-Windows-App-S"
|