Ccg-admin
From Earlham Cluster Department
Contents |
Current To Do
- This section has been moved to a GDrive document, https://docs.google.com/document/d/1_qsH4eFZRW_rmqq2kgMF_DbKBL-HukjBuAdr93j0oJ0/edit
Cluster Pages
Installing Software
- Download the source tarball into /root/install
- Unpack
- Make a <package>-<version>.config.sh script that runs ./configure with all your options (so that it's kept around in case we need to reinstall).
- To configure, give --prefix=/mounts/al-salam/software/<package>-<version>
- Run your config.sh and continue building/installing as normal
- Create a soft link from /mounts/al-salam/software/<package> to /mounts/al-salam/software/<package>-<version>
Enabling a package within Modules
- sudo su -
- cd /mounts/al-salam/software/Modules/3.2.7/modulefiles
- ls and look for another package that has a similar usage model as the package you're installing (e.g., Python module, C/C++ library, utility, library+utilities)
- Copy that to your new package, e.g., cp -r openmpi <software>
- cd <software>; ls Note the filename that appears.
- Move that file to your package's <version>
- Edit <version>
- Change references to the package you copied to the new one you're installing, including the version number, path, variable names, etc.
- Check modulefile(4) for keywords, etc., within the module file.
- Usually, that's all you need to do. Verify that it shows up in module avail and that module load <software> doesn't throw any errors and allows your package to work.
If you think your new package is important enough to be loaded by default, then add it to the list in /mounts/al-salam/software/Modules/3.2.7/init/al-salam.{sh,csh}
DNS/DCHP for a single host
- 1)Find an IP that's not in use. Easiest way to do that is look in this file /var/named/etc/namedb/master/cluster.zone.
- 2)Add name and IP like the pattern in the file.
- 3)At the top of the file, be sure to change the serial number at the top to represent the year,month,day, and version.
- 4)Save the file. Every time you add an entry to the zone file, you have to edit the reverse zone file. The reverse zone file is /var/named/etc/namedb/master/159.28.234.zone.
- 5)Add an entry for the host you add in the zone file.
- 6)Next you'll want to stop DNS and then start DNS with the following command. service named stop and then use service named start
- 7)Now that DNS is updated, we have to update DHCP.
- 8)The file you want to edit is /usr/local/etc/dhcpd.conf. Towards the bottom of the file you'll add host <hostname> { hardware ethernet <MACaddress> fixed-address <hostname>.cluster.earlham.edu; .
- 9)Save the file. Just like we did for the DNS config file, we need to stop and the start DHCP. To stop the config use the command /usr/local/etc/rc.d/isc-dhcpd stop. Then start the DHCP with /usr/local/etc/rc.d/isc-dhcpd start.
- 10)As a test, reboot the client.
Users and Groups
Users are authenticated based on an LDAP server running on Hopper. cpu is installed on Hopper as an LDAP-user management tool. You should use it to view/edit/create users unless you're super comfortable with ldapmodify and LDIF. Passwords can be changed easily with the ldpasswd.pl command on Hopper. It can be used both by users to change their own password and root to change another user's password.
Groups are also in LDAP. Check the tail end of the result of cpu cat for group info.
man cpu-ldap will tell you all about using cpu for user/group management. For the most part, its format is pretty similar to pw, but there are some minor differences. Read the man page.
Monitoring
- Ganglia - http://cluster.earlham.edu/ganglia/?r=month&s=descending&c=
- Machine room environment -
Creating new users
Users are created with a perl script called newusers.pl and with a data file that includes the new user information called batch-current.dat.
First figure out whether the users you are creating need shell access or not. Make sure the perl script reflects this characteristics. The line below is what you'll need to modify, and you'll need to be root to do any of the following.
$cpu_out = system("cpu useradd -c '$gecos' -m -k/etc/skel -m -p$password -g users -d /cluster/home/$name -s /bin/bash $name");
If the users need shell access then what is there is fine. If they don't need shell access then change the /bin/bash to /sbin/nologin . Next modify and save the batch-current.dat file with the new users you want to add. The pattern is: full name:username:email address. If you wanting to add more than one, each one should go on a separate line.
Now, to add the users: perl newusers.pl -f batch-current.dat
Some stuff should pass on the screen saying that the new users are created (hopefully). Now we're going to set up those new user's ssh keys. To do that (as yourself):
- ssh as0
- sudo su - root
For every new user:
- su - <newuser>
New Hopper
- Currently known as Megamind