Difference between revisions of "Transition to CentOS 6"

From oldwiki.scinet.utoronto.ca
Jump to navigation Jump to search
(Created page with "The operating system of the General Purpose Clusters will be updated from CentOS 5.6 to CentOS 6.0 in a few weeks. Note that the ARC already uses the newer OS. This upgrad...")
 
 
(22 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The operating system of the General Purpose Clusters will be updated
+
==GPC OS switch==
from CentOS 5.6 to CentOS 6.0 in a few weeks.  
+
The default operating system of the GPC has been upgraded from CentOS 5 to CentOS 6. The switch occured on Monday December 5th 2011 at noon.  It is possible to specifically request the old OS for at least 2 weeks after the switchover (see below) but only a small subset of such nodes will be available.
  
Note that the ARC
+
This upgrade includes updates to other programs/modules, and will mean that you will have to recompile your code, if you have not done so already.
already uses the newer OS.  
 
  
This upgrade includes updates to other
+
==Transition==
programs/modules, and will mean that you will have to recompile your
+
<!--
code.
+
To prepare for this transition, 15 nodes are currently reserved for test purposes and are running with the new OS and modules.  We encourage all users to try and compile their code there and to submit short test runs to the centos6 compute nodes.
  
To prepare for this transition, a number of (ethernet) nodes are currently
+
As described in the Oct 16 email (and on http://www.scinethpc.ca/2011/10/gpc-os-upgrade-what-you-need-to-know),
reserved for test purposes already, and have the most common modules
+
here's how you can access the CentOS 6 nodes '''now (until Monday at noon)''':
already installed. 
 
  
We encourage all users to try and compile their
+
* Log in to one of the centos6 development nodes, gpc05 and gpc06.
code there and to submit short test runs to the centos6 compute nodes.
+
* Make sure the right modules are loaded, as they likely will have changed in the upgrade.
 +
* Recompile your code (don't forget a "make clean" or equivalent).
 +
* Submit test jobs to the centos6 compute nodes using an extra flag "os=centos6computeA" in the "-l" argument, i.e.  
  
Here's how you can access the centos 6 nodes:
+
  -l nodes=2:ppn=8,walltime=1:00:00,os=centos6computeA
  
* Log in to one of the centos6 development nodes, gpc05 and gpc06.
+
And here's how you will access the CentOS 6 nodes '''after Monday at noon''':
 +
-->
 +
 
 +
* The development nodes gpc01-4 are running CentOS 6
 +
* The development nodes gpc05-6 are running CentOS 5
 
* Make sure the right modules are loaded, as they likely will have changed in the upgrade.
 
* Make sure the right modules are loaded, as they likely will have changed in the upgrade.
 
* Recompile your code (don't forget a "make clean" or equivalent).
 
* Recompile your code (don't forget a "make clean" or equivalent).
* Submit test jobs to the centos6 compute nodes using an extra flag "os=centos6computeA" in the "-l" argument, i.e.  
+
* Submit jobs without any "os=" flag; the CentOS 6 operating system is now the default.
  -l nodes=2:ppn=8,walltime=1:00:00,os=centos6computeA
+
* Submit jobs to the centos53 compute nodes using an extra flag "os=centos53computeA" in the "-l" argument, i.e.  
* To make your .bashrc work for both versions of CentOS, check out the [[Important_.bashrc_guidelines|example .bashrc]] on how to distiguish the two OSes.
+
 
* Note that most modules that were available under the CentOS 5 are available with CentOS 6, but often their version number has changed.  
+
  -l nodes=2:ppn=8,walltime=1:00:00,os=centos53computeA
* Use "module avail" on the centos6 compute nodes to see what module are available, or check the wiki page [[Software_and_Libraries]].
+
 
* Let us know if there is anything that is not working as it should, or if there are modules that you need which are missing.
+
To make your .bashrc work for both versions of CentOS during the transition, check out the example .bashrc on the wiki page http://wiki.scinet.utoronto.ca/wiki/index.php/Important_.bashrc_guidelines on how to distiguish the two OSes.
 +
 
 +
==Modules==
 +
Note that most modules that were available under the CentOS 5 are available with CentOS 6, but often their version numbers have changed. Use "module avail" or "/scinet/gpc/bin6/modulefind" on the centos6 devel nodes to see what module are available, or check the wiki page http://wiki.scinet.utoronto.ca/wiki/index.php/Software_and_Libraries.
 +
Let us know if there is anything that is not working as it should, or if there are modules that you need which are missing.
 +
 
 +
==Known issues==
 +
 
 +
===Modules not found===
 +
 
 +
If modules that you used to load on CentOS 5 no longer load on CentOS 6, it is likely because you are loading the modules with their full name, including the version number.  Since all software modules had to be rebuilt for centOS 6, we took the opportunity to upgrade them, so version numbers will have changed.
 +
 
 +
You can see what modules are installed with <tt>module avail [start-of-a-modulename]</tt> or <tt>modulefind [part-of-a-modulename]</tt>.
 +
 
 +
Note that this does not affect you if you loaded the modules by their short name, i.e., <tt>module load gcc</tt>.
 +
 
 +
===Module command failing --- resolved ===
 +
 
 +
There is an issue with the module command which causes it to fail if to many modules are loaded in one line.  The module command has been upgraded and this should no longer be an issue.
 +
 
 +
A workaround was to split a single long module load line in your .bashrc file into multiple commands.
 +
 
 +
ie replace
 +
 
 +
    module load openmpi gcc extras python gnuplot
 +
 
 +
with
 +
 
 +
    module load openmpi gcc
 +
    module load extras python
 +
    module load gnuplot
 +
 
 +
The newest version of the module command has been installed and should not see these issues anymore, but let us know if you experience other difficulties.
 +
 
 +
===External packages Python 2.7.1 -- resolved, use 2.7.2 ===
 +
 
 +
Some external packages (matplotlib, cython) for the current default python (2.7.1) did not survive the transition to CentOS 6.  A new python has been built, 2.7.2, which is now the default.
 +
 
 +
===Screen command missing -- resolved===
 +
 
 +
In the new OS setup, the 'screen' command is placed in the module 'extras'.
 +
 
 +
  module load extras
 +
 
 +
will make it available to you again.
 +
 
 +
 
 +
<!--
 +
==Procedure and time line==
 +
To make the change, nodes will start to be rebooted over the weekend, while at noon on Monday, the development nodes gpc01, gpc02, gpc03 and gpc04 will be rebooted, killing any logins to those node. However, running and queued jobs will not be killed.
 +
 
 +
After Monday at noon on, only a small number of nodes (~80) will be running CentOS 5, mainly for comparison purposes.  gpc05 and gpc06 will be the corresponding CentOS 5 development nodes.  To submit to these CentOS 5 nodes,
 +
you need to give an extra flag "os=centos53computeA" in the "-l" argument, i.e.
 +
  -l nodes=2:ppn=8,walltime=1:00:00,os=centos53computeA
 +
 
 +
* '''''Sat-Sun Dec 3-4 2011: compute nodes rebooted to prepare default OS switch (no jobs will get killed)'''''
 +
* '''''Mon December 5 2011, noon: switch default operating system (gpc01-06 will be rebooted, running and scheduled jobs unaffected)'''''
 +
* '''''Mid-January 2012: phase-out all CentOS 5 nodes.'''''
 +
 
 +
-->
 +
 
 +
==CentOS 5 Phase-out==
 +
Only 84 ethernet and 32 infiniband CentOS 5 nodes are still available, and will be phased out by mid-January at the latest.

Latest revision as of 11:20, 16 December 2011

GPC OS switch

The default operating system of the GPC has been upgraded from CentOS 5 to CentOS 6. The switch occured on Monday December 5th 2011 at noon. It is possible to specifically request the old OS for at least 2 weeks after the switchover (see below) but only a small subset of such nodes will be available.

This upgrade includes updates to other programs/modules, and will mean that you will have to recompile your code, if you have not done so already.

Transition

  • The development nodes gpc01-4 are running CentOS 6
  • The development nodes gpc05-6 are running CentOS 5
  • Make sure the right modules are loaded, as they likely will have changed in the upgrade.
  • Recompile your code (don't forget a "make clean" or equivalent).
  • Submit jobs without any "os=" flag; the CentOS 6 operating system is now the default.
  • Submit jobs to the centos53 compute nodes using an extra flag "os=centos53computeA" in the "-l" argument, i.e.
 -l nodes=2:ppn=8,walltime=1:00:00,os=centos53computeA

To make your .bashrc work for both versions of CentOS during the transition, check out the example .bashrc on the wiki page http://wiki.scinet.utoronto.ca/wiki/index.php/Important_.bashrc_guidelines on how to distiguish the two OSes.

Modules

Note that most modules that were available under the CentOS 5 are available with CentOS 6, but often their version numbers have changed. Use "module avail" or "/scinet/gpc/bin6/modulefind" on the centos6 devel nodes to see what module are available, or check the wiki page http://wiki.scinet.utoronto.ca/wiki/index.php/Software_and_Libraries. Let us know if there is anything that is not working as it should, or if there are modules that you need which are missing.

Known issues

Modules not found

If modules that you used to load on CentOS 5 no longer load on CentOS 6, it is likely because you are loading the modules with their full name, including the version number. Since all software modules had to be rebuilt for centOS 6, we took the opportunity to upgrade them, so version numbers will have changed.

You can see what modules are installed with module avail [start-of-a-modulename] or modulefind [part-of-a-modulename].

Note that this does not affect you if you loaded the modules by their short name, i.e., module load gcc.

Module command failing --- resolved

There is an issue with the module command which causes it to fail if to many modules are loaded in one line. The module command has been upgraded and this should no longer be an issue.

A workaround was to split a single long module load line in your .bashrc file into multiple commands.

ie replace

   module load openmpi gcc extras python gnuplot

with

   module load openmpi gcc
   module load extras python
   module load gnuplot

The newest version of the module command has been installed and should not see these issues anymore, but let us know if you experience other difficulties.

External packages Python 2.7.1 -- resolved, use 2.7.2

Some external packages (matplotlib, cython) for the current default python (2.7.1) did not survive the transition to CentOS 6. A new python has been built, 2.7.2, which is now the default.

Screen command missing -- resolved

In the new OS setup, the 'screen' command is placed in the module 'extras'.

 module load extras

will make it available to you again.


CentOS 5 Phase-out

Only 84 ethernet and 32 infiniband CentOS 5 nodes are still available, and will be phased out by mid-January at the latest.