UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação DE CLUSTERS BEOWULF NOTAS DIDÁTICAS



Documentos relacionados
Inicialização rápida da instalação

Inicialização Rápida da Instalação

HOW TO. Instalação do Firewall 6.1 Software

Guia de instalação UEG Linux LTS

Como instalar o sistema operacional pfsense no Citrix Xen Server

Instalação FreeBSD Inicialização do CD/DVD! Ao colocar o CD/DVD como boot principal na BIOS, aparecerá a seguinte tela:

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores

Manual de Instalação Linux Comunicações - Servidor. Centro de Computação Científica e Software Livre - C3SL

INSTALANDO O WINDOWS SERVER 2008

Gerenciamento de Redes de Computadores. Pfsense Introdução e Instalação

Aloque 1024 MB de RAM para a VM. Crie um novo disco virtual. Figura 03. Figura 04.

Curso de extensão em Administração de redes com GNU/Linux

UM PBX GENUINAMENTE BRASILEIRO

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

Inicialização Rápida da Instalação

Conteúdo 1 Comandos Básicos. Questão 1: Que comando permite encerrar o sistema definitivamente?

Aula 2 Servidor DHCP. 2.1 dhcp

INSTALANDO SISTEMA PFSENSE COMO FIREWALL/PROXY

INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS

03/11/2011. Apresentação. SA do Linux. Sistemas de Arquivos. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux

UM PBX GENUINAMENTE BRASILEIRO MANUAL DE INSTALAÇÃO COM IMAGEM ISO

INSTALANDO SQL SERVER 2008

STK (Start Kit DARUMA) Conectando-se diretamente a sua aplicação via TS com o MT1000 Daruma

Processamento Distribuído em Cluster do Tipo Beowulf

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

Virtual Box. Guia. Instalação E Utilização. Criado por Wancleber Vieira wancleber.vieira@ibest.com.br

Passo a passo para instalação de um Servidor SSH

STK (Start Kit DARUMA) Driver Genérico Somente Texto para a impressora DR700 ETHERNET

Instalando o Debian em modo texto

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

Curso de Instalação e Gestão de Redes Informáticas

Online Help StruxureWare Data Center Expert

Laboratório Verificando Configurações de VLANs.

CONFIGURAÇÃO MINIMA EXIGIDA:

Usando o Conjunto de Discos de Recuperação do Windows 8

CSAU Guia: Manual do CSAU 10.0 como implementar e utilizar.

Prof. Rossano Pablo Pinto Dezembro/2012 Versão 0.2 (em construção) Prof. Rossano Pablo Pinto - 1

Procedimentos para Reinstalação do Sisloc

Sistemas Operacionais de Rede. Configuração de Rede

Procedimentos para configuração em modo WDS

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

ManualdeInstalação. Win

Para começarmos as configurações, primeiramente vamos habilitar o DVR Veicular para o acesso. Clique em Menu e depois entre em Geral.

6 - Apresentação do Painel de Controle do software DVR-Viewer. Itens Descrição 1 Lista do DVR: Adiciona/Modifica/Apaga a lista de DVRs conectados.

Print Audit 6 - SQL Server 2005 Express Edition Installation Guide

2- Instale no seu computador o programa Installation Wizard que você encontra no CD da câmera ou no site

Tutorial de Instalação do CentOS Versão 3.3

MANUAL DE INSTALAÇÃO. LSoft Ponto Eletrônico

Como criar máquinas virtuais no VMware ESXi

Roteiro 3: Sistemas Linux arquivos e diretórios

Secure Client. Manual do Usuário. IPNv2. Secure Client IPNv2

Utilizando subversion como controle de versão

Manual de Instalação e Configuração MySQL

TUTORIAL DE INSTALAÇÃO DO PFSENSE E UMA REDE INTERNA NO VIRTUALBOX

Manual de Instalação Flex

Instalando e Configurando o DNS Server

Secure Client. Manual do Usuário. Versão 6.2. Procedimento para Instalação e configuração do Secure Client 6.1. Secure Client versão 6.

Manual de Instalação

Sophos SafeGuard Enterprise

Backup Exec 2014: Guia de Atualização

INTRODUÇÃO AO SISTEMA

Aula 01 Visão Geral do Linux

Manual de instalação. Manual de instalação. Liberdade. Liberdade. Versão /10/2002. Versão /10/2002

Instrução de acesso ao DVR da Yoko Modelo RYK925x Via Software.

Gateway TT211S/S+/O/O+/SO/SO+

Partição Partição primária: Partição estendida: Discos básicos e dinâmicos

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

UFBA Universidade Federal da Bahia CPD Central de Processamento de Dados. Rede VPN UFBA. Procedimento para configuração

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

Token SafeNet Authentication Cliente 8.3 (x32 e x64)

Inicialização rápida da instalação SUSE Linux Enterprise Server 11

ESET Remote Administrator ESET EndPoint Solutions ESET Remote Adminstrator Workgroup Script de Logon

Redes de Computadores

Linux Network Servers

Manual de Instalação LOCKSS IBICT Instituto Brasileiro de Informação em Ciência e Tecnologia

HOW TO Procedimento para instalar Aker Firewall virtualizado no ESXi 5.0

Configurando um servidor DHCP

INSTALANDO O UBUNTU PELA IMAGEM ISO OU LIVE-USB DA UFV PASSO-A-PASSO.

Instalação e Operação dos Aplicativos Serie 5000/6000

Revisão Aula Explique a MBR(Master Boot Record)

Guia Rápido de Instalação Ilustrado

Linux Caixa Mágica. Documentos Técnicos CM. Instalação por PXE Boot. Date: Pages: Issue: State: Access: Reference:

Operador de Computador. Informática Básica

INSTALAÇÃO DO SUSE LINUX ENT. DESKTOP 10

Atualizaça o do Maker

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Manual de Instalação PIMSConnector em Windows

Kaseya 2. Dados de exibição rápida. Version R8. Português

É o UniNorte facilitando a vida de nossos docentes e discentes.

O que é uma rede de computadores?

AULA 6: SERVIDOR DNS EM WINDOWS SERVER

Tutorial para Instalação do Ubuntu Server 10.04

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

Transcrição:

UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação ISSN - 0103-2585 INSTALAÇÃO E CONFIGURAÇÃO DE CLUSTERS BEOWULF Felipe Sarmanho Júlio Cézar Estrella Paulo Sérgio Lopes de Souza Marcos José Santana Regina Helena Carlucci Santana Guilherme Mundim Torres N ō 71 NOTAS DIDÁTICAS São Carlos Jun/2007

Instalação e Configuração de Clusters Beowulf Felipe Sarmanho 1 Júlio Cézar Estrella 1 Paulo Sérgio Lopes de Souza 1 Marcos José Santana 1 Regina Helena Carlucci Santana 1 Guilherme Mundim Torres 2 1 Departamento de Sistemas de Computação Grupo de Sistemas Distribuídos e Programação Concorrente Universidade de São Paulo - Instituto de Ciências Matemáticas e de Computação {sarmanho, jcezar, pssouza, mjs, rcs}@icmc.usp.br http://lasdpc.icmc.usp.br 2 Seção Técnica de Informática Universidade de São Paulo - Instituto de Ciências Matemáticas e de Computação gtorres@icmc.usp.br http://www.icmc.usp.br/~sti/ Resumo Este documento descreve pragmaticamente os passos necessários para a instalação e configuração do software básico (sistema operacional e pacotes de desenvolvimento) de um Cluster Beowulf. Tal documento foi produzido com base na experiência dos autores na construção de um Cluster para o curso de Engenharia de Computação da USP-São Carlos no primeiro semestre do ano de 2007. O Cluster está sendo utilizado para o aprendizado de programação concorrente e paralela pelos alunos do curso de Engenharia de Computação e também sendo utilizando no desenvolvimento de pesquisas realizadas pelo Grupo de Sistemas Distribuídos e Programação Concorrente. O objetivo deste documento será mostrar de forma pragmática as etapas para a implementação de um Cluster utilizando a distribuição Linux OpenSuSE 10.0. Serão abordados a configuração de um Cluster com disco e posteriormente a configuração de um Cluster Diskless (sem disco). Em seguida será demonstrado a utilização do recurso Ramdisk a fim de complementar a instalação do Cluster Diskless proposto. Para finalizar, são descritos aspectos básicos da instalação do PVM e MPI nas versões de Custers propostos.

1 Introdução Um cluster é um sistema que compreende um aglomerado de computadores ou sistemas (denominados nós) na qual trabalham em conjunto para executar aplicações ou realizar outras tarefas. O objetivo é que os usuários que os utilizam tenham a impressão de que somente um único sistema respondam para eles, criando assim uma ilusão de um recurso único de processamento (computador virtual). No âmbito da programação paralela, os Clusters são definidos como um tipo especial de multicomputadores. (grama) A utilização da tecnologia de Clusters com computadores pessoais foi motivada pelo alto preço dos supercomputadores, começando em 1994 com o desenvolvimento do Cluster Beowulf pela NASA [7]. Dentre as principais características de um Cluster Beowulf destacam-se: 1. A construção é baseada em computadores de uso geral (isto é, desktops, inclusive obsoletos); 2. Uso do Linux como sistema operacional; 3. Utilização de bibliotecas de livre distribuição para troca de mensagens; 4. Existe um servidor responsável por controlar todo o Cluster, principalmente quanto a distribuição de tarefas e processamento (pode haver mais de um servidor, dedicado a tarefas específicas, como monitoração de falhas). Este servidor é chamado de front-end, ou nó mestre. Um Cluster pode possuir vários tipos de configurações diferentes, tanto na montagem do hardware quanto na configuração do sistema. Os tipos mais comuns de Clusters Linux são [5]: Cluster para Alta Disponibilidade: Quando se fala de disponibilidade, fala-se do tempo em que determinado sistema permanece ativo e em condições de uso. A alta disponibilidade se refere a sistemas que praticamente não param de funcionar. Existem Clusters deste tipo usados em aplicações de missão crítica. Tal tipo costuma ter meios eficientes de proteção e de detecção de falhas; Cluster para Balanceamento de Carga: Balanceamento de Carga se refere à distribuição equilibrada de processamento aos nós do Cluster. É muito usado na Internet, em servidores de e-mail, comércio eletrônico. Este modelo distribui o tráfego entrante ou requisições de recursos provenientes dos nós que executam os mesmos programas entre as máquinas que compõem o Cluster. Todos os nós são responsáveis por controlar os pedidos. Caso um nó falhe, as requisições são redistribuídas entre os nós disponíveis no momento. Cluster Combo: Este tipo combina as características dos Clusters de alta disponibilidade e de Balanceamento de Carga. Cluster MOSIX: MOSIX é a sigla para Multicomputer Operating System for UnIX. Trata-se de um conjunto de ferramentas de Cluster para Linux, voltado ao tipo Balanceamento de Carga. Uma de suas principais características é a não necessidade de aplicações e recursos de software voltados ao

Cluster, como acontece com o Beowulf. O MOSIX é eficiente na tarefa de distribuição dinâmica de processamento entre os computadores do Cluster. Esse tipo, assim como o Beowulf, é muito utilizado por universidades em pesquisas e projetos. Os Clusters podem ser usados para uma diversidade de aplicações. Algums destas são listada abaixo: Previsão meteorológica; Simulações geotérmicas; Renderização de efeitos especiais; Simulações financeiras; Distribuição de carga. Aplicações que não podem parar de funcionar ou não podem perder dados (sistemas bancários, sistemas de bolsas de valores), podem utilizar as tecnologias de Cluster. Para isso, configurações importantes devem ser realizadas, de modo que o Cluster não fique sujeito a falhas graves. Por isso, o Cluster deve contar com nobreaks ou geradores que garantam o funcionamento do sistema mesmo nos casos de queda de energia, além de meios de manutenção e detecção de falhas eficientes. Foram abordados os tipos de cluster e a utilização de cada um deles. No entanto, o entendimento de uma outra classificação se faz necessário para o leitor que deseja utilizar este material com o intuito da configuração de um Cluster Beowulf. Os Clusters Beowulf podem ser classificados em: Homogêneos e Heterogêneos quanto a classificação de hardware. Cluster Homogêneo: Os componentes de hardware são idênticos para cada nó do cluster, incluindo o nó mestre. Para os componentes destacam-se: memória, processador, placas de rede, placa mãe, hard disk Cluster Heterogêneo: Os componentes de hardware são diferentes na composição de cada nó. Neste caso, podemos ter um cluster com maquinas totalmente distintas quanto ao poder de processamento computacional. 2 Preparação do Ambiente A instalação de um Cluster Beowulf envolve vários passos, para que tanto o hardware quanto o software sejam configurados adequadamente. São abordados a seguir, apenas os aspectos de software para implementar o Cluster Cluster. Quanto ao hardware, citaremos somente as configurações dos equipamentos utilizados e não abordaremos a instalação física do mesmo neste documento. Ou seja, ao utilizar este material pressupõe-se que o leitor tenha a estrutura física devidamente implementada (swtich, cabos de rede, nobreak, sala adequada para alocar o Cluster, etc). O Cluster que motivou a produção deste material é classificado como homogêneo e possui a configuração de hardware listada na tabela 1.

Sistema Operacional Linux OpenSuse 10.0 Número de Máquinas (nós) 1 5 Processadores (por nó) I ntel Pentium 4 HT 64 Bits 3.4 GB Placa Mãe) I ntel Memória (por nó) 4 GB Hard Disk (por nó) 1 60 GB Placa de Rede (por nó) Gigabit Ethernet Switch DLink Bibliotecas para troca de mensagens PVM e OpenMPI Tabela 1. Informações de software e hardware para a configuração do Cluster Antes de iniciar a instalação do Cluster é interessante definir se o Cluster terá acesso à Internet (ou à rede local), ou se será isolado. No caso de o Cluster ter acesso à Internet ou à rede local, é comum que o nó mestre tenha duas placas de rede (Figura 1). Uma placa de rede será utilizada para a comunicação com os outros nós do Cluster e a outra para que seja possível que o Cluster seja acessado remotamente. No entanto, caso o Cluster esteja isolado, apenas uma placa de rede é suficiente (Figura 2). No caso do Cluster tratado neste material é importante lembrar que Não haverá acesso à Internet. Sendo assim, não há preocupação com alguma configuração mínima de Firewall. Ressaltamos que se a intenção do leitor é a implantação de um Cluster com acesso à Internet, recomenda-se fortemente a configuração de um Firewall no nó mestre, ou uma máquina dedicada para essa finalidade. Figura 1. Configuração lógica de um cluster com acesso à internet/lan.

Figura 2. Configuração lógica de um cluster sem acesso à internet/lan. Complementando as informações acima supracitadas, é essencial que algumas informações também sejam definidas: Informações de rede (rede, máscara e IP de cada nó); Padronização dos hostnames; Domínio de rede; Definir se o Cluster terá acesso à rede local ou à Internet (neste último caso, é necessário duas placas de redes para o nó mestre) Para o caso da instalação descrita neste material, serão adotadas as seguintes informações: Hostname suse00 Endereço Rede 10.1.1.0 Máscara 255.255.255.0 IP 10.1.1.100 Domínio cluster.org Tabela 2. Informações para o nó mestre Observação 1: Atenção a alguns comandos que precisam ser digitados durante a configuração do Cluster. Quando for digitar, faça a equivalência de acordo com a tabela 5: Observação 2: O Cluster configurado durante a instalação não terá acesso a Internet ou rede local, sendo assim apenas uma placa de rede será utilizada por cada nó. O texto apresentado neste documento compreende diversas seções.

Hostname suse01 Endereço Rede 10.1.1.0 Máscara 255.255.255.0 IP 10.1.1.101 Domínio cluster.org Tabela 3. Informações para o primeiro nó escravo Hostname suse02 Endereço Rede 10.1.1.0 Máscara 255.255.255.0 IP 10.1.1.102 Domínio cluster.org Tabela 4. Informações para o segundo nó escravo Caractere que aparece no texto Caractere que deve ser digitado comando comando-entre-crases comando comando-entre-aspas-simples Tabela 5. Informações para o primeiro nó escravo As seções 3 e 4 envolvem a instalação e a configuração de um Cluster com disco; As seções 5 e 6 envolvem a instalação e a configuração de um Cluster Diskless; A seção 7, por sua vez, descreve a configuração de um Cluster Beowulf com Ramdisk. E finalmente a seção 8 compreende as conclusões obtidas a partir da experiência na instalação e configuração de um Cluster Beowulf.. A escrita deste documento foi concebida com o intuito de ser um guia para iniciantes na configuração de Clusters Beowulf. Os autores não se responsabilizam por eventuais danos que porventura venham ocorrer advindos da utilização deste guia. Todo o conteúdo aqui descrito está sob a licença GNU Free Documentation License, encontrada anexada ao final do documento supracitado. Ressaltamos que o conteúdo descrito no presente material foi utilizado no Curso de Extensão (Instalação e Configuração de Clusters Beowulf) ministrado pelos autores e destina aos alunos do curso de Engenharia de Computação da USP São Carlos. Ressaltamos também que o roteiro foi repetido ao menos três vezes antes do início do curso.

Não há nenhuma garantia que o roteiro aqui descrito funcione em outra configuração, outra distribuição Linux ou outro hardware, ficando sob a responsabilidade do usuário a adaptação para seu ambiente, dos passos aqui descritos e os eventuais danos causados com a instalação e configuração do Cluster. Neste material, supõe-se que o leitor tenha conhecimentos prévios dos seguintes serviços e conceitos de redes de computadores, descritos a seguir: Administração do sistema operacional Linux, Servidor DHCP, NIS/NFS, TFTP, Boot Via Rede com PXE, SSH, PVM e MPI. Dessa forma, tais conceitos não serão abordados neste material. 3 Instalação do Cluster com Disco A característica principal de um Cluster Beowulf - com Disco é a existência de disco rígido (hard disk) em todos os nós. Desta forma todos os nós possuem seu próprio sistema de arquivos. No entanto, ainda é desejável que algum diretório seja compartilhado entre os nós, de modo a facilitar a sua operação, como, por exemplo, a distribuição do programa paralelo a ser executado pelos nós escravos. O processo de configuração pode ser dividido em duas partes: 1. Preparação nó mestre A preparação do nó mestre compreende as etapas listadas abaixo. Instalação do sistema operacional; Configuração do servidor NIS; Configuração do servidor NFS; Configuração do SSH com chaves de criptografia; Configuração dos ambientes PVM e MPI. 1. Preparação dos nós escravos A preparação do nó escravo compreende as etapas listadas abaixo. Instalação do sistema operacional; Configuração do cliente NFS; Configuração do cliente NIS; 3.1 Passo-a-passo para a instalação do nó Mestre A seguir, é apresentada uma sequência de passos para a configuração do nó mestre: Passo 1: Instalação da distribuição OpenSuSE 10.0 no nó mestre (suse00.cluster.org) A instalação do sistema operacional é realizada como se fosse feita em um Desktop qualquer. Há a inclusão de pacotes adicionais que deverão ser selecionados corretamente.

Iniciar a instalação e seguir os passos abaixo. Tela 1 Language Selecionar English (US) Tela 2 Installation Mode Selecionar New Installation Clicar OK Tela 3 License Agreement Selecionar Yes, I agree to the license agreement Tela 4 Clock and Time Zone Em Region selecionar Central and South America Em Time Zone selecionar Brazil East Em Hardware Clock Set to selecionar local time Ajustar a data/hora, caso necessário, clicando em change Tela 5 Desktop Selection Selecionar KDE Tela 6 Installation Settings Clicar em Software Remover partições existentes Buscar os seguintes pacotes e marcá-los para serem instalados: nfs-utils, yast2-nfs-client, yast2-nfs-server (NFS Server) ypserv, yast2-nis-client, yast2-nis-server (NIS Server) gcc-c++ (Compilador GCC C/C++) Clicar Check Dependencies Clicar OK Tela 7 Installation Settings

Clicar Accept Clicar Install Fornecer os CDs conforme forem pedidos. Ao final da instalação o sistema será reiniciado para que o processo de configuração continue normalmente. Tela 8 Password for the System Administrator root Entrar com a senha Repetir a senha Tela 9 Network Configuration Clicar em Firewall is enabled para desativá-lo. Clicar em Network Interfaces Selecionar a placa de rede que será utilizada para comunicar com os clientes. Clicar Edit Selecionar Static Address Setup Em IP address digitar 10.1.1.100 Em Subnet Mask digitar 255.255.255.0 Clicar Hostname and Name Server Em Hostname digitar suse00 Em Domain name digitar cluster.org Em Name Server 1 digitar 10.1.1.100 (ou ip do servidor DNS caso o no mestre tenha acesso à rede/internet) Clicar OK Clicar Routing Em Default gateway digitar 10.1.1.100 (ou ip do gateway da rede caso o no mestre tenha acesso a rede/internet) Clicar OK Clicar NEXT Clicar NEXT Tela 10 Test Internet Connection Selecionar No, skip this test

Tela 11 User Authentication Method Selecionar Local (/etc/passwd) Tela 12 New Local User Clicar Yes Tela 13 Release Notes Tela 14 Hardware Configuration Tela 15 Installation Completed Clicar FINISH O Sistema será reiniciado Logo após a reinicialização do computador, o KDE será iniciado e deve ser feito logon com o usuário root. 3.2 Passo-a-passo para a configuração do nó Mestre Passo 1: Configurar o servidor NIS (Ypbind) O servidor NIS é utilizado para facilitar a gerência das informações, tais como, usuários/senha e hostnames entre os nós do Cluster. Para configurar o NIS seguir os passos abaixo. Iniciar o Yast Selecionar Network Services Selecionar NIS Server Tela 1 Network Information Server (NIS) Server Setup Selecionar Create NIS Master Server Tela 2 Master Server Setup Em NIS Domain Name digitar nis.cluster.org Marcar a opção Allow changes to passwords Marcar a opção Allow changes to login shell

Tela 3 NIS Server Maps Setup Selecionar as seguintes opções: group, hosts, netid, passwd, rpc, services Tela 4 NIS Server Query Hosts Setup Remover a entrada referente a rede 0.0.0.0 e máscara 0.0.0.0. Clicar Add Em Netmask digitar 255.255.255.0 Em Network digitar 10.1.1.0 Clicar OK Clicar Finish Passo 2: Configurar o servidor NFS O servidor NFS, para o Cluster aqui configurado, será utilizado para compartilhar o diretório $HOME dos usuários entre os nós do Cluster, ou seja, em qualquer nó do Cluster que um determinado usuário fizer logon o conteúdo do diretório /home será o mesmo. O servidor NFS também terá compartilhado o diretório /services que conterá os arquivos binários para a execução dos ambientes de passagem de mensagem PVM e MPI ou outro serviço conforme necessário. Iniciar o YaST Selecionar Network Services Selecionar NFS Server Tela 1 NFS Server Configuration Marcar a opção Start Tela 2 Directories to Export Clicar Add directory Em Directory to export digitar /home Clicar OK Em Host Wild Card digitar 10.1.1.0/24 Em Options digitar rw,no root squash,async Clicar OK Clicar Add directory Em Directory to export digitar /services

Clicar OK Em Host Wild Card digitar 10.1.1.0/24 Em Options digitar rw, no root squash, async Clicar OK Clicar Finish Passo 3: Configurando o SSH com chaves de criptografia A configuração do SSH com chaves (pública/privada) de criptografia é necessária para que os nós possam conectar-se e interagir entre si através do programa ssh sem que a senha de autenticação seja solicitada. Esse comportamento é requerido pelos ambientes PVM e MPI para que possam iniciar os programas paralelos em todos os nós. Para criar e compartilhar as chaves de criptografia do ssh os passos abaixo devem ser seguidos. No prompt, logado como root, fazer: cd /root ssh-keygen -t dsa Aceitar o diretório de destino como ( /root/.ssh/) Deixar passphrase em branco e confirmar cd /root scp -r /root/.ssh/ root@10.1.1.101:/root/ cp -a /root/.ssh /etc/skel/ Passo 4: Configurar o PVM Fazer download do arquivo pvm3.4.5.tgz (verificar link em http://lasdpc.icmc.usp.br) e salvar em /services cd /services tar xzf pvm3.4.5.tgz Configurar a variáveis de ambiente para o PVM. Há duas opções: Primeira Opção: Criar um arquivo.bashrc no diretório $HOME de cada usuário. Isso pode ser feito criando o arquivo.bashrc no diretório /etc/skel o que fará que a partir desse momento cada usuário criado herdará esse arquivo. Editar o arquivo /etc/skel/.bashrc e adicionar o conteúdo abaixo: export PVM_ROOT=/services/pvm3 export PVM_ARCH= $PVM_ROOT/lib/pvmgetarch export PVM_RSH=/usr/bin/ssh

export PATH=$PATH:$PVM_ROOT/bin/$PVM_ARCH:\ $PVM_ROOT/lib/$PVM_ARCH:$PVM_ROOT/lib export MANPATH=$MANPATH:$PVM_ROOT/man if [! -d ~/.ssh ]; then ssh-keygen -b 1024 -t rsa -N "" cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys fi Segunda Opção: Criar um arquivo bash.bashrc.local no diretório /etc de cada nó do Cluster (mestre e escravos). Isso fará com que o bash de todos os usuários possuam essa configuração. Editar o arquivo /etc/bash.bashrc.local e adicionar o conteúdo abaixo: source /etc/profile export PVM_ROOT=/services/pvm3 export PVM_ARCH= $PVM_ROOT/lib/pvmgetarch export PVM_RSH=/usr/bin/ssh export PATH=$PATH:$PVM_ROOT/bin/$PVM_ARCH:\ $PVM_ROOT/lib/$PVM_ARCH:$PVM_ROOT/lib export MANPATH=$MANPATH:$PVM_ROOT/man Baixar o arquivo correspondente ao patch (pvm3.4.5-patch) localizado em http://lasdpc.icmc.usp.br para o diretório /services Aplicar o patch: cd /services cat pvm3.4.5-patch patch -p Responder N~ao para: "Assum -R? [n]" Responder Sim para: "Apply anyway? [s]" Editar e comentar as duas últimas linhas de /services/pvm3/src/global.h Compilar o PVM: cd /services/pvm3 make Passo 5: Instalação e Configuração do OpenMPI 1. Instalação do OpenMPI Fazer download no site http://lasdpc.icmc.usp.br e salvar em /root

Criar um subdiretório: mkdir /services/openmpi Descompactar o pacote em /root: cd /root tar -xjvf openmpi-1.1.4.tar.bz2 cd /root/openmpi-1.1-4./configure prefix=/services/openmpi make all install 2. Configuração do OpenMPI Seguindo a mesma opção utilizada para o PVM para a configuração das variáveis de ambiente, inserir no final do arquivo (/etc/skel/.bashrc ou /etc/bash.bashrc.local) o conteúdo abaixo. export LD_LIBRARY_PATH=/services/openmpi/lib export PATH=$PATH:/services/openmpi/bin export MANPATH=$MANPATH:/services/openmpi/man source /etc/profile 3.3 Passo-a-passo para a instalação dos nós Escravos Passo 1: Instalação da distribuição OpenSuSE 10.0 nos nós escravos (suse01.cluster.org) Este passo é semelhante ao realizado para o nó mestre, diferenciando somente a seleção de pacotes. No caso do cliente, não é necessário instalar o servidor de NIS e NFS. Assim neste processo, pode ser seguido o passo 1 do passo-a-passo para configuração do nó mestre diferenciando apenas as telas abaixo: Tela 6 Installation Settings Clicar em Software Buscar os seguintes pacotes e marcá-los para serem instalados: gcc-c++ (Compilador GCC C/C++) Clicar Check Dependencies Clicar OK Tela 9 Network Configuration

Clicar em Firewall is enabled para desativá-lo. Clicar em Network Interfaces Selecionar a placa de rede que será utilizada para comunicar com os clientes Clicar Edit Selecionar IP Estático Clicar Hostname and Name Server Em Hostname digitar suse01 Em Domain name digitar cluster.org Clicar OK Clicar OK Tela 10 Test Internet Connection Selecionar No, skip this test Tela 11 User Authentication Method Selecionar Local (/etc/passwd) Tela 12 New Local User Clicar Yes Tela 13 Release Notes Tela 14 Hardware Configuration Tela 15 Installation Completed Clicar FINISH O KDE será iniciado e deve ser feito login com o usuário root. 3.4 Passo-a-passo para a configuração dos nós Escravos Passo 1: Configurar o cliente NIS Iniciar o YaST Selecionar Network services Selecionar NIS Client Tela 1 Configuration of NIS client

1. Selecionar Use NIS 2. Selecionar Static Setup 3. Em NIS domain digitar nis.cluster.org 4. Em Addresses of NIS Servers digitar 10.1.1.100 5. Clicar Broadcast 6. Clicar em Find 7. Na janela que abrirá, selecionar IP do servidor (10.1.1.100) 8. Clicar OK 9. Clicar NEXT/FINISH Passo 2: Configurar o cliente NFS Iniciar o YaST Selecionar Network Services Selecionar NFS Client Tela 1 NFS Client Configuration 1. Clicar Add Em NFS Server Hostname digitar 10.1.1.100 Em Remote File System digitar /home Em Mount Point (local) digitar /home Clicar OK 2. Clicar Add Em NFS Server Hostname digitar 10.1.1.100 Em Remote File System digitar /services Em Mount Point (local) digitar /services Clicar OK Clicar Finish 4 Instalação do Cluster Diskless O Cluster Beowulf Diskless é caracterizado pela ausência de disco rígido (hard disk) nos nós escravos, isto é, apenas o nó mestre possui disco rígido e este será responsável por fornecer o sistema de arquivo necessário aos escravos. Sendo assim, cada nó escravo deverá acessar, de algum modo específico, o nó mestre para obter seu kernel e seu sistema de arquivos. O processo de configuração pode ser dividido em três partes: 1. Preparação do nó mestre: A preparação do nó mestre compreende as etapas listadas abaixo: Instalação do sistema operacional; Compilação do kernel para os escravos;

Compartilhar o kernel para os escravos; Configurar o servidor TFTP; Configurar o PXE; Configurar o servidor DHCP; Configuração do servidor NIS; Preparar o sistema de arquivos para o primeiro nó escravo; Configuração do servidor NFS; Configuração do SSH com chaves de criptografia; Configuração dos ambientes PVM e MPI. 2. Preparação do primeiro nó escravo: Configurar o cliente NFS, NIS e scripts de shutdown do primeiro nó escravo; Fazer o boot do primeiro nó escravo e concluir a configuração; 3. Preparação dos demais nós escravos: Preparar o sistema de arquivo para cada nó usando o NFS e hard link; Editar arquivos que são específicos para cada nó (ex. fstab e hostname); Adicionar entradas para o novo cliente no arquivo hosts e DHCP server do nó mestre. OBSERVAÇÃO: Antes de iniciar a instalação do Cluster Diskless, o leitor dever considerar as mesmas informações de rede utilizadas para o Cluster com disco listadas na seção 2 deste material. 4.1 Passo-a-passo para a instalação do nó Mestre A seguir, é apresentada uma sequência de passos para a configuração do nó mestre: Passo 1: Instalação da distribuição OpenSuSE 10.0 no nó mestre (suse00.cluster.org) A instalação do sistema operacional é feita normalmente. Há a inclusão de pacotes adicionais que deverão ser selecionados corretamente. Iniciar a instalação e seguir os passos abaixo. Tela 1 Language Selecionar English (US) Tela 2 Installation Mode

Selecionar New Installation Clicar OK Tela 3 License Agreement Selecionar Yes, I agree to the license agreement Tela 4 Clock and Time Zone Em Region selecionar Central and South America Em Time Zone selecionar Brazil East Em Hardware Clock Set to selecionar local time Ajustar a data/hora, caso necessário, clicando em change Tela 5 Desktop Selection Selecionar KDE Tela 6 Installation Settings Clicar Particioning (nosso caso HD 148GB e 3.25 GB de memória RAM) Selecionar Create Custom Partition Setup Tela 7 Preparing Hard disk: Step 1 Selecionar Custom partitioning (for experts) Tela 8 Expert Partitioner Selecionar a linha que corresponde a /dev/sda (primeira linha) Clicar Delete Confirmar, clicando Yes, para a questão Really delete all partitions on /dev/sda? Criar a partição SWAP com 3.25GB de tamanho Clicar Create Selecionar Primary Partition Clicar OK Em File System selecionar Swap Em End: digitar +3.25GB

Clicar OK Criar a partição / com 20GB de tamanho e sistema de arquivo Reiser Clicar Create Selecionar Primary Partition Clicar OK Em File System selecionar Reiser Em End: digitar +20GB Em Mount Point digitar / Clicar OK Criar a partição /var com 4GB de tamanho e sistema de arquivo Reiser Clicar Create Selecionar Primary Partition Clicar OK Em File System selecionar Reiser Em End: digitar +4GB Em Mount Point digitar /var Clicar OK Criar uma partição extendida para possibilitar a criação de mais 2 partições (OBS: Apenas 4 partições primárias são permitidas) Clicar Create Selecionar Extended Partition Clicar OK Clicar novamente OK Criar a partição /diskless com 40GB de tamanho e sistema de arquivo Reiser Clicar Create Em File System selecionar Reiser Em End: digitar +40GB Em Mount Point digitar /diskless Clicar OK Criar a partição /home com o o restante do disco e sistema de arquivo Reiser Clicar Create Em File System selecionar Reiser Em End: mantém o que está escrito Em Mount Point digitar /home Clicar OK Clicar FINISH

Tela 9 Installation Settings Clicar em Software Em filter, selecionar: Search Buscar os seguintes pacotes e marcá-los para serem instalados: 1. kernel-source (Fontes do kernel) 2. dhcp-server, dhcpcd, yast2-dhcp-server (DHCP Server) 3. nfs-utils, yast2-nfs-client, yast2-nfs-server (NFS Server) 4. ypserv, yast2-nis-client, yast2-nis-server (NIS Server) 5. tftp, yast2-tftp-server (TFTP Server) 6. ncurses-devel (permite configurar o kernel usando make menuconfig) 7. qt3-devel (permite configurar o kernel usando make xconfig) 8. gcc-c++ (Compilador GCC C/C++) Clicar Check Dependencies Clicar Accept Tela 10 Installation Settings Clicar Accept Clicar Install Fornecer os CDs conforme forem pedidos. Ao final da instalação o sistema deverá ser reiniciado para que o processo de configuração do Cluster continue normalmente. Tela 11 Password for the System Administrator root Entrar com a senha Repetir a senha Clicar Next Tela 12 Network Configuration Clicar em Firewall is enabled para desativá-lo. Clicar em Network Interfaces Selecionar a placa de rede que será utilizada para comunicar com os clientes Clicar Edit Selecionar Static Address Setup Em IP address digitar 10.1.1.100 Em Subnet Mask digitar 255.255.255.0 Clicar Hostname and Name Server Em Hostname digitar suse00 Em Domain name digitar cluster.org

Em Name Server 1 digitar 10.1.1.100 (ou ip do servidor DNS caso o nó mestre tenha acesso a rede/internet) Clicar OK Clicar Routing Em Default gateway digitar 10.1.1.100 (ou ip do gateway da rede caso o nó mestre tenha acesso à rede/internet) Clicar OK Tela 13 Test Internet Connection Selecionar No, skip this test Tela 14 User Authentication Method Selecionar Local (/etc/passwd) Tela 15 New Local User Clicar Yes Tela 16 Release Notes Tela 17 Hardware Configuration Tela 18 Installation Completed Clicar FINISH O KDE será iniciado e deve ser feito logon com o usuário root. 4.2 Passo-a-passo para a instalação dos nós Escravos A partir deste tópico, inicia-se a configuração no nó mestre, de modo a preparar todo o sistema de arquivos e o kernel a serem utilizados pelos nós escravos diskless. Passo 1: Configuração e compilação do kernel a ser usado pelos escravos (diskless)

Neste ponto será feita a compilação do kernel que será executado pelos nós escravos. Dado que o Cluster tratado neste material é homogêneo, as configurações do kernel serão herdadas do nó mestre (/boot/config-2.6.13-15-smp) e modificadas para que contemplem opções necessárias em tempo de inicialização do nó escravo, como por exemplo, Root file System on NFS. Também é necessário tornar monolítico (compilado junto ao kernel) o módulo da placa de rede, entre outras opções, conforme segue o passo-a-passo. No caso de Clusters heterogêneos, para cada nó escravo com configuração de hardware diferente, uma versão do kernel deverá ser compilada para o hardware específico. cp /boot/config-2.6.13-15-smp /usr/src/linux/.config cd /usr/src/linux/ make xconfig (ou make menuconfig se não estiver no KDE) Marcar com (ou (*) caso tenha feito make menuconfig) as seguintes opções, para torna-las módulos monolíticos: Networking > Networking Options > IP: Kernel level autoconfiguration - > IP: DHCP Support > Device Drivers > Network devices support - > Ethernet (10 ou 100Mbit) > Ethernet (10 ou 100Mbit) > Intel PRO/1000 Gbit Ethernet Support (se for o caso) > File Systems > Network File Systems - > NFS File Systems Support > Provide NFSv3 Client Support - > Root file System on NFS Sair do xconfig salvando as configurações Editar o arquivo /usr/src/linux/makefile e modificar a linha correspondente à versão do kernel. Na linha iniciada por EXTRAVERSION= modificar para EXTRAVERSION= escravo. OBS: O passo 5 fará com que os módulos, compilados para os escravos, sejam colocados em um novo diretório mantendo os módulos do mestre inalterados. make bzimage make modules make modules install Passo 2: Disponibilizar o kernel compilado para os escravos