OBSERVAÇÃO: É importante salientar que as configurações mostradas na seção 1 somente poderão ser feitas pelo usuário root da máquina. As configurações das seções seguintes podem ser feitas por um usuário comum.
Antes que possamos configurar o PVM, é preciso configurar o rsh, tendo em vista que este é imprescindível para que o PVM possa funcionar.
O rsh é um utilitário UNIX que permite que um processo seja executado remotamente em outra máquina de sua rede. O comando rsh interage com o processo servidor na máquina remota, chamado rshd.
Por default, o rsh não vem habilitado nas máquinas com Linux. Portanto, os procedimentos abaixo devem ser efetuados em todas as máquinas usadas que farão parte do ambiente PVM.
Alterar o arquivo /etc/pam.d/rsh:ii. Habilitar o rsh, no arquivo /etc/xinet.d/rsh:na linha auth required pam_rhosts_auth.so, colocar um # no início da mesma, para comentá-la.
salvar o arquivo alterado. "Matar" o processo xinetd em execução e reinicializá-lo para que as alterações anteriores tenham efeito.verificar a variável disable. Se for igual a yes, altere-a para no.
salvar o arquivo alterado. Testar se o rsh está funcionando:Utilize o comando ps - ef | grep xinetd para verificar o número do processo. Após identificar o número do processo, dê um kill -9 <número do processo>.
Em seguida reinicialize o processo xinetd com o seguinte comando: /usr/sbin/xinetd - stayalive. Sintaxe: rsh -l <usuario> <host> <comando>.
Exemplo: rsh -l alunoucb 172.16.1.2 date.
OBSERVAÇÃO: Para o rsh funcionar, o usuário alunoucb deve existir na máquina 172.16.1.2. Este comando irá logar na referida máquina usando o usuário alunoucb e executará o comando (processo) date naquela máquina. O valor retornado será o referente à data da máquina 172.16.1.2.
Agora, edite o arquivo /etc/hosts e inclua uma linha no mesmo representando a máquina local, caso a mesma ainda não exista. Por exemplo
# Do not remove the following line, or varios programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 172.16.1.1 lab_c101_001 lab_c101_001
Nesse roteiro estaremos usando o PVM versão 3.4.4. Para obter o pacote PVM, você pode fazer o download do arquivo pvm3.4.4.tgz a partir do site http://www.netlib.org/pvm3.
Para a instalação do PVM não é preciso estar logado na máquina como o usuário root. Consideraremos, nesse documento, que você está logado com o usuário usuario.
Após o download do PVM é preciso descompactá-lo em algum diretório. Escolha um diretório que você tenha permissão para gravação e descompacte o arquivo. Vamos considerar aqui o diretório /home/usuario.
[usuario@lab_c101_001 usuario]% gunzip pvm3.4.4.tgz [usuario@lab_c101_001 usuario]% tar xvf pvm3.4.4.tar
Esse último comando irá descompactar todo o pacote PVM dentro do diretório /home/usuario/pvm3.
Para que o PVM possa funcionar corretamente, é preciso criar uma variável de ambiente chamada PVM_ROOT. Também é preciso alterar a variável PATH. Vamos fazer isso de forma que, quando o usuário logar na máquina, essas variáveis sejam criadas/modificadas automaticamente.
Sendo assim, edite o arquivo .bashrc que está dentro do diretório /home/usuario. Você pode usar o comando: vi .bashrc.
Inclua, no final do arquivo .bashrc as duas linhas abaixo:
export PVM_ROOT=/home/usuario/pvm3 export PATH=$PATH:$PVM_ROOT/lib
PVM_ROOT indica o diretório onde encontra-se instalado o PVM. A variável PATH precisa ser modificada para que seja possível localizar os aplicativos necessários à execução do PMV.
Agora, é preciso compilar o pacote PVM. Para isso, execute os comandos abaixo:
[usuario@lab_c101_001 usuario]% cd /home/usuario/pvm3 [usuario@lab_c101_001 pvm3]% make
Para compilar os programas de exemplo dque vêm com o pacote PVM, podemos utilizar o utilitário aimk. Para tal, basta executar esse utilitário informando os nomes dos programas que você quer compilar. Por exemplo:
[usuario@lab_c101_001 usuario]% cd /home/usuario/pvm3/examples [usuario@lab_c101_001 pvm3]% aimk hello hello_other
O segundo comando descrito acima irá compilar os programas hello.c e hello_other.c. Se não houver nenhum erro na compilação, os arquivos compilados serão automaticamente colocados no diretório /home/usuario/pvm3/bin/LINUX. Confira!
Agora que já temos o rsh funcionando e o PVM instalado, adicionaremos os hosts que constituirão a máquina virtual PVM.
Digite pvm para entrar na console do PVM. Aparecerá o prompt abaixo:
[usuario@lab_c101_001 usuario]% pvm pvm>
Para se verificar os hosts já cadastrados na máquina virtual PVM, digite conf no prompt:
pvm> conf
Para adicionar um novo host à máquina virtual, utilize o comando add. Por exemplo, para adicionar o host com endereço IP 172.16.1.2, temos:
pvm> add 172.16.1.2
Para sair da console do PVM digite quit. Nesse caso, o daemon pmvd ainda fica rodando. No entanto, se quiser sair e também parar o daemon, digite halt.
Outros comandos do PVM podem ser vistos digitando help no prompt do console.
Para rodar aplicações que façam uso da máquina virtual PVM, é preciso colocá-las em um diretório que o PVM possa localizá-las. Geralmente, colocamos essas aplicações dentro do diretório bin/LINUX.
Você pode executar suas aplicações a partir do console do PVM usando o comando spawn. Por exemplo, para executarmos o programa hello, temos:
pvm> spawn hello
Entretanto, não é necessário usar esse console para a execução das aplicações. Nesse caso, considerando o exemplo acima, a execução do programa hello poderia ser feita da seguinte forma:
[usuario@lab_c101_001 usuario]% cd /home/usuario/pvm3/bin/LINUX [usuario@lab_c101_001 LINUX]% ./hello
Como veremos mais adiante, a execução desse programa dispara um novo processo, chamado hello_other o qual poderá ser executado em qualquer uma das máquinas que integram a máquina virtual PVM.