1 / 27

Presenters: Javier Diaz Gregor von Laszewski

OpenStack and Eucalyptus on FutureGrid https://portal.futuregrid.org/tutorials/openstack Slides are at https://portal.futuregrid.org/projects/241. Presenters: Javier Diaz Gregor von Laszewski. Before you can use OpenStack and Eucalyptus. Please make sure you have a portal account

dong
Download Presentation

Presenters: Javier Diaz Gregor von Laszewski

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OpenStack and Eucalyptus on FutureGridhttps://portal.futuregrid.org/tutorials/openstackSlides are at https://portal.futuregrid.org/projects/241 Presenters: Javier Diaz Gregor von Laszewski

  2. Before you can use OpenStack and Eucalyptus • Please make sure you have a portal account • https://portal.futuregrid.org • Please make sure you are part of a valid FG project • You can either create a new one or • You can join an existing one with permission of the Lead • Please make sure the project you have is approved and valid • OpenStack and Eucalyptus accounts are automatically created when previous requirements are fulfilled

  3. OpenStack vs Eucalyptus • Both OpenStack and Eucalyptus are IaaS cloud frameworks (similar functionality) • We are going to focus on OpenStack during this tutorial • We make use of the EC2 interface thought Euca2ools • ALL commands explained here work in the same way in Eucalyptus

  4. OpenStack • OpenStack is a collection of open source components to deliver public and private IaaS clouds • Components: Nova, Swift, Glance, Keystone, and Quantum • IaaS Cloud Services allows users to manage: • VMs, Virtual networks, storage resources

  5. OpenStack Functionality • Amazon AWS Interface Compatibility • Flexible Clustering and Availability Zones • Access Control List (ACL) with policies management • Network Management, Security Groups, Traffic Isolation • Cloud Semantics and Self-Service Capability • Image registration and image attribute manipulation • Bucket-Based Storage Abstraction (S3-Compatible) • Block-Based Storage Abstraction (EBS-Compatible) • Hypervisor support: Xen, KVM, VMware Vsphere, LXC, UML and MS HyperV

  6. OpenStack Testbed • OpenStackis available to FutureGrid Users on the India cluster • Users can make use of a maximum of 24 nodes on India • Instances Types https://portal.futuregrid.org

  7. Log into India cluster • Example: My username is jdiaz $ ssh <username>@india.futuregrid.org $ ssh jdiaz@india.futuregrid.org

  8. User Credentials • Credentials in your $HOME directory under .futuregrid/openstack/ • (In Eucalyptus this was .futuregrid/eucalyptus) • Load environment variables $ unzip ~/.futuregrid/openstack/openstack-essex-jdiaz-india.zip-d ~/openstack $ source ~/openstack/novarc

  9. Install/Load Euca2ools • Euca2ools are the command line clients used to interact with OpenStack. • If using your own platform, install euca2ools bundle from http://www.eucalyptus.com/downloads/euca2ools • Instructions for various Linux platforms are available on the download page. • On FutureGrid, load the Euca2ools module $ module load euca2ools

  10. Euca2ools • Testing your setup.Use euca-describe-availability-zones to test the setup • List the existing images using euca-describe-images • $ euca-describe-availability-zones • AVAILABILITYZONE india available • $ euca-describe-images • IMAGE ami-00000012 centos2012/euca-centos-2012.1.14-x86_64.img.manifest.xmavailable public x86_64 machine aki-00000010 ari-00000011 instance-store • IMAGE ami-00000013 debian2011/euca-debian-2011.07.02-x86_64.img.manifest.xml available public x86_64 machine aki-0000000e ari-0000000f instance-store • … https://portal.futuregrid.org

  11. Key Management • Before you instanciate a VM, you need to create at least one key pair. This key pair will be injected into the VM, allowing you to SSH into the VM • Create a keypair and add the public key to OpenStack (Replace userkey with your username i.e. jdiazkey) • Fix the permissions on the generated private key • $ euca-add-keypair userkey > userkey.pem • $ chmod 0600 userkey.pem • $ euca-describe-keypairs  • KEYPAIR userkey 0d:d8:7c:2c:bd:85:af:7e:ad:8d: 09:b8:ff:b0:54:d5:8c:66:86:5d

  12. Now we are ready to start a VM using one of the pre-existing images. • We need the ami-id of the image that we wish to start (euca-describe-images) • We use the euca-run-instances command to start a VM with the image ami-00000017 Image Instantiation • $ euca-run-instances -k userkey -n 1 ami-00000017 -t m1.small • RESERVATION r-zvtbbj8j default • INSTANCE i-0000073f ami-00000017 server-1854 server-1854 pending userkey 0 m1.small 2012-07-09T15:49:46.000Z unknown zone aki-0000000e ari-0000000f

  13. euca-describe-instances shows the status of the VMs Monitoring • $ euca-describe-instances i-0000073f • RESERVATION r-cbcagzl4 461884eef90047fbb4eb9ec92f22a1e3 default • INSTANCE i-0000073f ami-00000033 server-1855 server-1855 pending userkey 0 m1.small 2012-07-09T15:49:46.000Z india aki-0000000e ari-0000000f • Shortly after… • $ euca-describe-instances i-0000073f • RESERVATION r-cbcagzl4 461884eef90047fbb4eb9ec92f22a1e3 default • INSTANCE i-0000073f ami-00000033 149.165.158.159 server-1855 running userkey 0 m1.small 2012-07-09T15:49:46.000Z india aki-0000000e ari-0000000f

  14. VM Access • The ssh private key that was generated earlier can now be used to log into the VM • Please, exit from the VM to continue with the Tutorial • $ ssh -i userkey.pem root@149.165.158.159 • # exit

  15. Nova Volumes • Nova-volume provides persistent block storage compatible with Amazon’s Elastic Block Store • The storage in the instances is non-persistent and it gets lost when the instance is terminated • Persistent volumes keeps data generated during instance life time after the instance is terminated • Volumes are accessed via iSCSI

  16. Create Volumes • Create a 1GB Volume in the India zone • List available volumes • $ euca-create-volume -s 1 -z india • VOLUME vol-00000031 1 india creating 2012-07-10T15:15:47.244Z • $ euca-describe-volumes • VOLUME vol-00000027 100 india in-use 2012-06-06T21:39:47.000Z • ATTACHMENT vol-00000027 i-0000070f /dev/vdc attached • VOLUME vol-00000028 50 india available 2012-06-06T21:44:30.000Z • VOLUME vol-0000002a 30 india available 2012-06-06T21:45:37.000Z https://portal.futuregrid.org

  17. Attach Volume • Attach volume to a running instance • A volume can only be attached to one instance. Euca-describe-volumes will show the volume status as “attached” • An additional SCSI disk is created in the instance • Although we specified the device, it may differ if that device already exists (look into /dev, /var/log/syslog, /dev/log/messages or use fdisk -l to find the new device) • $ euca-attach-volume -i i-0000073f-d /dev/vdc vol-0000031

  18. Using the New Disk • Log into the instance again • Format disk (skip this step if you want to reuse data stored) • Mount disk • Exit from the instance to continue • $ ssh -i userkey.pem root@149.165.158.159 • # mkfs /dev/vdc • # mount /dev/vdc /mnt • # exit

  19. Detach Volumes • Volumes are automatically detached when instance is terminated • Detach volume • If you detach the volume while instance is running, it loses access to the disk. Make sure that you umount (umount /mnt) the disk before you detach the volume. • If you terminate the instance, the volume is automatically detached • $ euca-detach-volume vol-00000031

  20. Volume Snapshots • Snapshots are useful to create backups or replicate volumes in different zones • Create Snapshot • List Snapshots • $ euca-create-snapshot -d ’Testing snapshot’vol-00000027 • SNAPSHOT    snap-00000001    vol-00000027    creating    2012-07-16T14:22:21.728Z    0%    Testing snapshot • $ euca-describe-snapshots • SNAPSHOT    snap-00000001    vol-00000027    available    2012-07-16T14:22:21.000Z    100%

  21. Create Volume from Snapshot (currently it does not work in OpenStack Essex) • The snapshot must be in available status (100% completed) • New volume can be bigger if desired • Create a 2GB volume from snapshop • $ euca-create-volume -s 2 --snapshot snap-00000001 -z india • VOLUME    vol-00000032    2    snap-00000001    india    creating    2012-07-16T14:47:07.916Z

  22. We will use an CentOS 5 image to test the image registration • Download the gzipped tar ball • Uncompress and Untar the archive Image Registration (1/4) • $ wget i120/test-image/centos5.tgz • $ tar vxfz centos5.tgz

  23. Image Registration (2/4) • Next we bundle the image with a kernel and a ramdisk using the euca-bundle-image command • We will use a kernel already registered. • euca-describe-images returns the kernel and ramdisk IDs that we need $ euca-bundle-image -i centos5.img --kernel aki-0000000e --ramdisk ari-0000000f Checking image Encrypting image Splitting image... Part: centos5.img.part.00 …….. Part: centos5.img.part.35 Generating manifest /tmp/centos5.img.manifest.xml https://portal.futuregrid.org

  24. Image Registration (3/4) • Upload the image (euca-upload-bundle) • Register the image (euca-register) $ euca-upload-bundle -b jdiaz-bucket -m /tmp/centos5.img.manifest.xml Checking bucket: jdiaz-bucket Creating bucket: jdiaz-bucket Uploading manifest file Uploading part: centos5.img.part.00 …. Uploading part: centos5.img.part.35 Uploaded image as jdiaz-bucket/centos5.img.manifest.xml • $ euca-register jdiaz-bucket/centos5.img.manifest.xml • IMAGE ami-00000034

  25. Image Registration (4/4) • You cannot run instances until the image is in available status • Check status • $ euca-describe-instances ami-00000034 • IMAGE ami-00000034 jdiaz-bucket/centos5.img.manifest.xml available private x86_64 machine aki-0000000e ari-0000000f instance-store

  26. Image/Volume Deletion and Instance Termination • You can delete your volume • You can delete your image (Please do NOT delete other users’ images) • You can terminate your VM • $ euca-delete-volume vol-00000031 • $ euca-deregister ami-00000034 • $ euca-terminate-instances i-0000073f

  27. More Information • We keep this tutorial updated in the FutureGrid portal • https://portal.futuregrid.org/tutorials/openstack

More Related