ExaCC: Prepare Infrastructure for Exascale

In December 2024 Oracle released Exascale, a new storage architecture optimized for Cloud deployments, for Exadata Cloud@Customer environments. The initial release was limited to a very small number of OCI regions. Nowadays the availability of Exascale is not limited anymore.

In this blog post I will go through all required steps to prepare an Exadata Infrastructure for Exascale. Before you start check the requirements in the documentation.

Downtime

To initiate Exascale, a restart of all DB Servers is required to enable QinQ (802.1ad). Depending on the configuration of your databases running on the affected VM Clusters, this might either cause a downtime of your databases and/or impacts your connected applications.

During my tests, the whole procedure required between 60 and 90 minutes for an Exadata Infrastructure with 4 DB Servers and 7 Storage Servers.

Exascale Configuration Work Request Runtime
Exascale Configuration Work Request Runtime

A scale up or down of the Exascale storage does not require an additional downtime and is done within a few minutes

Exascale Scale-Up Work Request Runtime
Exascale Scale-Up Work Request Runtime

Exadata Infrastructure

If your Exadata Infrastructure is ready for the configuration of Exascale, a banner is displayed when you open the overview page.

Exascale Readiness Banner
Exascale Readiness Banner in the OCI Console

OCI Console

Navigate to the overview page of the Exadata Infrastructure. To start the configuration either open More actions > Configure Exascale storage from the menu bar or click the link Configure in the Exadata Storage area or in the banner.

Configuration of the Exascale Storage
Configuration of the Exascale Storage

The same configuration window can be used to scale-up or -down the Exascale storage.

OCI CLI

To execute the following OCI CLI call, the minimum version is 3.50.2. The following command will configure the minimum size of 2 TB.

$> oci db exadata-infrastructure configure-exascale \
   --exadata-infrastructure-id "ocid1.exadatainfrastructure.oc1.eu-frankfurt-1.xxxxx...xxxxx" \
   --total-storage-in-gbs 2048

The same command can be used to scale-up or -down the Exascale storage.

Exascale Storage Vault

After the Exascale storage is configured, it can be used to create Exascale Storage Vaults. An Exascale Storage Vault is a logical storage container that can be used as storage for one or multiple VM Clusters.

It looks like that there is a slightly rounding error. When you configure the minimum of 2 TB as Exascale storage and try to use it for a Exascale Storage Vault the work request will fail with the following error.

Exascale Storage Vault Error
Exascale Storage Vault Error

OCI Console

Open the overview page of the Exadata Infrastructure, select Exadata Storage Vaults from the Resources area and press Create Exascale storage vault.

Creation of a new Exascale Storage Vault
Creation of a new Exascale Storage Vault

The creation of the new Exascale Storage Vault took in my case only around 3 minutes.

Exascale Storage Vault Overview
Exascale Storage Vault Overview
Exascale Storage Vault Detail Page
Exascale Storage Vault Detail Page

OCI CLI

To create an Exascale storage vault with the OCI CLI, use the following call. The value for the mandatory parameter --availability-domain can be retrieved using the oci db vm-cluster get call.

$> oci db exascale-db-storage-vault create \
   --compartment-id "ocid1.compartment.oc1..xxxxx...xxxxx" \
   --exadata-infrastructure-id "ocid1.exadatainfrastructure.oc1.eu-frankfurt-1.xxxxx...xxxxx" \
   --availability-domain "fVQM:EU-FRANKFURT-1-AD-3" \
   --display-name "Dev-Cluster-Vault" \
   --high-capacity-storage-gb 2048

To get an overview of all available Exascale Storage Vaults for a specific Exadata Infrastructure, use the following call.

$> oci db exascale-db-storage-vault list \
   --compartment-id "ocid1.compartment.oc1..xxxxx...xxxxx" \
   --exadata-infrastructure-id "ocid1.exadatainfrastructure.oc1.eu-frankfurt-1.xxxxx...xxxxx" \
   --output table \
   --query "data[].{\"01 OCID\":\"id\",\"02 Name\":\"display-name\",\"03 Storage\":\"high-capacity-database-storage\",\"04 VM Cluster Count\":\"vm-cluster-count\"}"

+---------------------------------------------------------------+-------------------+------------------------------------------------------------+---------------------+
| 01 OCID                                                       | 02 Name           | 03 Storage                                                 | 04 VM Cluster Count |
+---------------------------------------------------------------+-------------------+------------------------------------------------------------+---------------------+
| ocid1.exascaledbstoragevault.oc1.eu-frankfurt-1.xxxxx...xxxxx | Dev-Cluster-Vault | {'total-size-in-gbs': 2048, 'available-size-in-gbs': None} | 0                   |
+---------------------------------------------------------------+-------------------+------------------------------------------------------------+---------------------+

Dismantling

After the Exascale storage is configured, it is not possible to deactivate this feature. The only way to avoid storage waste is to reduce the Exascale storage portion to its minimum of 2 TB after dropping all existing Exascale Storage Vaults.

References

Leave a Reply

Your email address will not be published. Required fields are marked *