|
|
| Browse NETS topics: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | |
Pete Siemsen, 2008-11-20
The NPtoolkit is a standard tool set that is packaged as a stand-alone Linux distribution on a CD-ROM. It is described at http://e2epi.internet2.edu/network-performance-toolkit.html NCAR runs the toolkit on a machine named nptoolkit, a rack-mounted PC located in the Mesa Lab computer room. This webpage describes how the machine is configured.
We need a special version of the NPToolkit CD-ROM, so that when it boots it sends it's output to the console serial port. The NPToolkit support guys sent me an ISO image af the standard NPToolkit, but with that slight modification. If you don't need that feature, You can download an ISO image of the NPtoolkit from the webpage listed above and burn it to a CD yourself. Be sure to use a blank CD-ROM that can hold at least 700Mb - the NPtoolkit fills 690mb.
Connect a serial port to the serial interface, which is the DB-9 on the lower left when looking at the back of the machine. It's not the DB-9 that's in the upper middle!
The machine has 3 Ethernet interfaces on the back: two 10/100 RJ45s that are built-in to the motherboard and one 10/100/1000 Ethernet that's on it's own card. The first two are eth0 and eth1. The GigE is eth2.
I installed the CD-ROM and rebooted the machine. It displayed the NPtoolkit picture followed by a "boot:" prompt, and waited 30 seconds before starting with defaurt boot parameters. We want to run the machine "headless", so we want to make the boot dialog happen out the console serial port. To do that, at the "boot:" prompt, type "console=ttyS0". To avoid this, we have to get a special version of the NPToolkit distribution that will send output to the console serial port by default.
Configuring the NPToolkit machine means going through several menus to set values, and then saving the values to a local hard disk for use the next time the machine boots. The configuration menus are displayed when the system boots, and after a pause to give you a chance to use them, the system continues with the boot process using whatever values have been saved. This means there has to be a hard drive to save the file on. If you have a hard drive but need to partition it or make a filesystem on it, boot off a standard Knoppix CD-ROM to do it.
Note: to change configuration values after the system is up, use:
sudo nptoolkit-configure.py
The system has two partitions: sda3 (swap) and sda4. I selected "/dev/sda4".
Welcome to the Internet2 Performance Node LiveCD site information configuration program. This program will prompt you for your site information. Default values are in [] Enter your administrator's name [Joe Admin]: Pete Siemsen Enter your site name [Some Organization]: Front Range GigaPoP Enter your site's location [Some City, State, Country]: Denver, Colorado, USA Enter the communities of interest, separated by spaces (e.g. LHC Internet2 eVLBI). If you're confused as to what to enter, visit http://code.google.com/p/perfsonar-ps/wiki/NPToolkit []: Atmospheric Please choose your connection speed: 1. 100 Mbps 2. 1 Gbps 3. 10 Gbps Select your connection speed [2]: 1 Enter an email to be used for trouble reporting [joe.admin@organization.edu]: siemsen@ucar.edu
I left all the services turned on, and turned on SSH, which is off by default.
Welcome to the Internet2 Performance Node LiveCD BWCTL configuration program. This program will help you customize BWCTL to meet your needs. Default values are in [] Please provide some basic information about your system... What is the maximum amount of bandwidth (in Mbps) that should be usable for testing? (to omit type *) [900]: The next few questions let you specify what tests you are willing to let users perform What is the maximum test duration (in seconds)? (to omit type *) [60]: What is the maximum number of pending requests to queue? (defaults to unlimited): How many seconds should pending requests be allowed to queue? [1800]: Advanced options... You may grant specific networks unrestricted access now. Enter a network and mask [ex. 192.168.0.0/16] (blank line to stop): You may forbidspecific networks from performing tests now. Enter a network and mask [ex. 192.168.0.0/16] (blank line to stop): You may now grant specific users unrestrictedaccess. You will need to provide a username & password for each user. To delete a user, select their username from the list below. 1. Add a new user 0. Exit Make a selection: 0 BWCTL configuraiton files saved successfully.
Welcome to the Internet2 Performance Node LiveCD OWAMP configuration program. This program will help you customize OWAMP to meet your needs. Default values are in [] Please provide some basic information about your system... What is the maximum amount of bandwidth (in Mbps) that should be usable for testiing? (to omit type *) [1]: What is the maximum amount of disk space (in megabytes) that should be usable for testing? (to omit type *) [500]: The next few questions let you specify what tests you are willing to let users perform Should buffered data files be deleted automatically as they are fetched? [yes]: Should buffered data files be deleted automatically as they are fetched? [yes]: Advanced options... You may grant specific networks unrestrictedaccess now. Enter a network and mask [ex. 192.168.0.0/16] (blank line to stop): You may forbid specific networks from performing tests now. Enter a network and mask [ex. 192.168.0.0/16] (blank line to stop): You may now grant specific users unrestricted access. You will need to provide a username & password for each user. To delete a user, select their username from the list below. 1. Add a new user 0. Exit Make a selection: 0
Enter the network interface identifier (Enter * to cancel) [eth2]: Enter the IP you would like [x.x.x.x]: 128.117.128.35 Enter your netmwask [255.255.255.0]: Enter your gateway's IP address [x.x.x.x]: 128.117.128.251 Enter your nameserver's IP address (etc): 192.43.244.12 Enter your nameserver's IP address (etc): 192.43.244.5 Enter your nameserver's IP address (etc): Do you want to start this interface (this may take a little while)? [Yes]:For testing, I set this (pete-test.ucar.edu, VLAN 2):
Enter the network interface identifier (Enter * to cancel) [eth2]: Enter the IP you would like [x.x.x.x]: 128.117.2.21 Enter your netmwask [255.255.255.0]: Enter your gateway's IP address [x.x.x.x]: 128.117.2.249 Enter your nameserver's IP address (etc): 128.117.8.94 Enter your nameserver's IP address (etc): 128.117.8.250 Enter your nameserver's IP address (etc): Do you want to start this interface (this may take a little while)? [Yes]:
Your current time zone is set to Etc/UTC Do you want to change that? [n]: y Please enter the number of the geographic area in which you live: 1) Africa 7) Australia 2) America 8) Europe 3) US time zones 9) Indian Ocean 4) Canada time zones 10) Pacific Ocean 5) Asia 11) Use System V style time zones 6) Atlantic Ocean 12) None of the above Then you will be shown a list of cities which represent the time zone in which they are located. You should choose a city in your time zone. Number: 3 Alaska Aleutian Arizona Central East-Indiana Eastern Hawaii Indiana-Starke Michigan Mountain Pacific Samoa Please enter the name of one of these cities or zones You just need to type enough letters to resolve ambiguities Press Enter to view all of them again Name: [] Mountain Your default time zone is set to 'US/Mountain'. Local time is now: Fri Feb 13 13:05:41 MST 2009. Universal Time is now: Fri Feb 13 20:05:41 UTC 2009.
TBD.
By default, Ethernet interfaces will be started with an MTU of 1500. We want the main GigE interface to have a "jumbo" MTU of 9000. To make this happen, add the following line to /etc/rc.local, just before the "exit 0" line:
ifconfig eth2 mtu 9000
Web to https://192.43.244.35/admin/pinger/. Log in as knoppix.
Web to https://192.43.244.35/admin/perfsonarbuoy/. Log in as knoppix.
See http://code.google.com/p/perfsonar-ps/wiki/NPToolkit
There's an LS lookup service at https://dc211.internet2.edu/cgi-bin/perfAdmin/tree.cgi
From: Aaron Brown <aaron@internet2.edu>
Date: February 20, 2009 6:00:53 AM MST
To: siemsen@ucar.edu
Subject: Re: NPToolkit question
Can you supply a pointer that explains what to do with perfSONAR? I found a link to the thing that parses traceroute output and draws some graphs. I ran the "perfSONAR UI", which doesn't seem to be ready for prime time. I guess I'm supposed to set up RRD captures of my Internet-facing router interfaces so others can see how loaded my links are.
It depends on what you want to do with it. Right now, interested parties can perform bwctl, owamp, ndt and npad tests. If you want to do some active testing of your own, you can set it up to regularly perform bwctl measurements to other sites, to regularly ping other sites, or to poll your interfaces. If you go to https://[server ip]/ there are links to the configuration guis for these three activities. Once these are setup, there are links on that same page to get graphs of the data. Also, when those are setup, interested parties will be able to use links from the various public lists to see those graphs as well.
The NPToolkit distribution automatically registers itself with the NPToolkit community, so that others can run tests against it. The community includes several servers deployed in ESnet. See the perfSONAR Global Service and Data View
From: Aaron Brown <aaron@internet2.edu>
Date: February 20, 2009 12:27:09 PM MST
To: siemsen@ucar.edu
Subject: Re: NPToolkit questionI'm going to move this machine to our GigaPoP and give it a different IP address. I'll try to get it added to various public lists of servers (OWAMP, BWCTL, NDT, NPAD, etc).
Pete
Our public lists are automatically generated based on the currently available services. The disk should automatically register its services with the Lookup Service so you shouldn't have to do anything when you move them.
Aaron
Cool. I see that it works, my machine is listed, but not in the lists of PSB_BWCTL, SNMP or PINGER tables. Should I do something to get it listed?Pete
Those just show the data if you're running regular data collection. If you configure PingER/perfSONAR-BUOY/Cacti on the hosts, your machine would show up there.
Aaron
To test that things are working, you need to know where other NPToolkit servers are. See the perfSONAR Global Service and Data View
Here's a traceroute to Lawrence Livermore National Laboratory in California (a random NPToolkit server in ESnet, chosen from the list at perfSONAR Global Service and Data View):
knoppix@0[~]$ mtr --report -c 10 llnl-owamp.es.net HOST: Knoppix Loss% Snt Last Avg Best Wrst StDev 1. mlra.ucar.edu 0.0% 10 0.3 0.4 0.3 1.5 0.4 2. tcom-gs-1-n243-72.ucar.edu 0.0% 10 0.5 0.4 0.4 0.5 0.1 3. nlrb-frgp.frgp.net 0.0% 10 9.6 147.3 1.2 606.6 181.8 4. denvcr2-frgp.es.net 0.0% 10 1.2 1.8 1.1 7.0 1.8 5. sunncr1-denvcr1.es.net 0.0% 10 28.4 28.4 28.4 28.4 0.0 6. sunnsdn2-sunncr1.es.net 0.0% 10 28.2 30.9 28.2 55.1 8.5 7. snvmr2-ip-sunnsdn2.es.net 0.0% 10 28.5 30.9 28.4 41.8 5.1 8. llnlmr2-ip-snvmr2.es.net 0.0% 10 29.2 29.2 29.2 29.3 0.0 9. llnl-owamp.es.net 0.0% 10 29.3 29.3 29.2 29.3 0.0 knoppix@0[~]$
Use OWAMP like you'd use ping. The command arguments are intentionally similar to theso of the typical ping command. Here's a one-way ping from the NPToolkit machine to the Stanford Linear Accelerator in California (a random NPToolkit server in ESnet, chosen from the list at perfSONAR Global Service and Data View):
knoppix@0[~]$ owping slac-owamp.es.net Approximately 13.1 seconds until results available --- owping statistics from [192.43.244.35]:43618 to [slac-owamp.es.net]:8818 --- SID: c681fe92cd49b1cc082b2486340cbe05 first: 2009-02-20T15:48:45.318 last: 2009-02-20T15:48:53.684 100 sent, 0 lost (0.000%), 0 duplicates one-way delay min/median/max = 14.4/14.5/14.5 ms, (err=0.382 ms) one-way jitter = 0.1 ms (P95-P50) Hops = 7 (consistently) no reordering --- owping statistics from [slac-owamp.es.net]:8822 to [192.43.244.35]:43619 --- SID: c02bf423cd49b1cc0cc436fc2f56d4ff first: 2009-02-20T15:48:45.210 last: 2009-02-20T15:48:55.348 100 sent, 0 lost (0.000%), 0 duplicates one-way delay min/median/max = 14.2/14.3/14.4 ms, (err=0.382 ms) one-way jitter = 0 ms (P95-P50) Hops = 7 (consistently) no reordering knoppix@0[~]$
The output shows the performance in both directions. Of course, the pings might've taken different paths in each direction.
Here's a test from a machine at at Lawrence Livermore National Labs to the NCAR NPToolkit machine on 2009-04-17. The send-host defaults to the local machine, and I specified the receive-host with the "-c" option.
knoppix@0[~]$ bwctl -c llnl-pt1.es.net bwctl: Using tool: iperf bwctl: 27 seconds until test results available RECEIVER START bwctl: exec_line: /usr/local/bin/iperf -B 198.129.254.106 -s -f b -m -p 5037 -t 10 bwctl: start_tool: 3448977924.756123 ------------------------------------------------------------ Server listening on TCP port 5037 Binding to local address 198.129.254.106 TCP window size: 65536 Byte (default) ------------------------------------------------------------ [ 47] local 198.129.254.106 port 5037 connected with 128.117.128.35 port 5037 [ ID] Interval Transfer Bandwidth [ 47] 0.0-10.0 sec 637526016 Bytes 508901992 bits/sec [ 47] MSS size 8192 bytes (MTU 8232 bytes, unknown interface) bwctl: stop_exec: 3448977949.307577 RECEIVER END knoppix@0[~]$
Here's a test from the local nptoolkit machine to another one at Lawrence Livermore National Labs on 2009-04-17. The send-host defaults to the xxxxxxxxxxxxxxxxxxxx machine, and I specified the receive-host with the "-c" option.
TBD
Here's a remote test I ran between Penn State and the University of Chicago (random NPToolkit servers chosen from the list at perfSONAR Global Service and Data View):
knoppix@0[~]$ bwctl -c 128.118.159.105 -s 128.135.158.216 bwctl: Using tool: iperf bwctl: 17 seconds until test results available RECEIVER START bwctl: exec_line: /usr/local/bin/iperf 128.118.159.105 -s -f b -m -p 5004 -t 10 bwctl: start_tool: 3443885110.967949 ------------------------------------------------------------ Server listening on TCP port 5004 Binding to local address 128.118.159.105 TCP window size: 87380 Byte (default) ------------------------------------------------------------ [ 14] local 128.118.159.105 port 5004 connected with 128.135.158.216 port 5004 [ 14] 0.0-10.5 sec 73465856 Bytes 55914918 bits/sec [ 14] MSS size 1448 bytes (MTU 1500 bytes, ethernet) bwctl: stop_exec: 3443885125.577992 RECEIVER END knoppix@0[~]$
sudo shutdown -h 05:15The time is specified as hh:mm, so you unfortunately can't specify a time more than a day from now. The shutdown command won't return to a prompt - it just sits there, but if you're in an ssh session and the ssh session goes down, the shutdown will still occur.