Lab Zero: A First Experiment using GENI

Preview:

DESCRIPTION

Lab Zero: A First Experiment using GENI. Sarah Edwards GENI Project Office. Hands On Exercise. Do a Simple Experiment in GENI Reserve two VMs connected at Layer 2. VM. VM. Layer 2. Understand GENI Terminology. project. slice. experimenter. resource. aggregate. - PowerPoint PPT Presentation

Citation preview

Sponsored by the National Science Foundation

Lab Zero:A First Experiment using GENI

Sarah Edwards

GENI Project Office

Sponsored by the National Science Foundation 2GENI Lab Zero: last updated Aug 6, 2013

Hands On Exercise

Do a Simple Experiment in GENI

Reserve two VMs connected at Layer 2

Layer 2VMVM

Sponsored by the National Science Foundation 3GENI Lab Zero: last updated Aug 6, 2013

Understand GENI Terminology

slice project

aggregate

experimenter

resource

Sponsored by the National Science Foundation 4GENI Lab Zero: last updated Aug 6, 2013

Use the GENI Portal and Flack

Sponsored by the National Science Foundation 5GENI Lab Zero: last updated Aug 6, 2013

Experiment Workflow• Part I: Design/Setup

• Part II: Execute

• Part III: Finish

Sponsored by the National Science Foundation 6GENI Lab Zero: last updated Aug 6, 2013

The GENI Portal is…

A web-based tool for experimenters to manage

experimenters, projects, and slices.

Includes simple tools to reserve resources.

More to come in the future.

Sponsored by the National Science Foundation 7GENI Lab Zero: last updated Aug 6, 2013

Flack is …

A graphical user interface (GUI) for: – designing topologies in GENI– reserving resources in GENI

Sponsored by the National Science Foundation 8GENI Lab Zero: last updated Aug 6, 2013

Experimenter

An experimenter is a researcher who uses GENI resources

Different types of experimenters have different roles and permissions:• Advisor vs Grad Student• Teacher vs TA vs Student Experimenter

Sponsored by the National Science Foundation 9GENI Lab Zero: last updated Aug 6, 2013

Projects

Projects organize research in GENI

Project

Lead

Members

Slice

Projects contain both people and their experiments

A project is led by a single responsible individual: the project lead

Today we will use a project created for this class

where the project lead is the instructor of this class

Sponsored by the National Science Foundation 11GENI Lab Zero: last updated Aug 6, 2013

Experiment Workflow• Part I: Design/Setup

• Part II: Execute

• Part III: Finish

Sponsored by the National Science Foundation 12GENI Lab Zero: last updated Aug 6, 2013

Part I: Establish Management Environment

1 Pre-work: Design your experiment

2.1 Pre-work: Create a GENI account

2.2 Pre-work: Project lead (aka professor) adds you to project

Project Name: TrainTheTA

2.3 Generate and Download SSH KeypairTutorial instructions:http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/LabZero/Procedure

Sponsored by the National Science Foundation 13GENI Lab Zero: last updated Aug 6, 2013

Creating a GENI account

• GENI Portal is at:

https://portal.geni.net

• Instructions for creating an account are:

http://groups.geni.net/geni/wiki/SignMeUp

Sponsored by the National Science Foundation 14GENI Lab Zero: last updated Aug 6, 2013

Using ssh with a public/private keypair

Login to all GENI compute resources using

ssh with a private key

There are several ways to offer your private key to ssh. Today we will use a tool called an ssh agent.

$ ssh-add ~/.ssh/id_geni_ssh_rsa $ ssh username@hostname -p 12345

You should never be prompted for a password to log into a GENI compute node.

If you are, something has always gone wrong.

No password!

Sponsored by the National Science Foundation 16GENI Lab Zero: last updated Aug 6, 2013

Expiration and renewal

slice expiration time ≤ project expiration time

each resource expiration time ≤ slice expiration time

each resource expiration time ≤ aggregate’s max expiration

project

slice

resource

(optional)project

expiration timeslice

expiration timeresource

expiration timenow

In general, to extend the lifetime of your resource reservation, you must renew the slice and all resources

resourceresource

You are here

Projects

Slices

Log Messages

HelpProfile

Tools

Map

2

Login

Join Project

Generate SSH Keys

Screenshot

On your local machine…

> mv ~/Downloads/id_geni_ssh_rsa ~/.ssh/.> chmod 600 ~/.ssh/id_geni_ssh_rsa> ssh-add ~/.ssh/id_geni_ssh_rsa

2

Sponsored by the National Science Foundation 20GENI Lab Zero: last updated Aug 6, 2013

Resource

A resource is a piece of infrastructure

A resource can be real or virtual.

Resource specifications (aka. RSpecs) are used to describe and request resources.

Examples:• Compute: computer vs virtual machine (VM)• Wireline Network: VLAN or OpenFlow• Wireless: WiMAX

Sponsored by the National Science Foundation 21GENI Lab Zero: last updated Aug 6, 2013

Aggregate

An aggregate manages a set of reservable resources

Aggregates include:GENI racks

OpenFlow

WiMAX

InstaGENI Rack ExoGENI Rack

Sponsored by the National Science Foundation 22GENI Lab Zero: last updated Aug 6, 2013

Slice

A slice is a container of resources used in an experiment.

A slice can contain resources from one or more aggregates

A slice is in a single project

A slice has an expiration

Slice names are public, reusable and unique

Sponsored by the National Science Foundation 23GENI Lab Zero: last updated Aug 6, 2013

Experimenter(aka Student)

Putting it all together

slice

aggregate

project Member:Lead:

Experimenter(aka Professor)

Layer 2resourceresource

Sponsored by the National Science Foundation 24GENI Lab Zero: last updated Aug 6, 2013

slice

Part I continued:Obtain Resources

3.1 Create a slice

3.2 (optional) Renew your slice

3.3 Reserve two VMs at on aggregate

3.4 Check Whether VMs are Ready to be Used

Layer 2VMVM

3.1

Create Slice

Extend slice expiration

3.2

LaunchFlack

3.3

LaunchFlack

username slice name

all availableaggregates

3.3

Draw two VMs connected by a link

3.3

Change names of VMs

3.3

If using ExoGENI resources, set size

of VM to small

3.3

Set IP and mask of interfaces

Reserve resources

3.3

Resources are READY!!!

3.4 Screenshot

Sponsored by the National Science Foundation 34GENI Lab Zero: last updated Aug 6, 2013

Experiment Workflow• Part I: Design/Setup

• Part II: Execute

• Part III: Finish

Sponsored by the National Science Foundation 35GENI Lab Zero: last updated Aug 6, 2013

Part II: Execute Experiment

4.1 Login to nodes (two nodes: client & server)

4.2 Download and compile experiment software

5 Execute experiment5.1 Send IP Traffic

5.2 Disable IP and send Layer 2 (non-IP) Traffic

6.1 Logout of nodes

Internet

Data Interfaces

Control Interfaces

ssh

Layer 2

Experimenter

serverclient

Login4.1

$ wget …/pingPlus-0.2.tar.gz$ tar xvfz pingPlus-0.2.tar.gz$ apt-get update $ apt-get install build-essential$ cd pingPlus-0.2 $ make

$ setenv PATH $PATH\:/sbin$ ifconfig

$ wget …/pingPlus-0.2.tar.gz$ tar xvfz pingPlus-0.2.tar.gz$ apt-get update $ apt-get install build-essential$ cd pingPlus-0.2 $ make

$ setenv PATH $PATH\:/sbin$ ifconfig

server

client

4.2

5.1

Worksheet

Client

Control Interface

Name eth ___

IP Address __ . __ . __ . __

Data Interface

Name eth ___

IP Address 10 . 11 . 1 . 1

Subnet Mask 255 . 255 . 255 . 0

Server

Control Interface

Name eth ___

IP Address __ . __ . __ . __

Data Interface

Name eth ___

IP Address 10 . 11 . 1 . 2 /24

Subnet Mask 255 . 255 . 255 . 0

MAC Address __ : __ : __ : __ : __ : __

Project Name: TrainTheTASlice Name: geni<initials>

EtherType: 11001

5.1

# should SUCCEED$ ping 10.11.1.2 –c 5

# disable IP on your nodes$ service neuca stop$ sudo ifconfig eth1726 0.0.0.0

# should FAIL$ ping 10.11.1.2 –c 5

# start L2 client$ sudo pingPlus 01:02:03:04:05:06 eth1726 19001

$ exit

# disable IP on your nodes$ service neuca stop$ sudo ifconfig eth1726 0.0.0.0

# start L2 server

$ sudo pingPlusListener 11001

$ exit

serverclient

5.1

5.2

6.1

Screenshot

Sponsored by the National Science Foundation 42GENI Lab Zero: last updated Aug 6, 2013

Experiment Workflow• Part I: Design/Setup

• Part II: Execute

• Part III: Finish

Sponsored by the National Science Foundation 43GENI Lab Zero: last updated Aug 6, 2013

Part III: Finish Experiment

When your experiment is done, you should always release your resources.

– Normally this is when you would archive your data– Delete your resources at each aggregate

sliceproject

aggregateexperimenter

resource

Delete Resources

7

Sponsored by the National Science Foundation 45GENI Lab Zero: last updated Aug 6, 2013

Congratulations!

You have…–Run your first GENI Experiment!–Exercised your knowledge of GENI

terminology–Used the GENI Portal and Flack

Sponsored by the National Science Foundation 46GENI Lab Zero: last updated Aug 6, 2013

Welcome to GENI!

Keep experimenting!