Export virtual machines with the vss-cliο
The export virtual machine feature automates the Export process generating an Open Virtualization format (OVF) and then transferring the resulting files to your personal account space in VSKEY-STOR.
A virtual machine qualifies to be exported if:
Committed storage (not provisioned) is less than 300G.
Power state is Off.
No iso backing on CD/DVD unit
Note
We use thin provisioning on the ITS Private Cloud to help avoid over-allocating storage space and save storage.
Thin provisioning uses just as much storage capacity as currently needed and then add the required amount of storage space at a later time. (Source: VMware).
This tutorial walks you through the process of exporting a given virtual machine.
Validate virtual machineο
First, we need to double check if the committed_gb
size is lower
than 300GB. This can be done by executing the command
vss-cli compute vm ls
but modifying the output columns with the
--columns
option as follows:
vss-cli --columns "moref,name,folder.path,provisioned_gb,committed_gb,power_state" compute vm ls -f moref=vm-10342
moref name folder.path provisioned_gb committed_gb power_state
--------- ------------------ ------------------------ ---------------- -------------- -------------
vm-123456 2210P-FrontEnd-1u0 Public > Customer 123456 60 19.67 poweredOn
In this particular case, we can proceed since the committed space is lower than 300GB.
If the virtual machine power_state
is poweredOn
, shut it down by
sending a shutdown
signal through the OS via VMware Tools or a
hard power off
as follows:
vss-cli compute vm set <name-or-vm-id> state shutdown
Host Name: ubuntu (Ubuntu Linux (64-bit))
IP Address: 192.168.2.100, fe80::250:56ff:fe92:d463
Are you sure you want to change the state from "running to shutdown" of the above VM? [y/N]: y
Finally, verify if the VMβs CD/DVD unit is not backed by an ISO image file:
vss-cli compute vm get <name-or-vm-id> cd
label backing connected
-------------- --------- ------------
CD/DVD drive 1 client disconnected
Execute vss-cli compute vm set <name-or-vm-id> cd <unit> --iso client
if an ISO image is shown in CD backing.
Export virtual machineο
Run vss-cli compute vm set <name-or-vm-id> export
to submit an export task.
The command does not require any argument or options.
Usage: vss-cli compute vm set export [OPTIONS]
Export current virtual machine to OVF.
vss-cli compute vm set <name-or-vm-id> export
Options:
--help Show this message and exit.
Once the command is executed, a VM Export Request is created and all
related activity including export status is recorded in it. To check
the status, execute vss-cli request export get <request-id>
.
vss-cli request export get <request-id>
...
status : Processed
...
files : disk: ['../disk-0.vmdk', '../2009T-nat.ovf']
...
transferred : Yes
The request object holds more attributes, however the above listed are
more important for this example. status=Processed
tells us that the
request has been completed. transferred=yes
indicates that resulting
files
were successfully transferred to your VSKEY-STOR space.
To confirm, you could either go to a web browser and open VSKEY-STOR
and sign in or execute vss-cli stor ls <vm-id>
and you should
get something like:
vss-cli stor ls <vm_name-vm-moref>
files
-------------------------------
2009T-nat-vm-2386/2009T-nat.ovf
2009T-nat-vm-2386/disk-0.vmdk
2009T-nat-vm-2386/disk-1.nvram
Download virtual machine exportο
To download the files you could either go to a web browser and
open VSKEY-STOR and sign in, go to the <vm_name-vm_id>
folder and
download the files or execute vss-cli stor dl <vm_name-vm_id>/<file>
as follows:
# OVF descriptor
vss-cli stor dl 2009T-nat-vm-2386/2009T-nat.ovf -d ~/Downloads
Download 2009T-nat-vm-2386/2009T-nat.ovf to ~/Downloads/2009T-nat.ovf in progress β¬
Download complete to ~/Downloads/2009T-nat.ovf β
# disk file
vss-cli stor dl 2009T-nat-vm-2386/disk-0.vmdk -d ~/Downloads
Download 2009T-nat-vm-2386/disk-0.vmdk to ~/Downloads/disk-0.vmdk in progress β¬
Download complete to ~/Downloads/disk-0.vmdk β
# Optional: nvram file
vss-cli stor dl 2009T-nat-vm-2386/disk-1.nvram -d ~/Downloads
Download 2009T-nat-vm-2386/disk-1.nvram to ~/Downloads/disk-1.nvram in progress β¬
Download complete to ~/Downloads/disk-1.nvram β
Alternatively, you could just launch the web UI via the la
command and browse the
ut-vss
bucket to download the files via your web browser:
vss-cli stor la gui --show-cred
Launching π: https://vskey-stor.eis.utoronto.ca:42047
username: [REDACTED]
password: [REDACTED]
Thatβs it, at this point the OVF and disks are ready to be imported to a desired platform.