GT-UniT Tutorial de Execução do Telescope no PlanetLab Leonardo Richter Bays
Conexão com o PlanetLab A conexão com o PlanetLab é feita através de um Secure Shell (SSH). Para conectar-se, é preciso ter um client de SSH instalado na máquina local e a chave privada do grupo.
SSH: Conectar-se ao Servidor Abre uma conexão SSH com um servidor remoto ssh -i <chave> <usuário>@<servidor> Exemplo: abre uma conexão com o servidor planetlab1.pop-rs.rnp.br ssh -i.ssh/gtunit_rsa rnp_unit1@planetlab1.pop-rs.rnp.br
SCP: Enviar Arquivos Copia um arquivo da máquina local para um diretório específico no servidor remoto scp -i <chave> <arquivo local> <usuário>@<servidor>:<diretório remoto> Exemplo: copiar arquivo local Telescope.jar para o diretório telescope no servidor scp -i.ssh/gtunit_rsa Telescope.jar rnp_unit1@planetlab1.pop-rs.rnp.br:telescope
SCP: Obter Arquivos Copia um arquivo do servidor remoto para um diretório específico na máquina local scp -i <chave> <usuário>@<servidor>: <diretório remoto> <arquivo local> Exemplo: copiar arquivo resultado.tar.gz para o diretório local Monitoramentos scp -i.ssh/gtunit_rsa rnp_unit1@planetlab1.pop-rs.rnp.br :resultado.tar.gz Monitoramentos
Passos para Executar o Telescope Conectar-se a um servidor via SSH ssh -i <chave> <usuário>@<servidor> Entrar no diretório do Telescope cd <diretório> Executar o arquivo.jar do Telescope, passando os parâmetros necessários java -jar <parâmetros da máquina virtual> <arquivo.jar do telescope> <parâmetros do telescope> exemplo de execução
Exemplo de Execução do Telescope Conectar-se a um servidor via SSH ssh -i.ssh/gtunit_rsa rnp_unit1@planetlab1.pop-rs.rnp.br Entrar no diretório do Telescope cd telescope Executar o arquivo.jar do Telescope, passando os parâmetros necessários java -jar -Xmx1g Tl_20100310a.jar -round:1 Lost_S06E04.xml explicação dos parâmetros
Parâmetros de Execução java -jar -Xmx1g Tl_20100310a.jar -round:1 Lost_S06E04.xml limite de memória da máquina virtual (1GB) número da rodada arquivo de entrada do monitoramento
Utilizando Scripts Prontos Os próximos slides mostram a utilização dos scripts feitos para facilitar o acesso ao PlanetLab e automatizar as tarefas executadas com maior frequência. Para o correto funcionamento dos mesmos, é necessário que a chave privada esteja no seguinte caminho: ~/.ssh/gtunit_rsa
Utilizando Scripts Prontos plssh: conecta-se a um servidor do PlanetLab./plssh <servidor> plscp: copia um arquivo local para todos os servidores do PlanetLab cadastrados./plscp <arquivo local> <diretório remoto> plget: copia um arquivo remoto para um diretório local./plget <arquivo remoto> <diretório local> <servidor>
Utilizando Scripts Prontos plres: obtém os resultados de um monitoramento e os armazena em um diretório local (pode obter o mesmo monitoramento de vários servidores ao mesmo tempo)./plres <monitoramento> <diretório local> <servidores> Exemplo de uso:./plres Lost_S13E14_r1 Monitoramentos planetlab1.pop-rs.rnp.br planet-lab2.ufabc.edu.br
Utilizando Scripts Prontos plcom: envia um ou mais comandos para todos os servidores do PlanetLab cadastrados../plcom <comando1>; <comando 2>; <comando 3>... plyum: Instala um ou mais pacotes em todos os servidores do PlanetLab cadastrados../plyum <pacote1> <pacote2> <pacote3>...
Utilizando Scripts Prontos Avisos: Certifique-se de que os comandos e os parâmetros estejam corretos antes de enviá-los. Algumas operações, se executadas por engano, não poderão ser desfeitas. Comandos que afetam todos os servidores cadastrados requerem atenção especial, pois um possível erro irá se propagar em todos os servidores. Utilize os scripts que afetam todos os servidores somente quando necessário. Se não houver necessidade, realize as operações manualmente nos servidores escolhidos.
Utilizando Scripts Prontos Avisos: Quanto à instalação de novos pacotes, é recomendado que o pacote seja instalado e testado inicialmente em apenas um servidor, para garantir que não haverão problemas ao instalá-lo em todos os servidores. Monitore periodicamente a execução, e finalize o processo se notar algum comportamento que pode prejudicar o desempenho do servidor do PlanetLab.