Creating an Ark Cluster¶
There are multiple ways to create an Ark cluster. You can:
- use the Create Cluster wizard to define a new cluster from a template.
- use the Create Cluster wizard to clone a cluster.
- use a backup as a starting point for a new cluster.
After creating a cluster, you can use options on the cluster’s context menu to manage the cluster.
Using the Create Cluster Wizard¶
The PEM Create cluster wizard simplifies the process of creating an Ark cluster by presenting a series of dialogs that define a cluster. The dialog content presented by the wizard will vary by platform and the steps involved in cluster creation will be different for template users than for those users defining a console manually.
To open the wizard, connect to the hosting server and expand the PEM browser tree control. Then, right-click on the Clusters node and navigate through the Create menu option and select Cluster…. The Create cluster wizard opens as shown below:
Use fields on the Cluster type selection dialog to specify how you will define the cluster:
- Select Define a cluster to provide detailed cluster configuration preferences.
- Select Clone a cluster to make a modified copy of the master node of an existing cluster.
- Select Restore a cluster using backup to clone a backup into the master node of a cluster. When you clone from backup, the server configuration will match the original configuration, but the server addresses will change. When the cluster creation completes, you may need to modify parameters in the postgresql.conf file on the restored cluster to reflect the available memory of the new instance if the server class has changed from the original setting. After modifying the server configuration, restart the server for the changes to take effect.
A template contains a predefined set of server options that determine the configuration of a database cluster. A template can simplify creation of clusters that use a common configuration, or limit user access to costly resources such as large server classes. An administrative user can specify that a user is a template only user; a template only user must adhere to cluster definitions provided in a template when deploying an Ark cluster.
- Move the Use template? slider to Yes to use a template during cluster deployment.
Click Next to continue.
Use fields on the Cluster details dialog to provide deployment details for the cluster:
- Specify a name for the new cluster in the Name field. Please Note: EDB Ark uses the name specified in the Name field to identify the cluster when performing management functions. The cluster name is also part of the instance name on the OpenStack console; you must not modify the name in the OpenStack management console. Changing the cluster name in the OpenStack console can break key EDB Ark features (i.e. failover).
- If applicable, use the Clone from cluster drop-down listbox to select an existing cluster to clone.
- If applicable, use the Backup from cluster drop-down listbox to select a backup to restore.
- The Backup start time field displays the time at which the backup was taken; this field is not modifiable.
- If applicable, use the Recovery point date selector to specify the date and time to which you wish to recover. The specified time may not precede the timestamp of the specified backup.
- If applicable, use the Template name drop-down listbox to select a template that will provide deployment details for the cluster.
- Use the drop-down listbox in the Engine version field to select the version of the Postgres engine that you wish to use.
- Use the drop-down listbox in the Server class field to specify the size of each cluster node. The server class determines the size and type (compute power and RAM) of each node within the cluster. You can adjust the amount of storage used by the cluster, or number of replicas in the cluster as your resource demands change. For example, you can start with a m1.small instance, and later, easily upgrade to a more capable c1.medium instance as your performance requirements dictate.
- To create a cluster on an Amazon host that resides in a private cloud, move the Use Private IP addresses slider to Yes; then use the Virtual network field to select the virtual private cloud into which the cluster will be deployed.
- If your cluster resides on an Azure host, use the drop-down listbox in the Virtual network field to specify the network in which the cluster will reside.
- If your cluster resides on an OpenStack host, use the Virtual network drop-down listbox to select the network in which the cluster will be deployed; then, use the Floating IP pool drop-down listbox to select an address pool in which the cluster will reside.
- Use the Number of nodes field to specify the number of server nodes that you wish to create. The name specified in the Name field will apply to the master node; each additional node will act as a replication server for the master node.
- Use the Storage GB field to specify the initial amount of the data space (in Gigabytes) available for the cluster.
- Set the Encrypted slider to Yes to indicate that the cluster should be encrypted. EDB Ark uses the aes-xts-plain (512-bit) cipher suite to provide an encryption environment that is both secure and transparent to connecting clients. When encryption is enabled, everything residing on the cluster is encrypted except for the root filesystem.
- If your cluster resides on an AWS host, set the EBS Optimized slider to Yes to specify that your cluster should use an Amazon EBS-optimized instance and provisioned IOPS to guarantee a level of I/O performance. The IOPS field is enabled for those clusters that will reside on an EBS-optimized instance. Use the IOPS field to specify the level of I/O performance that will be maintained for the cluster by automatic scaling. The maximum value is 30 times the size of your cluster; for example, if you have a 4 Gigabyte cluster, you can specify a maximum value of 120.
- Set the Perform OS and software update slider to Yes to instruct the server to perform a software update when the cluster is provisioned. Please note: this option is disabled if the cluster uses a statically provisioned server.
Click Next to continue.
Use fields on the Cluster security information dialog to provide connection and notification details for the cluster:
- Enter the name of the database superuser in the Master username field.
- Enter the password associated with the database superuser in the Master password field.
- Confirm the password provided in the Master password field in the Confirm master password field.
- Use the Notification email field to provide the email address that will receive notices about changes to the cluster status.
Click Next to continue.
If you are using a template to define the cluster, the Scaling options and available roles/tenant/group dialog displays the scaling configuration of the new cluster as designated on the template. The information displayed on the dialog is not modifiable:
- If the Manually scale replicas slider is set to Yes, manual replica scaling will be enabled for the new cluster; cluster users will be able to manually add replicas to the cluster.
- If the Manually scale storage slider is set to Yes, manual scaling of storage will be enabled for the new cluster; cluster users will be able to manually add storage to the cluster when needed.
- If the Auto scale replicas slider is set to Yes, automatic replica scaling will be enabled for the cluster; the cluster will automatically add replicas when cluster usage reaches the threshold specified in the template.
- If the Auto scale storage slider is set to Yes, automatic scaling of storage available to the cluster will be enabled; the cluster will automatically add storage when the cluster reaches the threshold specified in the template.
- The Available to tenant/role/group field displays the names of the platform-specific user groups that can access the new cluster.
Click Next to continue.
Use fields on the Availability zone and subnet details dialog to specify an availability zone/subnet pair for each node of the cluster:
- Use the drop-down listbox in the Availability zone column to specify the data center in which the node listed in the Type column will be deployed, or accept the default to allow the host to select an availability zone.
- Use the drop-down listbox in the Subnet field to specify the subnet that will be used by the node listed in the Type column, or accept the default to allow the host to create a new subnet for the node.
Click Next to continue.
Use fields on the Backup retention details dialog to specify your backup preferences for the cluster:
- Use the Number of automatic backups to retain field to specify the number of backups that will be stored. When the specified number of backups is reached, the server will delete the oldest backup to make room for a new backup.
- Use the Backup window drop-down listbox to select a time that it is convenient to backup the server (you may wish to schedule backups to occur when the CPU load is the lightest).
- Use the Continuous archiving (Point-in-Time Recovery) slider to enable point-in-time recovery for the cluster. When enabled, a base backup is automatically performed that can to be used to restore to a specific point in time. All subsequent automatic scheduled backups will also support point-in-time recovery. Note that if you deselect this option, the cluster (and subsequent automatic backups) will be re-configured to not include support for point-in-time recovery.
Use the Back button to review or modify previous selections, or select Finish to create the defined cluster. Choose Cancel to exit without preserving your selections.
Reviewing Existing Clusters¶
To review a list of existing clusters that reside on a specific cluster host, highlight the Clusters node beneath the cluster name in the PEM client tree control, and navigate to the Properties tab.
The Properties tab displays:
- The name of the cluster in the Name column.
- The name of the cluster owner in the Owner column.
- The current state of the cluster in the Cluster state column.
- The number of cluster nodes in the Number of nodes column.
- The server class that is being used by the cluster in the Server class column.
- The engine version that is deployed on the cluster in the Engine version column.
- The region in which the cluster is deployed in the Region column.
- The VPC identifier of the VPC that is in use by the cluster in the VPC identifier column.