42
Sponsored by the National Science Foundation Lab Zero: A First Experiment using GENI Sarah Edwards GENI Project Office

Lab Zero: A First Experiment using GENI

  • Upload
    adonai

  • View
    20

  • Download
    0

Embed Size (px)

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

Page 1: Lab Zero: A First Experiment using GENI

Sponsored by the National Science Foundation

Lab Zero:A First Experiment using GENI

Sarah Edwards

GENI Project Office

Page 2: Lab Zero: A First Experiment using GENI

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

Page 3: Lab Zero: A First Experiment using GENI

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

Understand GENI Terminology

slice project

aggregate

experimenter

resource

Page 4: Lab Zero: A First Experiment using GENI

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

Use the GENI Portal and Flack

Page 5: Lab Zero: A First Experiment using GENI

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

Page 6: Lab Zero: A First Experiment using GENI

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.

Page 7: Lab Zero: A First Experiment using GENI

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

Page 8: Lab Zero: A First Experiment using 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

Page 9: Lab Zero: A First Experiment using GENI

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

Page 10: Lab Zero: A First Experiment using GENI

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

Page 11: Lab Zero: A First Experiment using GENI

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

Page 12: Lab Zero: A First Experiment using GENI

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

Page 13: Lab Zero: A First Experiment using GENI

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!

Page 14: Lab Zero: A First Experiment using GENI

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

Page 15: Lab Zero: A First Experiment using GENI

You are here

Projects

Slices

Log Messages

HelpProfile

Tools

Map

Page 16: Lab Zero: A First Experiment using GENI

2

Login

Join Project

Generate SSH Keys

Screenshot

Page 17: Lab Zero: A First Experiment using GENI

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

Page 18: Lab Zero: A First Experiment using GENI

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

Page 19: Lab Zero: A First Experiment using GENI

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

Page 20: Lab Zero: A First Experiment using GENI

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

Page 21: Lab Zero: A First Experiment using GENI

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

Page 22: Lab Zero: A First Experiment using GENI

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

Page 23: Lab Zero: A First Experiment using GENI

3.1

Create Slice

Page 24: Lab Zero: A First Experiment using GENI

Extend slice expiration

3.2

Page 25: Lab Zero: A First Experiment using GENI

LaunchFlack

3.3

Page 26: Lab Zero: A First Experiment using GENI

LaunchFlack

username slice name

all availableaggregates

3.3

Page 27: Lab Zero: A First Experiment using GENI

Draw two VMs connected by a link

3.3

Page 28: Lab Zero: A First Experiment using GENI

Change names of VMs

3.3

If using ExoGENI resources, set size

of VM to small

Page 29: Lab Zero: A First Experiment using GENI

3.3

Set IP and mask of interfaces

Page 30: Lab Zero: A First Experiment using GENI

Reserve resources

3.3

Page 31: Lab Zero: A First Experiment using GENI

Resources are READY!!!

3.4 Screenshot

Page 32: Lab Zero: A First Experiment using GENI

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

Page 33: Lab Zero: A First Experiment using GENI

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

Page 34: Lab Zero: A First Experiment using GENI

Login4.1

Page 35: Lab Zero: A First Experiment using GENI

$ 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

Page 36: Lab Zero: A First Experiment using GENI

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

Page 37: Lab Zero: A First Experiment using GENI

# 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

Page 38: Lab Zero: A First Experiment using GENI

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

Page 39: Lab Zero: A First Experiment using GENI

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

Page 40: Lab Zero: A First Experiment using GENI

Delete Resources

7

Page 41: Lab Zero: A First Experiment using GENI

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

Page 42: Lab Zero: A First Experiment using GENI

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

Welcome to GENI!

Keep experimenting!