A system administrator can migrate all of a tenant organization's vApps, independent disks, and catalog items to another datastore.
Before you decommission a datastore that backs a storage profile used by an organization VDC, you must migrate all the items stored on that datastore to new storage. Even if you're not decommissioning a datastore, you might need to migrate an organization to new storage to take advantage of additional storage capacity or newer storage technologies such as VMware vSAN. The vCloud Director storage migration wizard allows you to select one or more organisations and migrate their stored items from a source datastore to a destination datastore. Before you can migrate organization storage, you'll need to know which datastores the organization is using, and you'll need to create one or more datastores to serve as the destination.
Tenant storage migration is a resource-intensive operation that can run for a long time, especially when there are many assets to migrate. See VMware Knowledge Base article https://kb.vmware.com/kb/2151086 for information that can help you plan and execute an effective storage migration.
1 | Retrieve the XML representation of the vSphere platform extensions. GET https://vcloud.example.com/api/admin/extension |
2 | Examine the response to locate the Link element that contains the URL for migrating tenant storage. <Link type="application/vnd.vmware.cloud.tenantMigrationParams+xml"/>" rel="add" href="https://vcloud.example.com/api/admin/extension/action/migrateTenant"/> |
3 | Create a TenantMigrationParams element that includes the source and target datastores and references to one or more organizations to migrate. |
4 | POST the TenantMigrationParams element you created in Step 3to the URL described in Step 2. See the request portion of Example: Migrate Tenant Storage. |
This example migrates items owned by organization with reference https://vcloud.example.com/api/org/26 from datastore https://vcloud.example.com/api/admin/extension/datastore/100 to datastore https://vcloud.example.com/api/admin/extension/datastore/200.
POST https://vcloud.example.com/api/admin/extension/action/migrateTenant Content-type: application/vnd.vmware.cloud.tenantMigrationParams+xml ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <vmext:TenantMigrationParams xmlns="http://www.vmware.com/vcloud/v1.5" xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" name="example"> <Description>Example migration params</Description> <vmext:orgs> <Org href="https://vcloud.example.com/api/org/26" /> </vmext:orgs> <vmext:sourceDatastores> <vmext:Datastore href="https://vcloud.example.com/api/admin/extension/datastore/100" /> </vmext:sourceDatastores> <vmext:targetDatastores> <vmext:Datastore href="https://vcloud.example.com/api/admin/extension/datastore/200" /> </vmext:targetDatastores> </vmext:TenantMigrationParams>
The response includes a Task that tracks the migration.
202 Accepted Content-Type: application/vnd.vmware.vcloud.task+xml ... <Task ... > ... </Task>