Prechecks Performed by Full Stack Disaster Recovery

Full Stack Disaster Recovery performs prechecks for resources such as DR Protection Groups, DR Plans, and DR Plan Executions.

Prechecks for Compute Instance

Full Stack DR first performs the following storage prechecks for each VM present in the primary DRPG. Full Stack DR verifies that:
  • Volume group replication is configured or backup is configured with a backup policy and cross-region copy is enabled.
  • A volume group replica or at least one volume group backup exists in the standby region. Multiple backups can also exist as Full Stack DR uses the latest volume group backup.
  • All the boot and block volumes of the VMs of the members in a DRPG are added to the volume group.
  • Volume group contains only the boot and block volumes attached to the VM of the members in a DRPG.
  • Whether the user is trying to add moving compute instances to a standby DR Protection Group, which is not allowed.

Prechecks for Mount File System on Compute Instance:

Full Stack DR first performs the following prechecks for the mount file system on compute instance:
  • Movable Compute Instance:
    • Create DR Plan Validations:
      • Validation for mount details for File System:
        • Validates that the mount details property is present on instance property (fileSystemOperationDetails).
        • Validates that the mount target of mount details matches with standby region.
        • Validates that the combination of mount point and export is unique (avoid multiple mounting on the same mount point).
        • Validates that the mount target of mount details is in an active state.
      • Validates that the instance operating system is not WINDOWS.
    • Create DR Plan Execution Pre-check Validations:
      • Validation for mount details for File System:
        • Validates that the mount details property is present on instance property (fileSystemOperationDetails).
        • Validates that the mount target of mount details matches with standby region.
        • Validates that the combination of mount point and export is unique (avoid multiple mounting on same mount point).
        • Validates that the mount target of mount details is in an active state.
      • Validates that the compute instance and mount target of mount details are having correct TCP/UDP protocol enable. See Configuring VCN Security Rules for File Storage
      • In the case of start drill or failover:
        Note

        For a switchover, this check is performed in the unmount pre-check step. However you do not need to check for the stop drill as there is no mount operation.
        • Validates that the compute instance have the Compute Instance Run Command plugin enabled.
        • Validates that the compute instance has a root-access on ocarun user. For information on how to get the root access on compute instance, see Running Commands on an Instance.
        • Validates that the compute instance has nfs-client installed. For information on how to install nfs-client on compute, see Mounting File Systems From UNIX-Style Instances.
  • Non-Movable Compute Instance:
    • Create DR Plan Validations in Standby DR Protection Group
      • Validation for mount details for File System:
        • Validates that the mount target property is present on instance property (fileSystemOperationDetails).
        • Validates that the mount target of mount details matches with standby region.
        • Validates that the mount target of mount details is in active state.
        • Validates that the combination of mount point and export is unique (avoid multiple mounting on the same mount point).
    • Validates that the instance operating system is not WINDOWS.
    • Create DR Plan Execution Pre-check Validations in Standby DR Protection Group
      • Validation for mount details for File System:
        • Validates that the mount target property is present on instance property (fileSystemOperationDetails).
        • Validates that the mount target of mount details matches with standby region.
        • Validates that the mount target of mount details is in active state.
        • Validates that the combination of mount point and export is unique (avoid multiple mounting on the same mount point).
      • Validates that the compute instance and mount details are having the correct TCP/UDP protocol enabled.
      • Validates that the compute instance has Compute Instance Run Command plugin enabled.
      • Validates that the instance operating system is not WINDOWS.
      • Validates that the compute instance has root-access on ocarun user. For information on how to get the root access on compute instance, see Running Commands on an Instance.
      • Validates that the compute instance has nfs-client installed. For information on how to install nfs-client on compute, see Mounting File Systems From UNIX-Style Instances.

Prechecks for Unmount File System on Compute Instance:

Full Stack DR first performs the following prechecks for the unmount file system on compute instance:
  • Movable Compute Instance
    • Create DR Plan Validations
      • Validation for unmount details for File System:
        • Validates that the unmount details property is present on instance property (fileSystemOperationDetails).
        • Validates that the mount target of unmount details matches with primary region.
        • Validates that the mount target of unmount details is in active state.
        • Validates that the export path is present on the mount target of unmount details.
      • Validates that the instance operating system is not WINDOWS.
    • Create DR Plan Execution Pre-check Validations
      • Validation for unmount details for File System:
        • Validates that the unmount details property is present on instance property (fileSystemOperationDetails).
        • Validates that the mount target of unmount details matches with primary region.
        • Validates that the mount target of unmount details is in active state.
        • Validates that the export path is present on the mount target of unmount details.
      • Validates that the compute instance and mount target of unmount details are having the correct TCP/UDP protocol enabled.
      • Validates that the compute instance has the Compute Instance Run Command plugin enabled.
      • Validates that the mount point is present on the compute instance.
      • Validates that the instance operating system is not WINDOWS.
      • Validates that the compute instance has root-access on ocarun user. For information on how to get the root access on compute instance, see Running Commands on an Instance.
      • Validates that the compute instance has nfs-client installed. For information on how to install nfs-client on compute, see Mounting File Systems From UNIX-Style Instances.
  • Non Movable Compute Instance
    • Create DR Plan Validations for Primary DR Protection Group
      • Validation for unmount details for File System:
        • Validates that the mount target property is present on instance property (fileSystemOperationDetails).
        • Validates that the mount target of unmount details matches with primary region.
        • Validates that the mount target of unmount details is in active state.
        • Validates that the export path is present on the mount target of unmount details.
      • Validates that the instance operating system is not WINDOWS.
    • Create DR Plan Execution Pre-check Validations for Primary DR Protection Group
      • Validation for unmount details for File System:
        • Validates that the mount target property is present on instance property (fileSystemOperationDetails).
        • Validates that the mount target of unmount details matches with primary region.
        • Validates that the mount target of unmount details is in active state.
        • Validates that the export path is present on the mount target of unmount details.
      • Validates that the compute instance and unmount details are having the correct TCP/UDP protocol enabled.
      • Validates that the mount point is present on the compute instance.
      • Validates that the compute instance have the Compute Instance Run Command plugin enabled.
      • Validates that the instance operating system is not WINDOWS.
      • Validates that the compute instance has root-access on ocarun user. For information on how to get the root access on compute instance, see Running Commands on an Instance.
      • Validates that the compute instance has nfs-client installed. For information on how to install nfs-client on compute, see Mounting File Systems From UNIX-Style Instances.

Prechecks for Volume Groups (Block Storage)

Full Stack DR first performs the following prechecks for all volume groups added to the primary DRPG. Full Stack DR verifies that:
  • The volume group is in an Available state.
  • The volume group has either replication or backups configured in the standby region. If both are configured, Full Stack DR uses replicas and ignore backups.
  • For intra-region DR that any destination (standby) region replicas are not in the same availability domain (AD).
  • The replica in the standby region is in an Available state, or if backups are used, that at least one backup exists and is Available.
  • The list of volumes in the source volume group match the list of volumes in the standby region replica or backup.

Prechecks for Block volume for Non-Movable compute instances

Full Stack DR first performs the following prechecks for the block volume for non-movable compute instances:

If the compute instance is added as member to a DRPG with the role Primary, then perform the following validations for each block volume ID provided in the new member property list:
  • The block volume ID should be a valid OCID of a block volume.
  • The block volume should not have duplicates in the member properties of the same compute instance.
  • Block volume should be already attached to the compute instance.
  • The block volume should be a part of some volume group member of the DRPG.
  • If a Volume attachment reference instance ID is provided in the attachment details, then that instance should be a member of the standby DR Protection Group and the block volume ID should be added in its member properties.
  • If the Volume attachment reference instance ID is not provided in the attachment details, then only one compute instance in the standby DRPG should have a member property defined with this block volume ID.
  • The mount points that are defined should be unique.
If the compute instance is added as member to a DRPG with the role Standby, then perform the following validations for each block volume ID provided in the new member property list:
  • The block volume ID should be a valid OCID of a block volume.
  • The block volume should not have duplicates in the member properties of the same compute instance.
  • The block volume should be from the region of the primary DRPG.
  • The block volume should be a part of some volume group member of the primary DRPG.
  • The volume group's destination/target AD (where the backup or replica will be activated) should match the AD of this standby compute instance.
  • If a Volume attachment reference instance ID is provided in the attachment details, then that peer instance should be a member of primary DRPG and the block volume should be attached to it.
  • If the Volume attachment reference instance ID is not provided in the attachment details, then only one compute instance in the primary DRPG should have the block volume attached to it.
  • The mount points that you define should be unique.
  • No two block volumes should be configured to attach using a same device path.
  • If the attachment uses device paths, then the device paths must not be in use.
  • If a block volume is configured to be attached to more than one compute instance, then the attachment must have a shareable access.

Prechecks for Object storage with SWITCHOVER and FAILOVER

Full Stack DR first performs the following prechecks for the object storage:

  • Switchover:
    • OBJECT_STORAGE_BUCKET_SWITCHOVER_DELETE_REPLICATION_PRIMARY_PRECHECK

      • Validates that the source bucket is present.

      • Validates that the replication policy is present.

      • Validates that the replication policy should be in the peer region.

    • OBJECT_STORAGE_BUCKET_SWITCHOVER_SETUP_REVERSE_REPLICATION_STANDBY_PRECHECK

      • Validates that the target bucket is present

      • Validates that the source bucket is present

    • OBJECT_STORAGE_BUCKET_SWITCHOVER_DELETE_REPLICATION_PRIMARY

      • Deletes replication policy on source bucket (this will enable the target bucket to become read/write automatically)

    • OBJECT_STORAGE_BUCKET_SWITCHOVER_SETUP_REVERSE_REPLICATION_STANDBY

      • Enables Auto-tiering, Emit Object Events, Object Versioning, and Uncommitted multipart upload cleanup (means a new lifecycle rule dedicated to uncommitted multipart created) in the target bucket. All the mentioned attributes of bucket will be swapped between the source and the target bucket.

      • Swaps the lifecycle rule and retention rule between the source and target bucket.
      • Setups reverse replication in the target bucket (i.e., create replication policy in the target bucket. The replication will be reversed from target to source)

  • Failover:
    • OBJECT_STORAGE_BUCKET_FAILOVER_DELETE_REPLICATION_STANDBY_PRECHECK

      • Validates that the source bucket is in an Active state.

      • Validates that the replication policy is present.

      • Validates that the replication policy should be in the peer region.

      • Validates that the target bucket is in an Active state.

    • OBJECT_STORAGE_BUCKET_FAILOVER_SETUP_REVERSE_REPLICATION_STANDBY_PRECHECK (Continue on Error)

      • Validates that the target bucket is present.

        Validates that the source bucket is present.

    • OBJECT_STORAGE_BUCKET_FAILOVER_DELETE_REPLICATION_STANDBY

      • Deletes replication policy on target bucket (this will enable the target bucket to become read/write automatically)
    • OBJECT_STORAGE_BUCKET_FAILOVER_SETUP_REVERSE_REPLICATION_STANDBY (Continue on Error)

      • Enables Auto-tiering, Emit Object Events, Object Versioning, and Uncommitted multipart upload cleanup (means a new lifecycle rule dedicated to uncommitted multipart created) in the target bucket. All the mentioned attributes of bucket will be swapped between the source and the target bucket.

      • Swaps the lifecycle rule and retention rule between the source and target bucket.
      • Setups reverse replication in the target bucket (i.e., create replication policy in the target bucket. The replication will be reversed from target to source)

Prechecks for Database (Oracle Base Database Service, Oracle Exadata Database Service on Dedicated Infrastructure, Oracle Exadata Database Service on Exascale Infrastructure, Oracle Exadata Database Service on Cloud@Customer)

Full Stack DR performs the following prechecks if a database member (Oracle BaseDatabase Service, Oracle Exadata Database Service on Dedicated Infrastructure, Oracle Exadata Database Service on Exascale Infrastructure, Oracle Exadata Database Service on Cloud@Customer) is a part of the DRPG. Full Stack DR verifies that:
  • Database member properties are not empty or null and password secret vault location is a part of the database member properties.
  • You are able to access the secret vault in which the database password is stored database and peer database is in an Available state.
  • Database and peer Database have Data Guard enabled and they are Data Guard peers of each other.
  • Database and peer Database have the correct Data Guard roles.
  • Database and peer Database are a part of the two associated DR protection groups that are a part of the configuration. Primary database is a part of the primary DR protection group and standby database is a part of the standby DR protection group.

Prechecks for Oracle Autonomous Database Serverless

Full Stack DR performs the following prechecks if an Autonomous Database Serverless member is part of the DRPG. Full Stack DR verifies that:
  • Autonomous database member properties are not empty or null.
  • The primary Autonomous database does not have an empty standby database list.
  • The standby Autonomous database is not in the same region as the primary database region and is not a local peer.
  • The Autonomous database and the peer Autonomous database are a part of the two associated DR protection groups that are a part of the configuration.
  • Remote Data Guard is configured.
  • Remote peer database belongs to the remote DRPG.
  • The primary database lifecycle state is AVAILABLE.

    For switchover prechecks, Full Stack DR performs the following additional validations on the standby database: Verifies that remote peer standby is in the correct (STANDBY) state.

Prechecks for Oracle Autonomous Container Database

Full Stack DR performs the following prechecks if an Autonomous Container Database member is part of the DRPG. Full Stack DR verifies that:
  • Autonomous Container Database member properties are not empty or null.
  • The primary Autonomous Container Database does not have an empty standby database list.
  • The Autonomous database and the peer Autonomous database are a part of the two associated DR protection groups that are a part of the configuration.
  • Remote Data Guard is configured.
  • Remote peer database belongs to the remote DRPG.
  • The primary and the standby Autonomous Container database lifecycle states are AVAILABLE.

    For switchover prechecks, Full Stack DR performs the following additional validations on the standby database: Verifies that remote peer standby is in the correct (STANDBY) state.