230 likes | 362 Views
Installing PerfSONAR-BUOY. John Hicks Indiana University TransPAC2 jhicks@iu.edu. PerfSONAR-BUOY Installation.
E N D
Installing PerfSONAR-BUOY John Hicks Indiana University TransPAC2 jhicks@iu.edu
PerfSONAR-BUOY Installation This section describes the installation of the PerfSONAR-BUOY service that exposes delay and throughput data. The current perfSONAR-BUOY implementation is intended to work with BWCTL (throughput) and OWAMP (delay) along with the Abilene Measurement Infrastructure (AMI). This install refers to: Red Hat Enterprise Linux Server release 5.2 (Tikanga) Linux 2.6.24-web100 #1 SMP i686 i686 i386 GNU/Linux The first step to installing these measurement tools is to install the Network Time Protocol (NTP). NTP get ntp-4.2 or later ./configure make make install Check version installed with OS and update with yum or up2date
NDT Installation Edit /etc/ntp.conf (Must use at least 4 time servers in configuration - suggested time servers) server ntp-1.cso.uiuc.edu server ntp-2.cso.uiuc.edu server ntp-e.abilene.ucaid.edu server ntp-w.abilene.ucaid.edu chkconfig --add ntpd chkconfig --level 35 ntpd on sudocrontab -e # ntp time sync 0 2 * * * /usr/sbin/ntpdate -s -b -p 8 -u ntp-1.cso.uiuc.edu
Setup AMI environment The current perfSONAR-BUOY implementation requires the Abilene Measurement Infrastructure (AMI). Create user and group ami /usr/sbin/useraddami Create data directories (may need root or sudo access) mkdir /home/ami/data/bwctl mkdir /home/ami/data/owamp Change owner for data directories chown –R ami /home/ami/data
BWCTL Get latest version of 1.3 RC of BWCTL from http://packrat.internet2.edu/~aaron/ gzip -cdbwctl-$VERS.tar.gz | tar xf - cdbwctl-$VERS ./configure # --prefix defaults to /usr/local on most systems make make install cd conf cp bwctld.sh /etc/init.d/bwctld vi /etc/init.d/bwctld add PREFIX=/usr/local cp bwctld.conf /usr/local/etc cp bwctld.limits /usr/local/etc
BWCTL config /sbin/chkconfig --add bwctld Edit /usr/local/etc/bwctld.conf Change user and group to ami Change vardir to /var/run (bwctld.pid location) Change datadir to /home/ami/data/bwctl Change peer_ports to range, example 35000-35005 Edit /usr/local/etc/bwctld.limits (See http://e2epi.internet2.edu/npw/binder-docs/bwctl-cookbook.pdf for more details)
BWCTL config (cont.) Open firewall ports for bwctl -A RH-Firewall-1-INPUT -m state --state NEW -mtcp -ptcp --dport 8423 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -mtcp -ptcp --dport 35000:35005 -j ACCEPT Open firewall port for iperf -A RH-Firewall-1-INPUT -m state --state NEW -mtcp -ptcp --dport 5001 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -mudp -pudp --dport 5001 -j ACCEPT Start bwctld /etc/init.d/bwctld start
OWAMP Get latest version of OWAMP from http://e2epi.internet2.edu/owamp/download.html gzip -cdowamp-$VERS.tar.gz | tar xf - cdowamp-$VERS ./configure # --prefix is only needed if you don't like the default # (/usr/local on most systems) make make install cd conf cp owampd.conf /usr/local/etc cp owampd.limits /usr/local/etc
OWAMP config Edit /usr/local/etc/bwctld.conf Change user and group to ami Change vardir to /var/run (bwctld.pid location) Change datadir to /home/ami/data/owamp Change testports to range, example 6000-6010 Edit /usr/local/etc/owampd.limits (See http://e2epi.internet2.edu/npw/binder-docs/owamp-cookbook.pdf for more details)
OWAMP config (cont.) Open firewall ports -A RH-Firewall-1-INPUT -m state --state NEW -mtcp -ptcp --dport 861 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -mudp -pudp --dport 6000:6010 -j ACCEPT Start owampd /usr/local/bin/owampd –c /usr/local/etc/
The Abilene Measurement Infrastructure (AMI) There are two types of machines involved in the AMI: Beacon – Machines running OWAMP, BWCTL, bwmaster, and powmaster. Collector – Machines running MySQL, bwcollector, and powcollector. The collector may also run a web server for data presentation. Download the AMI binary from http://dc211.internet2.edu/perfSONAR-PS/AMI-binary-x86.tar.gz gzip -cd AMI-binary-x86.tar.gz | tar xf - cd AMI-binary-x86
AMI config Edit the owmesh.conf file. There are 'XXX's in this file at locations that should be examined. The most important things to note are the names of the nodes, the members of the meshes, locations of the data, and database nuances. Example: OWPBinDir /usr/local/bin OwampdVarDir /var/run/ OWPDataDir /home/ami/owamp BWBinDir /usr/local/bin BWDataDir /home/ami/bwctl
AMI config (cont.) <HOST=nms1.transpac2.net> NODE NODE1 </HOST> <HOST=nms1.jp.apan.net> NODE NODE2 </HOST>
AMI config (cont.) Beacon and Collector machines Copy owmesh.conf to /usr/local/etc/ on all machines . Beacon machines Copy bwmaster and powmaster to /usr/local/bin. Collector machines Copy create_bwdb and create_owampdb and bwcollector and powcollector to /usr/local/bin. Install the following: perl -MCPAN -e 'install DBI' perl -MCPAN -e 'install DBD::mysql
Start the Beacon Start the beacons. /usr/bin/powmaster -c /usr/local/etc /usr/bin/bwmaster -c /usr/local/etc Check for data in /home/ami/owamp/ and /home/ami/bwctl/ Setup the collector databases. Run create_bwdb and create_owampdb on the collector to create the databases: /usr/local/create_bwdb -c /usr/local/etc/owmesh.conf -i ADMIN_USER /usr/bin/create_owampdb -c /usr/local/etc/owmesh.conf -i ADMIN_USER
Start the Collector /usr/bin/powcollector -c /usr/local/etc/owmesh.conf /usr/bin/bwcollector -c /usr/local/etc/owmesh.conf To see if the collector has data check the AMI archive folder: find /home/ami/bwctl/archive Check the database: mysql> select * from BW_BWTCP4_NODE1_NODE2 You can also see data in fields like: OWPDelays_NODE1_NODE2 OWPTTL_LAT4_NODE1_NODE2 OWP_LAT4_NODE1_NODE2
perfSONAR-BUOY Download the perfSONAR-BUOY package from http://dc211.internet2.edu/perfSONAR-PS/perfSONAR-PS_perfSONAR-BUOY_MA-binary-x86.tar.gz Untar this directory in /usr/local. Edit the 'daemon.conf' # If you want to change the port, change it here <port 9099> <endpoint /perfSONAR_PS/services/pSB> module perfSONAR_PS::Services::MA::perfSONARBUOY disabled 0
perfSONAR-BUOY daemon.conf disabled 0 <perfsonarbuoy> legacy 1 enable_registration 0 metadata_db_file ./store.xml metadata_db_type file # XXX # Location (directory only) of the owmesh.conf file owmesh . # XXX # Change this to your public port/hostname service_accesspointhttp://yourhostname:9099/perfSONAR_PS/services/pSB
perfSONAR-BUOY daemon.conf (cont.) service_description Internet2 perfSONARBUOY MA service_nameperfSONARBUOY MA service_type MA </perfsonarbuoy> </endpoint> </port> disable_echo 0 #ls_instance http://yourLS:8005/perfSONAR_PS/services/LS ls_registration_interval 60 max_worker_lifetime 300 max_worker_processes 30 pid_dir . pid_fileps.pid reaper_interval 20
Run perfSONAR-BUOY for the first time Open firewall port 9099 Run it for the first time to check things: ./pSBMA --config=daemon.conf --logger=logger.conf --verbose You may see this sql errors but this is ok. Check that the 'store.xml' file is full of the pairs of your mesh. Ctrl-c to stop
Run perfSONAR-BUOY Edit the following in logger.conf. # XXX # Comment this line after testing, and uncomment the next log4perl.appender.A1=Log::Dispatch::Screen # XXX # uncomment after testing #log4perl.appender.A1=Log::Dispatch::FileRotate Start as a daemon: ./pSBMA --config=daemon.conf --logger=logger.conf
Thank You The bulk of this material is contained in either the README, INSTALL, and/or cookbook for each package. References: Network Time Protocol (NTP) http://www.ntp.org/ BWCTL downloads, cookbook, and manpages http://e2epi.internet2.edu/bwctl/ OWAMP downloads cookbook, and manpages http://e2epi.internet2.edu/owamp/ AMI and perfSONAR binaries http://dc211.internet2.edu/perfSONAR-PS/