420 likes | 544 Views
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.
E N D
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
Experiment Workflow • Part I: Design/Setup • Part II: Execute • Part III: Finish
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.
Flack is … A graphical user interface (GUI) for: • designing topologies in GENI • reserving resources in GENI
Experimenter An experimenteris 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
Projects Project Projects organize research in GENI Projects contain both peopleand their experiments A project is led by a single responsible individual: the projectlead Today we will use a project created for this class where the project lead is the instructor of this class Lead Members Slice
Experiment Workflow • Part I: Design/Setup • Part II: Execute • Part III: Finish
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 Keypair Tutorial instructions: http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/LabZero/Procedure
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
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 $ sshusername@hostname -p 12345 No password! You should never be prompted for a password to log into a GENI compute node. If you are, something has always gone wrong.
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 resource (optional) project expiration time resource resource expiration time slice expiration time now In general, to extend the lifetime of your resource reservation, you must renew the slice and allresources
You are here Profile Help Map Projects Slices Tools Log Messages
Generate SSH Keys Login Screenshot Join Project 2
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
Resource A resourceis 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
Aggregate InstaGENI Rack ExoGENI Rack An aggregatemanages a set of reservableresources Aggregates include: GENI racks OpenFlow WiMAX
Slice A sliceis 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
Putting it all together Member: project Lead: Experimenter (aka Professor) slice Experimenter (aka Student) aggregate resource resource Layer 2
Part Icontinued:Obtain Resources slice 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 VM VM Layer 2
Create Slice 3.1
Launch Flack 3.3
username slice name all available aggregates 3.3 Launch Flack
Change names of VMs If using ExoGENI resources, set size of VM to small 3.3
3.3 Reserve resources
Screenshot Resources are READY!!! 3.4
Experiment Workflow • Part I: Design/Setup • Part II: Execute • Part III: Finish
Part II: Execute Experiment Internet ssh 4.1 Login to nodes (two nodes: client & server) 4.2 Download and compile experiment software 5 Execute experiment 5.1 Send IP Traffic 5.2 Disable IP and send Layer 2 (non-IP) Traffic 6.1 Logout of nodes Control Interfaces client server Layer 2 Data Interfaces Experimenter
Login 4.1
4.2 5.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 $ setenvPATH $PATH\:/sbin $ ifconfig client $ 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
Worksheet 5.1 Project Name: TrainTheTA Slice Name: geni<initials> Client 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 __ : __ : __ : __ : __ : __ Control Interface Name eth ___ IP Address __ . __ . __ . __ Data Interface Name eth ___ IP Address 10 . 11 . 1 . 1 Subnet Mask 255 . 255 . 255. 0 EtherType: 11001
# disable IP on your nodes $ service neucastop $ sudoifconfigeth1726 0.0.0.0 # start L2 server $ sudopingPlusListener11001 $ exit 5.1 5.2 6.1 # should SUCCEED $ ping 10.11.1.2 –c 5 # disable IP on your nodes $ service neucastop $ sudoifconfigeth1726 0.0.0.0 # should FAIL $ ping 10.11.1.2 –c 5 # start L2 client $ sudopingPlus01:02:03:04:05:06 eth1726 19001 $ exit Screenshot client server
Experiment Workflow • Part I: Design/Setup • Part II: Execute • Part III: Finish
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 project resource experimenter aggregate slice
7 Delete Resources
Congratulations! You have… • Run your first GENI Experiment! • Exercised your knowledge of GENI terminology • Used the GENI Portal and Flack
Welcome to GENI! Keep experimenting!