Let’s create our first volume. This is a straightforward euca-create-volume with the arguments -s 1 (for the size of the volume in gigabytes)
and -z nova (which is nova as the
default) for the zone. It will return with the volume name and its status
(creating). You can check on the status with the euca-describe-volumes.
$ euca-create-volume -s 1 -z nova VOLUME vol-00000003 1 creating (book, None, None, None) 2011-07-11T00:08:34Z
Volumes are only currently supported with the Amazon EC2 API. As such, you will need to use euca2ools if you want to use volumes with your instances.
Once the volume has been created, attach it to a running instance with the euca-attach-volume.
# euca-attach-volume vol-00000003 -i i-00000004 -d /dev/vdb VOLUME vol-00000003 # euca-describe-volumes VOLUME vol-00000001 1 nova error (book, nova-controller, None, None) 2011-07-10T22:55:28Z VOLUME vol-00000002 1 nova error (book, nova-controller, None, None) 2011-07-10T22:57:02Z VOLUME vol-00000003 1 nova in-use (book, nova-controller, i-00000004[nova-controller], /dev/vdb) 2011-07-11T00:08:34Z
Volumes will show up as raw devices at /dev/vdb. As with any raw device, you will need to make a filesystem on it and then mount it.
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda 1.4G 549M 767M 42% / devtmpfs 246M 144K 245M 1% /dev none 247M 0 247M 0% /dev/shm none 247M 40K 247M 1% /var/run none 247M 0 247M 0% /var/lock $ sudo mkdir /volumes $ sudo mkfs -t ext3 /dev/vdb $ sudo mount /dev/vdb /volumes $ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda 1.4G 549M 767M 42% / devtmpfs 246M 144K 245M 1% /dev none 247M 0 247M 0% /dev/shm none 247M 40K 247M 1% /var/run none 247M 0 247M 0% /var/lock /dev/vdb 1008M 34M 924M 4% /volumes
Volumes may only be attached to one instance at a time. Volumes cannot be shared between instances concurrently.
Once you are done using the volume, you can umount the volume as any other. Now that the volume is no longer mounted on our instance, we can safely detach it with the euca-detach-volume.
$ sudo umount /volumes
ubuntu@i-00000004:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda 1.4G 549M 767M 42% /
devtmpfs 246M 144K 245M 1% /dev
none 247M 0 247M 0% /dev/shm
none 247M 40K 247M 1% /var/run
none 247M 0 247M 0% /var/lock
# euca-describe-volumes
VOLUME vol-00000003 1 nova in-use
(book, nova-controller, i-00000004[nova-controller], /dev/vdb) 2011-07-11T00:08:34Z
# euca-detach-volume vol-00000003
VOLUME vol-00000003
# euca-describe-volumes
VOLUME vol-00000003 1 nova available (book, nova-controller, None, None)
2011-07-11T00:08:34ZFinally, you can completely destroy the detached volume with the euca-delete-volume. This will take a while, as the volume will be completely zeroed out to prevent other users from seeing this data.
# euca-describe-volumes
VOLUME vol-00000003 1 nova available (book, nova-controller, None, None)
2011-07-11T00:08:34Z
# euca-delete-volume vol-00000003
VOLUME vol-00000003
# euca-describe-volumes
VOLUME vol-00000003 1 nova deleting (book, nova-controller, None, None)
2011-07-11T00:08:34Z
# euca-describe-volumes
#