We have a fairly standard Linux (CentOS) cluster which uses Rocks. At the moment our software is all stored on a separate NFS file server in a
/packages directory, and then that directory is mounted (using NIS/411) on the Rocks cluster.
I'm fairly new to the whole sysadmin thing, but a couple of questions;
1) Is this a reasonable way to store and run software? Will running of a mounted NTFs server cause any kind of latency slowdown (as opposed to having it installed directly on the headnode/frontend node) or is it basically irrelevant - either way, from the nodes's point of view, we're mounting over a network?
2) I feel like there's a risk of causing issues with shared libraries by mounting software installed remotely. Both the NTFs server and cluster run CentOS, but different versions (
CentOS release 5.6 (Final) for the cluster and
CentOS release 6.2 (Final) for the NFS server). There is a mounted
/lib folder in
/packages which contains some shared objects, but surely there are massive shared library dependencies which this doesn't deal with?
Right now everything works and runs fine for what we want, so I'm loathed to change anything, but for future software installations should I be installing stuff directly to the headnode via Rocks, as opposed to the NTFs server?
3) Following on from this, some older software versions in this
/packages folder (which aren't used anymore) display shared object errors on both the NTFs server and the cluster. For example, one package displays errors on both, but, upsettingly, different shared object errors (
libfftw3f.so.3 on the cluster and NTFs server respectivly) with
error while loading shared libraries: [filename].so.3: cannot open shared object file: No such file or directory
Is there any way to figure out where these binaries expect the shared objects to be, or do these need to be recompiled with appropriate objects linked in?