CSS Corp Open Source Services

[Eucalyptus Beginner’s Guide – UEC edition] Chapter 6 – Storage Management

with 3 comments

Chapter 5
Instance Management
Chapter 7
Network Management

Storage Controller

Storage Controller is the component of Eucalyptus that provides persistent block storage compatible with Amazon’s Elastic Block Store. euca2ools or EC2 commands can be used to manage these volumes. Here are a few euca commands for managing the volumes

Interacting with Storage Controller

Linux Instances

Create a 10 GB volume

uecadmin@client1:~$ euca-create-volume -s 10 -z mycloud
VOLUME  vol-333C04B8    10       creating        2010-03-26T05:20:56.383Z

List the volumes

uecadmin@client1:~$ euca-describe-volumes
VOLUME  vol-333C04B8    10   mycloud   available     2010-03-26T05:20:56.383Z

Attach a volume to a running instance

uecadmin@client1:~$ euca-attach-volume -i i-41620887 -d /dev/sdb vol-333C04B8

The volumes status changes from “available” to “in-use” if it is attached properly as shown in the output of “euca-describe-volumes” below:

uecadmin@client1:~$ euca-describe-volumes
VOLUME  vol-333C04B8    10  mycloud in-use  2010-03-26T05:41:28.019Z
ATTACHMENT      vol-331F04B2    i-41620887      unknown,requested:/dev/sdb  2010-03-26T05:43:51.343Z

You can login to the instance through ssh and see the new volume as a newly attached block storage, which shows up in the example below as /dev/sdb:


$ sudo fdisk -l

Disk /dev/sda: 2195 MB, 2195718144 bytes
4 heads, 32 sectors/track, 33504 cylinders
Units = cylinders of 128 * 512 = 65536 bytes
Disk identifier: 0x000adc1c

 Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       32769     2097152+  83  Linux
/dev/sda3           32769       33504       47071   82  Linux swap / Solaris

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

You can format /dev/sdb, mount it and use it as a persistent storage. It is better to unmount the volume before bringing down the instance, to avoid any data corruption.

Detach a volume:

uecadmin@client1:~$ euca-detach-volume vol-333C04B8

Windows Instances

For windows instances, the procedure for creating the volume and attaching the volume would be the same.

NOTE: Even while attaching to windows instances, the device has to be specified as /dev/sdb.

The only change is the way this disk is accessed. Once the disk is attached to a running windows instance, perform the following steps:

  • Connect to windows instance via RDP
  • Go to Start -> Run and type diskmgmt.msc without the quotes. Select OK. This opens the Disk Management console
  • Right click on the new disk at the bottom of the list and choose Initialize Disk
  • Confirm initialization
  • Right click on the volume and select “New Partition”
  • Accept the defaults or modify to suit your setup and proceed with formatting

After completion the disk management tool shows a healthy partition on the new drive.

To detach a volume from an instance use euca-detach-command command:

uecadmin@client1:~$ euca-detach-volume vol-333C04B8

Note that the volume has to unmounted before detaching it from the instance. Volume can be deleted using euca-delete-volume command:

uecadmin@client1:~$ euca-delete-volume vol-333C04B8

WS3 Storage Controller

Walrus is a storage service in Eucalyptus which is compatible with Amazon’s S3. Using Walrus users can store persistent data, which is organized as buckets and objects. WS3 is a file level storage system, as compared to the block level storage system of Storage Controller.

See Amazon’s S3 Getting Started Guide for more information http://docs.amazonwebservices.com/AmazonS3/2006-03-01/gsg/).

Walrus Controller options can be modified from the Web UI, on the “Configuration” page under “Walrus Configuration” section.

For using Walrus to manage Eucalyptus VM images, you can use Amazon’s tools to store/register/delete them from Walrus. Other third party tools can also be used to interact with Walrus directly.

Third party tools for interacting with Walrus

Snapshots

The volumes that have been created on the Block Storage can be used to create point-in-time snapshots of volumes, which are stored on WS3. These snapshots can be used as the starting point for new Block Storage volumes and protect data for long-term durability. The same snapshot can be used to create many volumes as per requirement.

Snapshots can be created by using euca-create-snapshot command:

uecadmin@client1:~$ euca-create-snapshot vol-333C04B8

euca-describe-snapshots lists the available snapshots.

uecadmin@client1:~$ euca-describe-snapshots
SNAPSHOT        snap-32A804A2   vol-333C04B8    completed       2010-04-15T13:48:32.01Z      100%

Volumes from these snapshots can be created by using the snapshot id.

uecadmin@client1:~$ euca-create-volume -s 10 --snapshot snap-32A804A2 --zone mycloud

Please note that the volume can only be created after the snapshot status is completed. Similarly, snapshots from a volume can only be created after the volume status is created, but not during the creating stage. To delete a snapshot:

uecadmin@client1:~$ euca-delete-snapshot snap-32A804A2
Chapter 5
Instance Management
Chapter 7
Network Management
Advertisements

3 Responses

Subscribe to comments with RSS.

  1. Please consider adding CloudBerry Explorer freeware to your list of third party Walrus management tools.

    Thanks
    Andy

    Andy, CloudBerry Lab

    May 16, 2010 at 1:26 am

  2. how can we attach a storage volume while creating an instance in eucalyptus

    chandrasekhar reddy y

    April 10, 2012 at 3:15 pm

  3. How could I format /dev/sdb, mount it and use it as a persistent storage?

    raspibitraspibit

    June 19, 2013 at 5:21 pm


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: