IBM Cloud Docs
Setting up on-premises location with NetApp ONTAP-SAN storage

Setting up on-premises location with NetApp ONTAP-SAN storage

To deploy the Cloud Databases enabled by IBM Cloud Satellite® service, prepare your Satellite location. Follow these steps to set up Cloud Databases enabled by IBM Cloud Satellite in an on-premises location.

On-premises Satellite location currently supports only NetApp ONTAP-SAN storage.

Prepare an on-premises Satellite location for IBM Cloud® Databases

Attach extra hosts to the Satellite location

These additional-attached worker nodes are used to create a service cluster into which the database instances are deployed later. Attach to your Satellite location:

  • Three type 8x32 hosts
  • Three type 32x128 hosts

You should also attach an additional three 32x128 hosts to be kept in reserve. While optional, this step is recommended and you will see a notification in the UI until the reserve workers are attached.

To be assigned to a service cluster, your worker nodes must match these specifications exactly.

Create an on-premises Satellite block storage configuration for NetAPP ONTAP-SAN block storage

Set up NetApp ONTAP-SAN storage

To set up your NetApp ONTAP-SAN storage (20.07), refer to Setting up NetApp storage templates.

Deploy your NetApp ONTAP-SAN Block driver

To get a list of NetApp-supported templates, use the following command:

ibmcloud sat storage templates | grep "NetApp Ontap"

Create a storage configuration based on your NetApp backend

  • Operator configuration:

    ibmcloud sat storage config create 
      --location ${LOCATION_ID} 
      --name ${OPERATORCONFIGNAME}  
      --template-name 'netapp-trident' 
      --template-version '20.07'
    
  • SAN configuration:

    ibmcloud sat storage config create 
      --location ${LOCATION_ID} 
      --name ${SANCONFIGNAME}  
      --template-name 'netapp-ontap-san' 
      --template-version '20.07' 
      --param "dataLIF=${DATALIF}" 
      --param "managementLIF=${MGMLIF}"
      --param "svm=${SVM}" 
      --param "username=${USERNAME}" 
      --param "password=${PASSWORD}"
      --param "limitVolumeSize=1100Gi"
    

Grant a service authorization

Begin by configuring IAM Authorizations:

  • Configure your IAM Authorizations under the Manage tab.
  • Choose the Authorizations tab from the left menu.
  • Click Create to allow a service instance access to another service instance.
    • The source service is the service that is granted access to the target service. The roles that you select define the level of access for this service. The target service is the service that you are granting permission to be accessed by the source service based on the assigned roles.
    • In the Source service field, select the Database type.
    • In the Target service field, select Satellite.
    • Select all options:
      • Satellite Cluster Creator
      • Satellite Link Administrator
      • Satellite Link Source Access Controller
    • Then, click Authorize.

Ensure location readiness

Your location needs to report normal before you provision your Cloud Databases Satellite deployment. This status can be confirmed in the UI, as shown here:

UI showing location is normal
UI showing location is normal

The normal status can also be confirmed by using the CLI, with a command like:

ibmcloud sat location get --location <location name> --output=json -q | jq -r .state

If successful, the command output reports normal.

Obtaining normal state

To get to this state, attach a minimum of three 4x16 hosts to your location and assign them to the Control plane. After that step is complete, provisioning of the Control plane will begin. Upon successful completion, the location state is going to report as normal.

Control plane in normal state
Control plane in normal state

Attempting to provision a database instance into a location without a running Control plane (that is, normal state), causes a provisioning to fail.

Provisioning Cloud Databases Satellite deployment

You can provision your Cloud Databases Satellite deployment by selecting the Satellite location that you create from the Location dropdown on the provisioning page. For more information, see the relevant Provisioning documentation. After you create a new service instance, this instance will appear in the IBM Cloud Resource list as Provisioned.

When you deploy the first database service instance, a service cluster deploys automatically into your Satellite location. The deployment of the service cluster can take up to 1 hour.

You can verify in the IBM Cloud UI whether the service cluster is already created:

  • From the left Navigation menu, select Satellite, then Locations.
  • Select your Satellite location.
  • Select Services.

You must create a storage assignment manually (see next step) before the database instance will be started. Subsequent database service instances provision more quickly since instances land on the same service cluster.

Create a storage assignment

The next step is to create a Satellite storage assignment that allows the service cluster to create volumes on the previously configured storage.

The first database you provision into a location remains "Provision in progress" until this step is complete.

First, obtain your ROKS-Service-cluster-ID by entering the following command into the IBM Cloud CLI:

ic sat service ls  --location <location name/location id>

The output of the command includes the Cluster ID of the newly created Satellite service cluster.

Use the Cluster ID as an input parameter for --service-cluster-id in the following AWS Satellite location storage assignment commands:

ibmcloud sat storage assignment create 
	--name ${OPERATORASSIGNMENTNAME} 
	--service-cluster-id ${SERVICECLUSTERID} 
	--config ${OPERATORCONFIGNAME} 
ibmcloud sat storage assignment create 
	--name ${SANASSIGNMENTNAME} 
	--service-cluster-id ${SERVICECLUSTERID} 
	--config ${SANCONFIGNAME}

After you create the storage assignment, allow up to 30 minutes for the database instance to be ready for usage.