PlanetLab www.planet-lab.org. What is PlanetLab? A group of computers available as a testbed for computer networking and distributed systems research.

Slides:



Advertisements
Similar presentations
Secure File Transfer Protocol (SFTP) With Secure Copy (SC) What is a Secure File Transfer Protocol with Secure Copy???
Advertisements

1 Automated SFTP Windows and SUN Linux and SUN. 2 Vocabulary  Client = local=the machine generating the SFTP request  Server = remote = the machine.
SSH Operation and Techniques - © William Stearns 1 SSH Operation and Techniques The Swiss Army Knife of encryption tools…
PlanetLab What is PlanetLab? A group of computers available as a testbed for computer networking and distributed systems research.
An Introduction to PlanetLab Prepared By: Abhishek Agrawal.
1 PlanetLab: A globally distributed testbed for New and Disruptive Services CS441 Mar 15th, 2005 Seungjun Lee
PlanetLab Europe 2008 Thomas Bourgeau Laboratoire LIP6 – CNRS Université Pierre et Marie Curie – Paris 6
Chapter One The Essence of UNIX.
George Blank University Lecturer. Creating A Web Site at NJIT Professor Blank.
1 PLuSH – Mesh Tree Fast and Robust Wide-Area Remote Execution Mikhail Afanasyev ‧ Jose Garcia ‧ Brian Lum.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Activating Pilot Account ( first time users ) Web-based Activation Browse to 1. Click on the link on the lower right that says.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Installing software on personal computer
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
AN INTRODUCTION TO LINUX OPERATING SYSTEM Zihui Han.
Firewalls, Perimeter Protection, and VPNs - SANS © SSH Operation The Swiss Army Knife of encryption tools…
Ssh: secure shell. overview Purpose Protocol specifics Configuration Security considerations Other uses.
Telnet/SSH: Connecting to Hosts Internet Technology1.
2440: 141 Web Site Administration Remote Web Server Access Tools Instructor: Enoch E. Damson.
Accessing the Internet with Anonymous FTP Transferring Files from Remote Computers.
Introduction to UNIX/Linux Exercises Dan Stanzione.
Eucalyptus Virtual Machines Running Maven, Tomcat, and Mysql.
Computation for Physics 計算物理概論 Introduction to Linux.
SSH. Review 1-minute exercise: Find the open ports on you own VM [Good] nmap [Better] netstat -lpunt.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
CSN08101 Digital Forensics Lecture 1B: Essential Linux and Caine Module Leader: Dr Gordon Russell Lecturers: Robert Ludwiniak.
1 Guide to Novell NetWare 6.0 Network Administration Chapter 13.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Integrating with UCSF’s Shibboleth system
Andreas Steffen, , 11-SSH.pptx 1 Internet Security 1 (IntSi1) Prof. Dr. Andreas Steffen M. Liebi Institute for Internet Technologies and Applications.
Websites 101 Technology Committee UPSOM. Web Class – Goals  Make a simple web page (or series of pages)  Upload that page to the internet  Feel comfortable.
| nectar.org.au NECTAR TRAINING Module 5 The Research Cloud Lifecycle.
FTP Server and FTP Commands By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
We will now practice the following concepts: - The use of known_hosts files - SSH connection with password authentication - RSA version 2 protocol key.
Client – Server Application Can you create a client server application: The server will be running as a service: does not have a GUI The server will run.
Logging into the linux machines This series of view charts show how to log into the linux machines from the Windows environment. Machine name IP address.
AE6382 Secure Shell Usually referred to as ssh, the name refers to both a program and a protocol. The program ssh is one of the most useful networking.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Usage of Workstation Lecturer: Yu-Hao( 陳郁豪 ) Date:
The Secure Shell Copyright © Software Carpentry 2011 This work is licensed under the Creative Commons Attribution License See
Application Services COM211 Communications and Networks CDA College Theodoros Christophides
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 13 FTP and Telnet.
SSH Operation The Swiss Army Knife of encryption tools…
Networking in Linux. ♦ Introduction A computer network is defined as a number of systems that are connected to each other and exchange information across.
FTP Short for File Transfer Protocol, the protocol for exchanging files over the Internet.protocolfilesInternet works in the same way as HTTP for transferring.
Protocols COM211 Communications and Networks CDA College Olga Pelekanou
XWN740 X-Windows Configuring and Using Remote Access (Chapter 13: Pages )‏
| nectar.org.au NECTAR TRAINING Module 5 The Research Cloud Lifecycle.
1 Day 2 Logging in, Passwords, Man, talk, write. 2 Logging in Unix is a multi user system –Many people can be using it at the same time. –Connections.
FTP COMMANDS OBJECTIVES. General overview. Introduction to FTP server. Types of FTP users. FTP commands examples. FTP commands in action (example of use).
CS 283Computer Networks Spring 2013 Instructor: Yuan Xue.
@Yuan Xue CS 283Computer Networks Spring 2011 Instructor: Yuan Xue.
SSH. 2 SSH – Secure Shell SSH is a cryptographic protocol – Implemented in software originally for remote login applications – One most popular software.
Deterlab Tutorial CS 285 Network Security. What is Deterlab? Deterlab is a security-enhanced experimental infrastructure (based on Emulab) that supports.
Chapter 7: Using Network Clients The Complete Guide To Linux System Administration.
Basic Web Design UVICELL Week 4 Templates and site management Week 4 Templates and site management.
OpenSSH – Public Key Authentication ● Jonathan Schipp ● Dubois County Linux User Group ● Nov 7 th 2010 ● jonschipp (at) gmail.com.
Interacting with the cluster ssh, sftp, & slurm batch scripts
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
Running your own web server
Andy Wang Object Oriented Programming in C++ COP 3330
FTP Lecture supp.
Part 3 – Remote Connection, File Transfer, Remote Environments
FTP - File Transfer Protocol
File Transfer Olivia Irving and Cameron Foss
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
Telnet/SSH Connecting to Hosts Internet Technology.
CGS 3175: Internet Applications Fall 2009
Lecture 16B: Instructions on how to use Hadoop on Amazon Web Services
Logging into the linux machines
Presentation transcript:

PlanetLab

What is PlanetLab? A group of computers available as a testbed for computer networking and distributed systems research. – computers located in more than 40 countries – allows researchers to run their experiments in a real world scenario on nodes which are thousands of miles apart Initiated in 2002 by Dr. Larry L. Peterson – As of Mar 2014 is composed of 1184 nodes at 577 sites worldwide

PlanetLab

PlanetLab is… Large collection of machines spread around the world for distributed systems research Can deploy and run code in Seoul, San Francisco, Rio de Janeiro, Moscow, Mumbai, … Most major Universities now host sites

The value proposition Institutions join, provide nodes – IA32 architecture servers – Hosted outside the firewall – Provide power, cooling, & bandwidth In exchange, researchers get to use a small “slice” of many machines worldwide.

PlanetLab is not… A distributed supercomputer A simulation platform An Internet emulator An arena for repeatable experiments Completely representative of the current Internet

PlanetLab is… An opportunity to qualitatively validate distributed systems research in a real deployment environment An opportunity to gain valuable experience about what works and what doesn’t in the wide area at scale

What is it good for? PlanetLab addresses the related problems of: – Deploying widely-distributed services – Evaluating competing approaches in a realistic setting – Evolving the network architecture to better support such services

How to use PlanetLab Don’t expect: – Repeatable experiments, other than very long-running studies – Large numbers of nodes (approx 1000) – Lots of CPU (machines are loaded!) – High availability machines reboot without warning Do expect: – The unexpected! – Real experience running a service – Real users (if you want them) – Lots of interesting challenges – To find out if your idea really works

Introductıon to PlanetLab a)Principal Investigator. PI is the controller of PlanetLab nodes at a particular site and is responsible for everything being done by users of the site. He gives approval of new user accounts, creates slices, etc. b)Technical contact. He is responsible for installing PlanetLab operating system on new nodes, monitoring of nodes and day to day maintenance if required. c)User. Actual user who conducts experiment on PlanetLab. d)PLC. It is an abbreviation for PlanetLab Central. PLC is the main controller of PlanetLab. They provide basic interface for controlling and managing slices and nodes. e)Site. A physical location where nodes have been kept e.g. University of Nevada, Reno f)Node. Actual computers provided by the participating universities / organizations. Minimum of two nodes have to be provided by each participating university / organization. Linux operating system runs on these computers. g)Slice. It is a network wide resource container. A maximum of 10 slices can be created by Principal Investigator of a university and only two slices by Principal Investigator of an organization. Any number of Nodes can be added to a slice. Slices can only be created by Principal Investigator but users can add nodes to them. h)Sliver. It is actual allocated resources on a node. Slivers are implemented using Linux

How to use PlanetLab Create an account on planet-lab.org Select: “university of Nevada, Reno” as Site

Registering planet-lab.org After registering, your registration request goes to site_admin Site_admin should approve your request After site_admin approves your request, your account is created.

Using nodes There are two nodes (servers) in UNR that are allocated for planet-lab.org These nodes are under administration of UNR PI (site_admin) To be able to use these nodes for your experiments – You have to be assigned to a slice by PI (site_admin) – After you are assigned to a slice, you can add as many nodes as you wish to your slice The nodes that you want to add into your slice don’t have to be just UNR nodes You can add nodes from different universities, organizations, etc.

Connecting to your slice To be able to connect to a slice you need to use SSH – Secure Shell (SSH) is a cryptographic network protocol for secure data communication You can either use Linux (preferred) to connect to your slice or you can connect to you slice using Windows

Connecting from Windows Following software can be used to access PlanetLab nodes using Microsoft OS. a)Putty. It is used for making connection with remote PlanetLab node. b)Putty gen. It is used for generating public and private key pair. c)PSCP. It is used for transferring files to remote nodes. All these software are executable programs therefore there is no need to install them. They can be downloaded for free from the following address :

Key generation In order to communicate with PlanetLab nodes you need public/private key pair. Putty generator will be used for creating public and private key pair. In putty generator GUI, select SSH-2 & 1024 as number of digits in key and then press generate key.

Generating Private Key Click ‘Save private key’ and copy public key form putty generator window and save it in a text file.

Key Upload Go to PlanetLab’s web site and open your account. Select ‘My Account’ sub menu and click on ‘Key’. It will display browse and upload option. Upload the text file containing the public key.

Key Upload

Adding Nodes to Slice Open your account and go to ‘My Slices’. Click on your slice name. It will display list of nodes which are part of slice. Select and click in front of nodes which you want to add to your slice and click on ‘add selected’. – It will only be possible if Principal Investigator has already created slice for you.

Communicating with your slice Open putty by double clicking on it. Select session and write down IP address of the remote node. Assign this session a name in ‘Saved Sessions’ and click ‘Save’. Click on ‘Auth’ under ‘SSH’ category given on left plane. Browse and point to the place where file containing private key was saved. Click on ‘Open’. If everything goes fine, then a command comm window with active prompt & name of slice will open. You can type ‘pwd’ to see path of your current directory and ‘ls’ to list files’ names in this directory. At that moment, there will be no programs installed on the remote node.

Connecting from Linux Create an SSH key – Before you can access any PlanetLab nodes, including those at your own site, you must create an SSH key pair for authentication purposes. – Remote access to PlanetLab nodes is restricted to SSH login using RSA authentication. RSA authentication is based on public-key cryptography. Encryption and decryption are performed with separate keys It is not possible to derive the decryption key from the encryption key To generate an SSH key pair, use the ssh-keygen program on a secure UNIX system: ssh-keygen -t rsa -f ~/.ssh/id_rsa

Connecting from Linux Upload the public key under the directory of /.ssh (this file is in hidden format) to your account in planet-lab.org Assign nodes to your slice using planet-lab.org interface. You can now connect to your slice by typing: ssh –l name_of_slice –i ~/.ssh/id_rsa planetlab1.unr.edu IMPORTANT !! After you upload your public key to your account, you have to wait about an hour for it to be active. If you are using putty, after connecting, it may ask “Login as:” and you should enter your slice name here.

ssh-agent In Unix, ssh-agent is a background program that handles passwords for SSH private keys. The ssh-add command prompts the user for a private key password and adds it to the list maintained by ssh-agent Once you add a password to ssh-agent, you will not be prompted for it when using SSH or scp to connect to hosts with your public key. You will be able to connect to a node by: ssh –l name_of_slice planetlab1.unr.edu ssh –l name_of_slice –i ~/.ssh/id_rsa planetlab1.unr.edu Instead of typing:

ssh-agent Note: The public part of the key loaded into the agent must be put on the target system in ~/.ssh/authorized_keys; To use ssh-agent and ssh-add, follow the steps below: 1.At the Unix prompt, enter: eval `ssh-agent` 2.Note: Make sure you use the backquote ( ` ), rather than the single quote ( ' ). 2.Enter the command: ssh-add 3.Enter your private key password. 4.When you log out, enter the command: kill $SSH_AGENT_PID 5.To run this command automatically when you log out, place it in your.logout file (if you are using csh or tcsh) or your.bash_logout file (if you are using bash).

Uploading files to Nodes (with putty) PSCP will be used to copy program to remote node. PSCP is command line tool. Open it in command prompt by typing PSCP (inside the putty directory). – Syntax for copying file to remote node is as under : C:\>…\putty>pscp -scp c:\file name plab:/home/canterbury_slice1 – First part ‘-scp ’ is forcing PSCP to use scp protocol – second part ‘c:\file name’ is location and name of the file to be copied – third part ‘plab’ is name of session saved in Putty – last part ‘/home/canterbury_slice1’ is location on remote node where the file has to be saved. This location can be found by typing ‘pwd’ in command comm of remote node.

Uploading files to Nodes (by Linux) The most straightforward way of deploying your application to a single node is with scp: – Or, using ssh-agent – If your slice were named unr_test1, following command would copy the local directory test1 to your home directory on planetlab1.unr.edu. scp -i ~/.ssh/id_rsa –r my_file scp my_file scp my_file

Downloading files from Nodes (by Linux) Login to the node that contains the file which you want to download, enter following scp command: scp my_file directory_place scp my_file /root/projects/planetlab/downloads

How to manage multiple nodes? There are applications such as CoDeploy, Plush, pssh, Nixes, pShell, etc. – Many of them retired – Not up to date – Confusing Writing script strongly recommended! – Python scripts