6.17.1.2 Using migratevm to Perform Exadata VM Live Migration

You can perform Exadata VM Live Migration operations using the migratevm utility.

In addition to the general requirements for Exadata VM Live Migration, the following requirements apply when using migratevm:

  • The OS user and the server running migratevm must be able to perform actions as the root user on both the source and target KVM hosts. To meet this requirement, run the migratevm command as the root user on the source KVM host, and configure SSH equivalency to the root user on target KVM host.

  • To perform a live migration operation, migratevm requires access to the Exascale volumes that host the guest image files. To meet this requirement, the OS user and the server running the migratevm command must have access to a wallet containing Exascale administrator credentials.

    The following example shows a typical sequence of Exascale Command Line Interface (ESCLI) commands to create the required wallet.

    @> mkkey --private-key-file privatekey.pem --public-key-file publickey.pem
    
    @> mkuser MIGRATOR --attributes id=MIGRATOR01
    User created with ID: MIGRATOR01
    
    @> chuser MIGRATOR01 --public-key-file1 publickey.pem
    User attributes changed successfully.
    
    @> chuser MIGRATOR01 --privilege cl_admin
    User attributes changed successfully.
    
    @> mkwallet --wallet migration.wallet
    Wallet created.
    
    @> chwallet --wallet migration.wallet --attributes user=MIGRATOR01
    Set user ID to MIGRATOR01
    
    @> chwallet --wallet migration.wallet --private-key-file privatekey.pem
    Successfully put private key in wallet.
    
    @> chwallet --wallet migration.wallet --attributes restEndPoint=exa01ers.example.com:5052
    Default ExaCTRL server address set to exa01ers.example.com:5052.

    The example contains placeholder values for various command arguments, including privatekey.pem, MIGRATOR01, and migration.wallet. Replace these and any other placeholder values in the commands with your own valid values as needed.

    See also, Administer Exascale Users and Administer Exascale User Credentials in Oracle Exadata Exascale User's Guide .

You can use migratevm to precheck, start, monitor, and even cancel Exadata VM Live Migration operations. In each migratevm command, guest_name identifies the guest being moved. When required, target_host specifies the hostname or IP address of the destination KVM host. To display more detailed output, include the --detail option.

  • To start a live migration operation, connect to the KVM host that contains the guest being migrated and run the following migratevm command:

    # migratevm guest_name target_host [ --wallet wallet_location ] [ --detail ]

    The migratevm command initiates the live migration and returns immediately. To monitor migration progress, use the --list option as described below.

    To perform live migration, migratevm must access the Exascale volumes that store the guest image files. By default, migratevm looks for a wallet with Exascale administrator credentials at /opt/oracle/dbserver/dbms/deploy/config/admwallet. Alternatively, you can specify a different wallet location using the --wallet option.

  • To optimize the likelihood of a successful migration, migratevm performs a series of prechecks to validate various requirements at the start of each live migration operation. You can run the prechecks separately before performing the actual migration by using the --precheck option. The command syntax is:

    # migratevm guest_name target_host --precheck [ --detail ]
  • To monitor an Exadata VM Live Migration operation, run migratevm with the --list option. The command syntax is:

    # migratevm guest_name --list [--detail]
  • If required, you can cancel a running migration operation by running migratevm with the --abort option. The command syntax is:

    # migratevm guest_name --abort [--detail]