OpenHPC (ohpc) is made of different components. One component is the cluster provisioning by Warewulf.
Install CentOS 7.2.511
For this document rev 3fc5abc
was used.
selinux
Check if selinux
is enabled:
if selinuxenables; then echo yes; else echo no; fi
This will print if selinux
is enabled at boot time. Temporarily disable selinux
.
setenforce 0
Check with
getenforce
Should print
Permissive
yum install epel-release
rpm -ivh http://build.openhpc.community/OpenHPC:/1.1/CentOS_7.2/x86_64/ohpc-release-1.1-1.x86_64.rpm
systemctl disable firewalld
systemctl stop firewalld
yum -y groupinstall ohpc-base
yum install tree zsh rsync wget mlocate vim
Not mentioned dependencies:
ifconfig
yum install net-tools
yum -y groupinstall ohpc-warewulf
systemctl enable ntpd.service
systemctl restart ntpd
yum -y groupinstall ohpc-slurm-server
useradd slurm
Use existing environment file or create your own. Make sure data for your site is correct.
source /opt/kuelker/env/ohpc ADAMSPASS
env|grep OHPC|sort
OHPC_CLIENT_ARCH=ADAMSPASS
OHPC_CLIENT_INTERNAL_INTERFACE=eno1
OHPC_CLIENT_INTERNAL_NETMASK=255.255.0.0
OHPC_CLIENT_PROVISION_INTERFACE=eno1
OHPC_SERVER_CHROOT=/opt/ohpc/admin/images/i86_x64/centos7.2
OHPC_SERVER_INTERNAL_INTERFACE=enp2s0
OHPC_SERVER_INTERNAL_NETMASK=255.255.0.0
OHPC_SERVER_IP=172.16.254.254
OHPC_SERVER_NAME=gw200
During this guide it is assumed that the environment is sourced in before at the beginning. That is especially true if variables are in the commands. Variables always start with $OHPC_
or ${OHPC_
.
source /opt/kuelker/env/ohpc ADAMSPASS
Source in the correct environment (see previous chapter).
source /opt/kuelker/env/ohpc ADAMSPASS
# Configure Warewulf provisioning to use desired internal interface
export PFN=/etc/warewulf/provision.conf
perl -pi -e "s/device = eth1/device = ${OHPC_SERVER_INTERNAL_INTERFACE}/" $PFN
# Enable tftp service for compute node image distribution
perl -pi -e "s/^\s+disable\s+= yes/ disable = no/" /etc/xinetd.d/tftp
# Enable http access for Warewulf cgi-bin directory to support newer apache syntax
export MFN=/etc/httpd/conf.d/warewulf-httpd.conf
perl -pi -e "s/cgi-bin>\$/cgi-bin>\n Require all granted/" $MFN
perl -pi -e "s/Allow from all/Require all granted/" $MFN
perl -ni -e "print unless /^\s+Order allow,deny/" $MFN
# Enable internal interface for provisioning
ifconfig ${OHPC_SERVER_INTERNAL_INTERFACE}\
${OHPC_SERVER_IP}\
netmask ${OHPC_SERVER_INTERNAL_NETMASK} up
# Restart/enable relevant services to support provisioning
systemctl restart xinetd
systemctl enable mariadb.service
systemctl restart mariadb
systemctl enable httpd.service
systemctl restart httpd
Later a NFS server is needed
source /opt/kuelker/env/ohpc ADAMSPASS
yum install nfs-utils
mkdir -p /opt/ohpc/home
echo "${OHPC_HOME_BASE} *(${OHPC_SERVER_NFSEXP10})" >> /etc/exports
echo "/opt/ohpc/pub *(${OHPC_SERVER_NFSEXP11})" >> /etc/exports
exportfs -a
systemctl restart nfs
systemctl enable nfs-server
Make sure selinux
is disabled! Installation works with seleinux
, but if selinux
is enabled ganglia can not collect data. (There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied)
setenforce 0
yum -y groupinstall ohpc-ganglia
Backup old configuration
cp /etc/ganglia/gmond.conf /etc/ganglia/gmond.conf.`date +'%F'`
cp /opt/ohpc/pub/examples/ganglia/gmond.conf /etc/ganglia
Source the environment
source /opt/kuelker/env/ohpc ADAMSPASS
Set the server name
perl -pi -e "s/<sms>/${OHPC_SERVER_NAME}/" /etc/ganglia/gmond.conf
Set the site name
cp /etc/ganglia/gmetad.conf /etc/ganglia/gmetad.conf.`date +'%F'`
echo "gridname $OHPC_SITE_NAME" >> /etc/ganglia/gmetad.conf
Enable and start Ganglia
systemctl enable gmond
systemctl enable gmetad
systemctl start gmond
systemctl start gmetad
systemctl try-restart httpd
source /opt/kuelker/env/ohpc ADAMSPASS
yum -y --installroot=$OHPC_SERVER_CHROOT_TEST install ganglia-gmond-ohpc
chroot $OHPC_SERVER_CHROOT_TEST systemctl enable gmond
The official install guide: