Note: Please go to to access the current RightScale documentation set. Also, feel free to Chat with us!
Home > ServerTemplates > v12.11 LTS > ST > Storage Toolbox (v12.11 LTS) > Storage Toolbox (v12.11 LTS) - Tutorial

Storage Toolbox (v12.11 LTS) - Tutorial


Table of Contents    

Long Term Support


Stable, tested ServerTemplate assets

    ►   Tutorial




To setup consistant storage for a variety of contexts. This includes defining backups of storage either to block devices or Remote Object Storage as well as restoring databases. 

NoteGoogle Compute Engine and Azure do not offer full volume support with this ServerTemplate. Currently, if you would like to use Google Compute Engine or Azure, you can use the Storage Toolbox (v13) Infinity ServerTemplate.


  • 'actor' and 'library' user roles in order to complete the tutorial.
  • A server configuration, such as a standalone or 3-tier deployment, that needs a backup solution. 


The Storage Toolbox ServerTemplate allows you to backup, recover, and experiment with multiple block devices. While it is possible to create backups and recoveries with scripts in the database ServerTemplates RightScale provides, a Storage Toolbox ServerTemplate is designed to support multiple points of backup for your database.

With the Storage Toolbox ServerTemplate, you can set up consistent storage blocks on instances or attachable volumes, perform backups using volume snapshots or instance storage snapshots, set up continuous backup schedules, perform one-off backups with a click of a button, save off-site backups in cloud object storage, and backup and restore across regions and clouds.


Create a Storage Toolbox Server

  1. Go to the MultiCloud Marketplace (Design > MultiCloud Marketplace > ServerTemplates) and import the most recent version of the Storage Toolbox ServerTemplate into your RightScale account. 
  1. From the imported ServerTemplate's show page, click the Add Server button.
  2. Select the cloud for which you will configure a server. 
  3. Select the deployment where your principal and mirror server exists.
  4. Next, the Add Server Assistant wizard will walk you through the remaining steps that are required to create a server based on the selected cloud.
    • Server Name - Provide a nickname for your new database server (e.g., StorageToolbox). 
    • Select the appropriate cloud-specific resources (e.g. SSH Key, Security Group, etc.) that are required in order to launch a server into the chosen cloud. The required cloud resources may differ depending on the type of cloud infrastructure. If the cloud supports multiple datacenters/zones, select a specific zone. Later, when you create the other database server you will use a different datacenter/zone to ensure high-availability. For more information, see Add Server Assistant.
  5. Click Confirm, review the server's configuration and click Finish to create the server.

Launch the Server

Next, launch the new server that will become a Storage Toolbox.

If there are any required inputs that are missing values (highlighted in red), cancel the launch and add the missing values at the deployment level before launching the server again. Refer to the instructions in Launch a Server if you are not familiar with this process.

Open up Firewall Ports (Optional)

This step depends on how your deployment is setup. If you have a firewall that requires additional ports to use a block device, you will need to run this script first.

  • Go to the Storage Toolbox Scripts tab and run the 'sys_firewall::setup_rule' operational script. 
  • Specify the Firewall Rule Port (i.e. 8000). You can also disable ports by running this script and specifying a port you already have open. 
  • Click Continue.

Setup a Block Device

Once the Storage Box server becomes operational, and you have the proper ports opened up (if that is needed for your deployment), you can create, format, and mount a new block device on an instance by running the 'block_device::setup_block_device' operational script. This is assuming your cloud supports volumes and you would like to use volumes to take backups. If you are using a cloud that does not support volumes, or would like to setup your backups to send to a Remote Object Storage, such as Amazon S3 or Rackspace Cloud Files, you can run the primary backup script. See the Take Primary Backups section.

Note: If your cloud does not support volumes, a backup created with this script will be saved on an ephemeral drive. So if the running instance gets terminated, the backup will be lost. If a cloud supports volumes, it is using persistent storage. So if an instance is terminated, the backup won't be lost since it's attached to a volume. A volume can also be attached to any instance (for example, if your master server goes down, you can fail-over to a slave and attach the volume to that slave). 

  • Go to the server's Scripts tab and run the 'block_device::setup_block_device' operational script and enter the following information:


Input Name
Example Value
Block Device Mount Directory (1) The name of the directory where the filesystem will be mounted. (e.g. /mnt/data_storage1)  text: /mnt/data_storage1
Number of Volumes in the Stripe (1) The number of physical volumes that make up the logical volume. text:  1
Total Volume Size (1) The total size of the logical volume, which is a summation of the size of all physical volumes in the stripe. (e.g. 10) text:  10
Block Device(s) to Operate On The block device(s) to operate on. Can be a comma-separated list of device names or * to indicate all devices. test: device1



Input Name
Example Value
I/O Operations per Second (1)

The input/output operations per second (IOPS) that the volume can support.

Note: IOPS is currently only supported on Amazon EC2. 

text: 500
Percentage of the LVM used for data (1) The percent of the available disk space that will be used for storing data. The remaining percent will be used for temporarily storing modified (dirty) blocks of data for LVM. text: 90


Note: You can create an additional device by specifying the output in the Block Device Mount Directory (2) input in the Advanced section. By default, the Storage Toolbox ServerTemplate is configured to support up to two devices. For more information about mounting multiple devices, see the Mount Multiple Devices section in the Storage Toolbox Runbook. 

Take Primary Backups

If your cloud does not have full volume support, run the following script to take a primary backup snapshot of the specified device to store in ROS. If your cloud does have full volume support, you can run this script after you set up your block device. This script can be used to keep daily, weekly, or yearly backups to your volumes or ROS. 

  • block_device::do_primary_backup - Create a backup snapshot of the device. If the device is comprised of multiple volumes, a snapshot will be created for each attached volume and tag them appropriately. So if a device consisted of two volumes, the snapshot of the first volume would have the following tags: rs_backup:count=2, rs_backup:position=1


Input Name
Example Value
Backup Lineage (1)  The name associated with your primary and secondary database backups. It's used to associate them with your database environment for maintenance, restore, and replication purposes. Backup snapshots will automatically be tagged with this value (e.g. rs_backup:lineage=mysqlbackup). Backups are identified by their lineage name.
Note: For servers running on Rackspace, this value also indicates the Cloud Files container to use for storing primary backups. If a Cloud Files container with this name does not already exist, one will automatically be created.
Text: mysqlbackup
Block Device(s) to Operate On The block device(s) to operate on. Can be a comma-separated list of device names or '*' to indicate all devices. Example: device1 Text: device1



Input Name
Example Value
Keep Daily Backups (1) The number of daily backups to keep (i.e. rotation size). (Default is 14.) A daily backup is the last completed backup snapshot of the day with a timestamp closest to the end of the day (23:59:59). text:14
Keep Monthly Backups (1) The number of monthly backups to keep. (Default is 12.) A monthly backup is the last completed backup snapshot for a given month, with a date and timestamp closest to 23:59:59 on the last day of the month. text:12
Keep Weekly Backups (1) The number of monthly backups to keep. (Default is 6.) A weekly backup is the last completed backup snapshot for a given week, with a date and timestamp closest to 23:59:59 on Saturday. text:6
Keep Yearly Backups (1) The number of monthly backups to keep. (Default is 2.) A yearly backup is the last completed backup snapshot for a given year, with a date and timestamp closest to 23:59:59 on December 31. text:2


Note: If you have two devices mounted, you can specify a backup with the second device by filling out the the similar inputs. These inputs are the same as defining the inputs for the first device, but instead of being followed by a "(1)" the inputs will be followed by "(2)." For more information about specifying a second device, see the Storage Toolbox Runbook.

(Optional) If you want to enable continuous primary backups of the second device (in addition to the first device), change the Block Device(s) to Operate On input to 'text:device1,device2' and execute the 'block_device::do_primary_backup_schedule_enable' script.

Post Tutorial Steps

If you're looking for more tasks to perform with the Storage Toolbox ServerTemplate, see the Storage Toolbox Runbook for more information.

You must to post a comment.
Last modified
00:37, 17 May 2013


This page has no custom tags.


This page has no classifications.



© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.