Note
For newer RedHat-based operating systems after CentOS 7 see :doc:`install_el`
perfSONAR combines various sets of measurement tools and services bundled in different useful ways. RPMs are available that install the bundles described in :doc:`install_options`. The steps in the remaining sections of this document detail the steps required for installing these bundles.
- Operating System:
- CentOS 7 x86_64 installations are supported. Other RedHat-based operating systems may work, but are not officially supported at this time.
- See :doc:`install_hardware` for hardware requirements and more.
Note
Installing a graphical/desktop environment with perfSONAR is not supported. These environments generally come with a Network Manager that conflicts with the way that perfSONAR is tuning the network interface parameters. We recommend doing only server grade OS installs.
Note
If your system is using yum priorities make sure that repositories required for perfSONAR are higher priority than anything else to avoid conflicts with older versions. Please note that yum maintainers do not recommend using priorities.
The process configures yum to point at the necessary repositories to get packages needed for perfSONAR. You will need to follow the steps below as privileged user:
Install the EPEL RPM:
yum install epel-release
Install the perfSONAR-repo RPM:
yum install http://software.internet2.edu/rpms/el7/x86_64/latest/packages/perfsonar-repo-0.11-1.noarch.rpm
Refresh yum's cache so it detects the new RPMS:
yum clean all
CHOOSE ONE of the following bundles and see :doc:`install_options` page for more information about what these bundles are.
perfSONAR Tools:
yum install perfsonar-tools
perfSONAR Test Point:
yum install perfsonar-testpoint
perfSONAR Core:
yum install perfsonar-core
perfSONAR Archive:
yum install perfsonar-archive
perfSONAR Toolkit:
yum install perfsonar-toolkit
In addition to any of the bundles above you may also optionnally choose to install one or more of our add-on packages (these are automatically added on the perfsonar-toolkit bundle):
yum install perfsonar-toolkit-ntp
- Automatically detects closest NTP servers and sets them in ntp.confyum install perfsonar-toolkit-security
- Adds default firewall rules and installs fail2banyum install perfsonar-toolkit-servicewatcher
- Adds a cron job that checks if services are still running.yum install perfsonar-toolkit-sysctl
- Adds default sysctl tuning settingsyum install perfsonar-toolkit-systemenv-testpoint
- Configures auto-update and set some default logging locations
Step 3 can be ignored for perfsonar-toolkit package installation as its instructions are included and run automatically
NTP Tuning
Auto-select NTP servers based on proximity
The Network Time Protocol (NTP) is required by the tools in order to obtain accurate measurements. Measurements will not give accurate results unless NTP is configured. If an optional package was installed, then run:
/usr/lib/perfsonar/scripts/configure_ntpd new systemctl restart ntpd
You can verify if NTP is running with the following command:
/usr/sbin/ntpq -p
System Tuning
It is important to make sure that your host is properly tuned for maximum TCP performance on the WAN. You should verify that htcp, not reno, is the default TCP congestion control algorithm, and that the maximum TCP buffers are big enough for your paths of interest. You can also re-run this script any time you need e.g. when host interface speed changes.
Configure perfSONAR sysctl settings
If the optional package was installed, then run:
/usr/lib/perfsonar/scripts/configure_sysctl
Advanced Manual Tuning
For more information please refer to http://fasterdata.es.net/host-tuning/linux/
Package Install
If you have installed the perfsonar-toolkit-security package, then you can configure the firewalld / IPTable entries by running:
/usr/lib/perfsonar/scripts/configure_firewall install
The package also installs fail2ban.
Or, if you would like to configure the rules manually, then please review the document here on the ports that need to be open.
Additionally, pscheduler allows you to limit the parameters of tests such as duration and bandwidth based on the requesters IP address. It does this through the /etc/pscheduler/limits.conf
.
ESnet provides a file containing all R&E subnets, which is updated nightly. Instructions on how to download this file and configure pScheduler to use it are described on the page :doc:`manage_limits`.
Note that the perfsonar-toolkit-security package is automatically included in the perfsonar-toolkit bundle.
You can also enable yum ‘auto updates’ to ensure you always have the most current and hopefully most secure packages. To do this follow the steps in :ref:`manage_update-auto-cli`.
Note
Automatic updates are enabled by default in the perfSONAR Toolkit.
The perfsonar-toolkit-servicewatcher
installs scripts that check if important processes are running and restarts if they have stopped unexpectedly.
The install automatically configures cron to run the service_watcher regularly.
To run the script manually, run:
/usr/lib/perfsonar/scripts/service_watcher
Note: this step can be done through the web interface if the perfsonar-toolkit bundle was installed. See :doc:`manage_admin_info`.
No actual configuration is required but filling fields such as administrator_email, site_name, city, country, latitude, longitude, etc. are highly recommended. You can add these by removing the leading # of any property and filling it out with a proper value for your host. Changes will be picked-up automatically without need for any restarts.
All services should be started after install. Additionally, you can start all the services by rebooting the host since all are configured to run by default. In order to check services status issue the following commands:
systemctl status pscheduler-scheduler systemctl status pscheduler-runner systemctl status pscheduler-archiver systemctl status pscheduler-ticker systemctl status psconfig-pscheduler-agent systemctl status owamp-server systemctl status perfsonar-lsregistrationdaemon
If they are not running you may start them with appropriate init commands as a root user. For example:
systemctl start pscheduler-scheduler systemctl start pscheduler-runner systemctl start pscheduler-archiver systemctl start pscheduler-ticker systemctl start psconfig-pscheduler-agent systemctl start perfsonar-lsregistrationdaemon systemctl start owamp-server
In order to find more information about services running in perfSONAR bundles visit :doc:`manage_daemons`.
If you installed the perfsonar-archive bundle see the following document :doc:`multi_ma_install`