6.19.2.2 Re-imaging a KVM Host and Restoring the Guests from Backup

This procedure re-images the management domain and reconstructs all the user domains from a backup of the KVM guests.

The following procedure can be used when the KVM host is damaged beyond repair and no backup exists for the KVM host, but there is a backup available of the storage repository (/EXAVMIMAGES file system) containing all the guests.

  1. Re-image the KVM host with the image used in the other hosts in the rack using the procedure described in Re-Imaging the Oracle Exadata Database Server.
  2. If the recovery is on Oracle Exadata Database Machine eighth rack, then perform the procedure described in Configuring Oracle Exadata Database Machine Eighth Rack Oracle Linux Database Server After Recovery.
  3. Create the bonded interface and bonded network bridge.

    The following command uses vmbondeth0 as the name of the network bridge.

    # /opt/exadata_ovm/vm_maker --add-bonded-bridge vmbondeth0 --first-slave eth1 --second-slave eth2
  4. Mount the backup NFS server containing the guest backups.

    In this procedure, the backup NFS server is mounted on /remote_FS.

    # mkdir -p /remote_FS
    # mount -t nfs -o ro,intr,soft,proto=tcp,nolock nfs_ip:/location_of_backup /remote_FS
  5. Restore the /EXAVMIMAGES file system.
    # tar --acls --xattrs --xattrs-include=* --format=pax -Spxvf /remote_FS/backup-of-exavmimages.tar -C /

    Note:

    Following restoration, the guest image files under /EXAVMINAGES are separate regular files. Consequently, the space usage in /EXAVMINAGES may go up after the restoration process compared to the original space usage, which may have benefited from savings associated with reflinked files.

  6. Restore the guest specific files for the KVM hypervisor.
    # /usr/bin/cp /XML/*.xml /etc/libvirt/qemu/

    Note:

    This step assumes that the files restored to /XML were copied into the backup location during the backup procedure.

  7. Define each guest in the KVM hypervisor.
    # virsh define /etc/libvirt/qemu/guestname.xml
  8. Enable autostart for each restored guest.
    # /opt/exadata_ovm/vm_maker --autostart guestname --disable
    # /opt/exadata_ovm/vm_maker --autostart guestname --enable
  9. Bring up each guest.
    # /opt/exadata_ovm/vm_maker --start-domain guestname
    At this point all the guests should start along with the Oracle Grid Infrastructure and the database instances.