Configuração Cluster Linux

Após instalar o Ubuntu em todos os computadores, é preciso configurá-los individualmente. Essa configuração depende muito da topologia de rede do cluster, como apresentado na configuração de rede do Windows CCS.
Neste guia abordaremos uma das configurações mais comuns, que é de um computador front-end com 2 placas de rede: uma ligada à sub-rede dedicada do cluster, e outra à rede externa (com acesso a Internet). Os nós de computação possuem apenas uma placa de rede, e estão interligados por um switch.
Essa é a mesma configuração que foi utilizada no Windows CCS.

Para isso, vamos realizar os seguintes passos:

1 - Configurar Rede

  • Adaptadores de Rede:
    Será preciso primeiramente configurar os adaptadores de rede das máquinas. Isto pode ser feito no arquivo /etc/network/interfaces.
  • Acesso Remoto:
    A fim de facilitar o trabalho e permitir acesso remoto aos nós do cluster, é preciso instalar e configurar também o ssh (secure shell). É preciso instalar o servidor em todos os nós, para poder acessá-los. Caso seja desejável acessar um nó de computação através de outro, pode-se instalar também o cliente ssh neles.

    Para facilitar o acesso aos nós, é possível configurar o ssh para permitir o acesso sem senha. (link: http://www.cs.umd.edu/~arun/misc/ssh.html)
  • Acesso externo:
    Caso seja desejável que os nós de computação tenham acesso à internet, será preciso configurar o front-end como gateway. Isto pode ser feito seguindo os passos descritos aqui: http://www.revsys.com/writings/quicktips/nat.html

2 - Atualizar Máquinas (configurar repositorio, etc)

Por padrão, após instalar o Ubuntu através de um CD, o repositório dele é configurado como o próprio CD de instalação. Será preciso atualizar o sistema, e para isso, mudar a fonte do repositório de pacotes. Isto pode ser feito no arquivo /etc/apt/sources.list, que deve ser editado manualmente. As linhas que iniciam por sustenido (#) são comentários; para mudar a fonte do repositório, delete, ou acrescente um sustenido na primeira linha que não é comentário.
Depois de modificar o arquivo que indica o repositório padrão de pacotes do Ubuntu, basta digitar
sudo apt-get update
sudo apt-get upgrade

Isto irá sincronizar sua lista de pacotes com as mais recentes disponíveis na internet e atualizar o sistema automaticamente.

3 - Instalar NFS

O NFS (Network File System) permite acessar diretórios através da rede como se estivessem localizados na sua própria máquina. Isto é extremamente útil em um ambiente de cluster, pois é possível centralizar os arquivos e o acesso a eles num único servidor.
Primeiramente será preciso instalar o servidor NFS (preferencialmente no front-end). Isto pode ser feito digitando o comando abaixo:
sudo apt-get install nfs-kernel-server

Isto irá instalar o servidor NFS no front-end, mas ainda é preciso configurá-lo.
Primeiramente será preciso criar um diretorio, que sera compartilhado nas outras máquinas. Isto pode ser feito com o comando abaixo.
sudo mkdir /share

Apos criar o diretorio, sera preciso editar o arquivo /etc/exports para conter as informacoes de compartilhamento do diretorio. Pode-se editar o arquivo manualmente com um editor de texto, ou simplesmente digitar o comando abaixo:
sudo echo  /share *(rw,sync) >> /etc/exports

4 - Montando os diretorios nos clientes

Para acessar o diretório compartilhado através do NFS, é preciso primeiramente instalar o NFS nos clientes.
sudo apt-get install nfs-common portmap

Em seguida, deve-se digitar os comandos abaixo em cada um dos nós, substituindo nodeX pelo hostname ou IP do cliente:
sudo mkdir /share
sudo mount nodeX:/share /share

Após realizar esses passos, o diretorio /share, localizado no servidor, estará compartilhado entre todos os nós clientes.
Se desejável, pode-se também alterar o arquivo /etc/fstab para toda vez que os nós forem reiniciados, os diretórios estejam compartilhados.
sudo echo nodeX:/share	/share	nfs	rw,sync	0	0 >> /etc/fstab

5 - Adicionando um usuário para executar os programas MPI

Caso nenhuma ferramenta para gerenciar usuários seja utilizada (como LDAP ou NIS), esses passos devem ser executados manualmente. Primeiramente eh preciso criar um usuário com mesmo UID e diretorio home /share em todas as máquinas.
sudo adduser --uid 300 mpiuser

Por fim, mudamos o dono do diretorio no servidor NFS para o usuário criado. No servidor deve-se digitar o comando abaixo:
sudo chown mpiuser /share

Referências

http://en.wikipedia.org/wiki/Network_File_System_(protocol)
http://en.wikipedia.org/wiki/Fstab
https://help.ubuntu.com/community/MPICHCluster
http://www.revsys.com/writings/quicktips/nat.html
http://www.cs.umd.edu/~arun/misc/ssh.html)

Last edited Sep 11, 2008 at 4:11 PM by dfconrad, version 1

Comments

No comments yet.