1) Instalación del sistema operativo scientific Linux 5.1 (ó Versión más actual)
2) Configuración NFS
2.1.- Configuración Paso a paso NFS en el Nodo Server
192.168.1.1 beowulf01 beowulf01.ccpdcluster.ciens.ucv.ve
192.168.1.2 beowulf02 beowulf02.ccpdcluster.ciens.ucv.ve
192.168.1.3 beowulf03 beowulf03.ccpdcluster.ciens.ucv.ve
192.168.1.4 beowulf04 beowulf04.ccpdcluster.ciens.ucv.ve
192.168.1.5 beowulf05 beowulf05.ccpdcluster.ciens.ucv.ve
192.168.1.6 beowulf06 beowulf06.ccpdcluster.ciens.ucv.ve
192.168.1.7 beowulf07 beowulf07.ccpdcluster.ciens.ucv.ve
192.168.1.8 beowulf08 beowulf08.ccpdcluster.ciens.ucv.ve
Nota: En los hosts esclavos hay que dejar
127.0.0.1 localhost
- Editar el archivo /etc/hosts agregando (esto se hace en todos los nodos):
192.168.1.1 beowulf01 beowulf01.ccpdcluster.ciens.ucv.ve
192.168.1.2 beowulf02 beowulf02.ccpdcluster.ciens.ucv.ve
192.168.1.3 beowulf03 beowulf03.ccpdcluster.ciens.ucv.ve
192.168.1.4 beowulf04 beowulf04.ccpdcluster.ciens.ucv.ve
192.168.1.5 beowulf05 beowulf05.ccpdcluster.ciens.ucv.ve
192.168.1.6 beowulf06 beowulf06.ccpdcluster.ciens.ucv.ve
192.168.1.7 beowulf07 beowulf07.ccpdcluster.ciens.ucv.ve
192.168.1.8 beowulf08 beowulf08.ccpdcluster.ciens.ucv.ve
Nota: En los hosts esclavos hay que dejar
127.0.0.1 localhost
2. Editar el archivo /etc/exports agregando
/home 192.168.1.1/255.255.0.0(rw,sync,no_root_squash)
/usr/local/ 192.168.1.1/255.255.0.0(rw,sync,no_root_squash)
3. Ejecutamos:
exportfs -ra
4. Detener el firewall
service iptables stop
5. O agregamos una entrada al firewall
iptables -A INPUT -p tcp --dport 32771, 111 and 2049 -j ACCEPT
6.Reiniciamos el servicio
service nfs restart
7. Para que el servicio se inicie siempre luego de reiniciar ejecutamos:
chkconfig nfs on
8. Para que iptables no se levante
chkconfig iptalbes off
6.Reiniciamos el servicio
service nfs restart
7. Para que el servicio se inicie siempre luego de reiniciar ejecutamos:
chkconfig nfs on
8. Para que iptables no se levante
chkconfig iptalbes off
2.2.- Configuracion Paso a Paso NFS en los Nodos Clients
1. Editar el arhivo /etc/fstab agregando:
192.168.1.1:/usr/local/ /usr/local/ nfs defaults 0 0
192.168.1.1:/home /home nfs defaults 0 0
2. Ejecutar:
mount -t nfs -a
3.Reiniciamos el servicio
service nfs restart
debian: /etc/init.d/portmap restart
/etc/init.d/nfs-common restart
4. Para que el servicio se inicie siempre luego de reiniciar ejecutamos:
chkconfig nfs on
Nota: Para verificar que NFS esta funcionando creamos una carpeta en /home y vemos que este replicada en todos los nodos.
Nota2: Para reiniciar shutdown-r now
links:
http://tldp.org/HOWTO/NFS-HOWTO/server.html
http://www.linuxconfig.org/HowTo_configure_NFS
http://www.angelfire.com/linux/linuxclusters/nfs.htm
http://www.ubuntugeek.com/nfs-server-and-client-configuration-in-ubuntu.html
Nota: Tuvimos problemas para conectar los esclavos al nodo maestro, el problema era que el firewall bloqueaba las peticiones de los esclavos.
http://bbs.archlinux.org/viewtopic.php?id=41761 -> aquí hablan sobre el error que había
http://www.linuxquestions.org/questions/linux-networking-3/nfs-server-client-cannot-mount-remote-file-system-136327/
3) Configuración de NIS
NOTA: To start NIS services at bootup time run
ntsysv
3.1.- Configuracion Paso a Paso de NIS en el Nodo Server
1. Indicar el NIS DOMAIN NAME
nisdomainname ccpdcluster.ciens.ucv.ve
2. Editar el archivo /etc/sysconfig/network agregando:
NISDOMAIN="ccpdcluster.ciens.ucv.ve"
3. Reiniciar la interfaz de red
service network restart
4. Asegurarme que portmapper este corriendo con:
rpcinfo -p localhost
5. Creamos el archivo en /var/yp/ que se llame securenets agregando:
255.0.0.0 127.0.0.0
255.255.255.0 192.168.1.0
6. Descargar el paquete RPM ypserv desde aca:
http://dir.filewatcher.com/d/RedHat/9/i386/System%20Environment/Daemons/ypserv-2.6-2.i386.rpm.119917.html
7. Instalamos el paquete:
rpm -ivh ypserv-2.6-2.i386.rpm
8. Editamos el archivo /etc/yp.conf agregamos:
ypserv 127.0.0.1
9. Inicializamos los servicios:
service yppasswdd start
service ypserv start
chkconfig yppasswdd on
chkconfig ypserv on
9. Ejecutamos:
/usr/lib/yp/ypinit -m
y agregamos cada uno de los host.
3.2.- Configuracion Paso a Paso de NIS en los Nodos Clients
1. Indicar el NIS DOMAIN NAME
nisdomainname ccpdcluster.ciens.ucv.ve
2. Editar el archivo /etc/sysconfig/network agregando:
NISDOMAIN="ccpdcluster.ciens.ucv.ve"
3. Reiniciar la interfaz de red
service network restart
4. Editamos el archivo /etc/yp.conf agregamos:
domain ccpdcluster.ciens.ucv.ve server 192.168.1.1
5. Iniciamos el servicio
service ypbind start
chkconfig ypbind on
6. Verificamos que este corriendo:
rpcinfo -u localhost ypbind
7. Creamos el archivo hosts.conf en /etc y agregamos
order hosts, nis, bind
8. Editamos el archivo /etc/nsswitch.conf
passwd: files nis
shadow: files nis
group: files nis
hosts: files dns
netgroup: files nis
automount: files nis
aliases: files nis
Nota: Para crear un usuario ejecutamos en modo root:
1. useradd -m -s /bin/bash -d /home/nuevo nuevo
2. passwd nombre
3. cd /var/yp/
3.1.- Configuracion Paso a Paso de NIS en el Nodo Server
1. Indicar el NIS DOMAIN NAME
nisdomainname ccpdcluster.ciens.ucv.ve
2. Editar el archivo /etc/sysconfig/network agregando:
NISDOMAIN="ccpdcluster.ciens.ucv.ve"
3. Reiniciar la interfaz de red
service network restart
4. Asegurarme que portmapper este corriendo con:
rpcinfo -p localhost
5. Creamos el archivo en /var/yp/ que se llame securenets agregando:
255.0.0.0 127.0.0.0
255.255.255.0 192.168.1.0
6. Descargar el paquete RPM ypserv desde aca:
http://dir.filewatcher.com/d/RedHat/9/i386/System%20Environment/Daemons/ypserv-2.6-2.i386.rpm.119917.html
7. Instalamos el paquete:
rpm -ivh ypserv-2.6-2.i386.rpm
8. Editamos el archivo /etc/yp.conf agregamos:
ypserv 127.0.0.1
9. Inicializamos los servicios:
service yppasswdd start
service ypserv start
chkconfig yppasswdd on
chkconfig ypserv on
9. Ejecutamos:
/usr/lib/yp/ypinit -m
y agregamos cada uno de los host.
3.2.- Configuracion Paso a Paso de NIS en los Nodos Clients
1. Indicar el NIS DOMAIN NAME
nisdomainname ccpdcluster.ciens.ucv.ve
2. Editar el archivo /etc/sysconfig/network agregando:
NISDOMAIN="ccpdcluster.ciens.ucv.ve"
3. Reiniciar la interfaz de red
service network restart
4. Editamos el archivo /etc/yp.conf agregamos:
domain ccpdcluster.ciens.ucv.ve server 192.168.1.1
5. Iniciamos el servicio
service ypbind start
chkconfig ypbind on
6. Verificamos que este corriendo:
rpcinfo -u localhost ypbind
7. Creamos el archivo hosts.conf en /etc y agregamos
order hosts, nis, bind
8. Editamos el archivo /etc/nsswitch.conf
passwd: files nis
shadow: files nis
group: files nis
hosts: files dns
netgroup: files nis
automount: files nis
aliases: files nis
Nota: Para crear un usuario ejecutamos en modo root:
1. useradd -m -s /bin/bash -d /home/nuevo nuevo
2. passwd nombre
3. cd /var/yp/
4. make
5. service ypserv restart
links:
http://www.linux-nis.org/
http://coewww.rutgers.edu/www1/linuxclass2003/lessons/lecture5.html
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch30_:_Configuring_NIS
http://www.freelab.net/unix/hp-ux/chap11_nis.html
http://linuxhelp.blogspot.com/2005/06/nis-client-and-server-configuration.html
http://penguin.triumf.ca/recipes/nis-auto/
http://www.angelfire.com/linux/linuxclusters/nis.htm
PAQUETES RPM
4) Configuracion de rsh-server en los nodos (si vamos a utlizar rsh)
1. Descargar los siguientes rpm's desde la siguiente pagina:
ftp://ftp.scientificlinux.org/disk/disk4/linux/scientific/46/i386/SL/RPMS/ncurses4-5.0-12.i386.rpm
http://ftp.scientificlinux.org/linux/scientific/40/i386/errata/SL/RPMS/repodata/repoview/rsh-0-0.17-25.3.html
2. Para copiar el paquete en los otros nodos ejecutamos:
scp ncurses4-5.0-12.i386.rpm <nombredelnodo>:
scp rsh-server-0.17-24.1.i386.rpm <nombredelnodo>:
scp rsh-0.17-25.3.i386.rpm <nombredelnodo>:
3. Lo instalamos con:
rpm -ivh ncurses4-5.0-12.i386.rpm
rpm -ivh rsh-server-0.17-24.1.i386.rpm
rpm -ivh rsh-0.17-25.3.i386.rpm
4. Si hay conflictos eliminar con el comando
rpm -e rsh-0.17-25.4
5. Agregar 'rsh' and 'rlogin' a /etc/securetty
6. Añadir todas las IPs a /root/.rhosts, y hacemos chmod 600 /root/.rhosts y lo añadimos a la carpeta /etc/skel
7. Setear "disable = no" in /etc/xinetd.d/rsh y /etc/xinetd.d/rlogin
8. Ejecutamos:
chkconfig xinetd on
5. service ypserv restart
links:
http://www.linux-nis.org/
http://coewww.rutgers.edu/www1/linuxclass2003/lessons/lecture5.html
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch30_:_Configuring_NIS
http://www.freelab.net/unix/hp-ux/chap11_nis.html
http://linuxhelp.blogspot.com/2005/06/nis-client-and-server-configuration.html
http://penguin.triumf.ca/recipes/nis-auto/
http://www.angelfire.com/linux/linuxclusters/nis.htm
PAQUETES RPM
4) Configuracion de rsh-server en los nodos (si vamos a utlizar rsh)
1. Descargar los siguientes rpm's desde la siguiente pagina:
ftp://ftp.scientificlinux.org/disk/disk4/linux/scientific/46/i386/SL/RPMS/ncurses4-5.0-12.i386.rpm
http://ftp.scientificlinux.org/linux/scientific/40/i386/errata/SL/RPMS/repodata/repoview/rsh-0-0.17-25.3.html
2. Para copiar el paquete en los otros nodos ejecutamos:
scp ncurses4-5.0-12.i386.rpm <nombredelnodo>:
scp rsh-server-0.17-24.1.i386.rpm <nombredelnodo>:
scp rsh-0.17-25.3.i386.rpm <nombredelnodo>:
3. Lo instalamos con:
rpm -ivh ncurses4-5.0-12.i386.rpm
rpm -ivh rsh-server-0.17-24.1.i386.rpm
rpm -ivh rsh-0.17-25.3.i386.rpm
4. Si hay conflictos eliminar con el comando
rpm -e rsh-0.17-25.4
5. Agregar 'rsh' and 'rlogin' a /etc/securetty
6. Añadir todas las IPs a /root/.rhosts, y hacemos chmod 600 /root/.rhosts y lo añadimos a la carpeta /etc/skel
7. Setear "disable = no" in /etc/xinetd.d/rsh y /etc/xinetd.d/rlogin
8. Ejecutamos:
chkconfig xinetd on
9. Ejecutamos:
/etc/init.d/xinetd restart
links:
http://www.cygwin.com/ml/cygwin/2005-08/msg00382.html
http://seriss.com/rush-current/misc/rsh-config.html
http://ubuntuforums.org/showthread.php?t=276769
5) Configurar SSH en todos los nodos para que no pidan contraseña:
1. Creamos una carpeta que se llame .ssh en /etc/skel
mkdir .ssh
cd .ssh
2. Ejecutamos:
ssh-keygen -t rsa -f id_rsa
3. Nos va a pedir que introduzcamos una palabra la dejamos en blanco.
4. Copiamos.
cat id_rsa.pub >> authorized_keys
5. Por ultimo:
chmod 600 *
links:
http://www.fisica.unam.mx/ifunam_espanol/clusters/ollin_manual.php
http://celtha.blogspot.com/2008/08/coenxin-mediante-ssh-sin-password.html
6) Configurar MPICH
1. Descomprimir el archivo comprimido con:
tar xvzf mpich2-<version>.tar
2. Creamos una carpeta para mpich:
mkdir mpich2
3. Nos metemos dentro de la carpeta y ejecutamos:
./configure --prefix=/usr/local/mpich2
4. Ejecutamos
Make
Make install
5. Creamos el archivo mpd.hosts en la carpeta /etc/skel y añadimos:
node01
...
nodeNN
6. Creamos el archivo .mpd.conf (solo con permiso 600) en la carpeta /etc/skel y añadimos:
MPD_SECRET=cluster
MPD_PORT_RANGE=55000:56000
7. Setear las variables de entorno
source .bash
source .profile
8. Editamos el archivo /usr/local/mpich2/bin/mpdboot cambiando: (solo si estamos usando rsh)
rshCmd = 'ssh' por rshCmd = 'rsh'
9. Para probar mpich:
a) Levantamos el proceso mpd:
mpd&
b) Ejectumos:
/etc/init.d/xinetd restart
links:
http://www.cygwin.com/ml/cygwin/2005-08/msg00382.html
http://seriss.com/rush-current/misc/rsh-config.html
http://ubuntuforums.org/showthread.php?t=276769
5) Configurar SSH en todos los nodos para que no pidan contraseña:
1. Creamos una carpeta que se llame .ssh en /etc/skel
mkdir .ssh
cd .ssh
2. Ejecutamos:
ssh-keygen -t rsa -f id_rsa
3. Nos va a pedir que introduzcamos una palabra la dejamos en blanco.
4. Copiamos.
cat id_rsa.pub >> authorized_keys
5. Por ultimo:
chmod 600 *
links:
http://www.fisica.unam.mx/ifunam_espanol/clusters/ollin_manual.php
http://celtha.blogspot.com/2008/08/coenxin-mediante-ssh-sin-password.html
6) Configurar MPICH
1. Descomprimir el archivo comprimido con:
tar xvzf mpich2-<version>.tar
2. Creamos una carpeta para mpich:
mkdir mpich2
3. Nos metemos dentro de la carpeta y ejecutamos:
./configure --prefix=/usr/local/mpich2
4. Ejecutamos
Make
Make install
5. Creamos el archivo mpd.hosts en la carpeta /etc/skel y añadimos:
node01
...
nodeNN
6. Creamos el archivo .mpd.conf (solo con permiso 600) en la carpeta /etc/skel y añadimos:
MPD_SECRET=cluster
MPD_PORT_RANGE=55000:56000
7. Setear las variables de entorno
source .bash
source .profile
8. Editamos el archivo /usr/local/mpich2/bin/mpdboot cambiando: (solo si estamos usando rsh)
rshCmd = 'ssh' por rshCmd = 'rsh'
9. Para probar mpich:
a) Levantamos el proceso mpd:
mpd&
b) Ejectumos:
mpdboot -n <nro_nodos>
c) Para verificar si los nodos estan activos:
mpdtrace
d) Para bajar todos los nodos
mpdallexit
e) Para compilar:
mpicc prog.c -o prog
f) Para ejecutar:
mpirun -n 6 ./prog