Instalação do Cliente

Instalação do Cliente

Para informações sobre a instalação da infraestrutura do MUSANet, ver “Instalação da Infraestrutura.odt”.

Instalação do SO

Crie uma máquina virtual e instale o Ubuntu Server (sem interface gráfica) no modo padrão.

Conecte a interface de rede no switch LAN Swtich através da rede LAN.

Instalação do ambiente

Crie uma conta individual e coloque-a no grupo sudores:

$ sudo adduser meslin

$ sudo usermod -aG sudo meslin

Habilite o uso de sudo sem precisar informar a senha. Edite o arquivo de configuração do sudo com o comando abaixo:

$ sudo visudo

e acrescente a seguinte linha no final do arquivo:

cliente ALL=(ALL) NOPASSWD: ALL

Atualize o sistema operacional:

$ sudo apt update

$ sudo apt -y upgrade

$ sudo apt autoremove

Instale o servidor de SSH através do comando:

$ sudo apt -y install openssh-server

Configure a interface de rede para trabalhar com IP fixo.

Ubuntu 18.04 ou mais recente

Editar o arquivo /etc/netplan/50-cloud-init.yaml com o comando a seguir:

$ sudo cp /etc/netplan/50-cloud-init.yaml{,.velho}

$ sudo vi /etc/netplan/50-cloud-init.yaml

O arquivo deverá se parecer com o texto a seguir:

# This file is generated from information provided by

# the datasource. Changes to it will not persist across an instance.

# To disable cloud-init's network configuration capabilities, write a file

# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:

# network: {config: disabled}

network:

ethernets:

ens3:

addresses: [172.16.3.202/24]

gateway4: 172.16.3.1

dhcp4: no

nameservers:

addresses: [139.82.16.3, 10.8.0.1]

version: 2

Use o comando a seguir para ativar a configuração:

$ sudo netplan apply

Ubuntu 16.04 ou anteriores

Editar o arquivo /etc/network/interfaces:

$ sudo cp /etc/network/interfaces{,.velho}

$ sudo vi /etc/network/interfaces

Incluir como conteúdo o seguinte texto:

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).


source /etc/network/interfaces.d/*


# The loopback network interface

auto lo

iface lo inet loopback


# The primary network interface

auto ens160

iface ens160 inet static

address 172.16.0.211

netmask 255.255.255.0

network 172.16.0.0

broadcast 172.16.0.255

gateway 172.16.0.1

dns-nameservers 139.82.16.3

dns-search inf.puc-rio.br

(TODOS)

Configure o arquivo de hosts. Edite o arquivo /etc/hosts:

$ sudo cp /etc/hosts{,.velho}

$ sudo vi /etc/hosts

Inclua as seguintes linhas:

# Endereços do MUSANet

172.16.1.202 ContextNet1

172.16.2.202 ContextNet2

172.16.3.202 ContextNet3

172.16.4.202 ContextNet4


172.16.0.211 cliente1

172.16.0.212 cliente2

172.16.0.213 cliente3

172.16.0.214 cliente4

Configure o acesso à obaluae.inf.puc-rio.br. Crie a chave de acesso com o comando a seguir aceitando todas as opções:

$ ssh-keygen

$ ssh-copy-id -i .ssh/id_rsa.pub meslin@obaluae.inf.puc-rio.br

Se necessário, inclua a identidade da chave primária para autenticar o agente. Isso geralmente é necessário quando, depois de copiar a chave e tentar acessar o servidor ssh, recebemos o seguinte erro:

sign_and_send_pubkey: signing failed: agent refused operation

Use o comando a seguir para incluir a identidade:

$ ssh-add

Identity added: /home/meslin/.ssh/id_rsa (/home/meslin/.ssh/id_rsa)

Verifique se a indentidade foi corretamente incluida com o seguinte comando:

$ ssh-add -l

2048 SHA256:U4pwakgfPQjt6AO25OMWOeEuBnz+yDApjFE6kjDdHEw /home/meslin/.ssh/id_rsa (RSA)

2048 SHA256:U4pwakgfPQjt6AO25OMWOeEuBnz+yDApjFE6kjDdHEw meslin@meslin-notebook (RSA)

2048 SHA256:5tDdo9QnR7SgD3mF8GeE92EGPOCQRkI/4ZGSi+/ODMU meslin@meslin-notebook (RSA)

2048 SHA256:3Q+k0qtOy0L25r3bYbzBuaUTZNipuhqOHeV/NPY1IjU meslin@meslin-notebook (RSA)

No momento que esse documento foi gerado, o ContextNet somente era compatível com Java 8 da Oracle. Para instalar o Java 8 da Oracle, utilize os seguintes comandos:

$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update

$ sudo apt -y install oracle-java8-installer

Para configurar a variável de ambiente JAVA_HOME, obtenha o local de instalação do java e depois edite o arquivo de variáveis de ambiente com os seguintes comandos:

$ sudo update-alternatives --config java

There is 1 choice for the alternative java (providing /usr/bin/java).


Selection Path Priority Status

------------------------------------------------------------

0 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 auto mode

* 1 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode


Press <enter> to keep the current choice[*], or type selection number:

$ sudo cp /etc/environment{,.velho}

$ sudo vi /etc/environment

E inclua a seguinte linha ao final do arquivo (verifique a path obtida com o comando anterior):

JAVA_HOME="/usr/lib/jvm/java-8-oracle"

Se você não quiser instalar o Java 8 da Oracle, instale o Java JDK default com o comando a seguir:

$ sudo apt -y install default-jdk

Libere mais portas UDP efêmeras editando o arquivo /etc/sysctl.conf:

$ sudo cp /etc/sysctl.conf{,.velho}

$ sudo vi /etc/sysctl.conf

Inclua as seguintes linhas ao final do arquivo (atenção aos espaços em branco antes e depois do sinal de igual):

net.ipv4.ip_local_port_range = 1025 65000

net.ipv4.tcp_fin_timeout = 1

Depois de reiniciar a máquina, verifique qual a faixa de portas que está disponível com o seguinte comando:

$ sysctl net.ipv4.ip_local_port_range

net.ipv4.ip_local_port_range = 1025 65000

Opcionalmente remova o screensaver (tela preta) editando o arquivo grub com o comando a seguir:

$ sudo cp /etc/default/grub{,.velho}

$ sudo vi /etc/default/grub

Modifique a linha com GRUB_CMDLINE_LINUX_DEFAULT="" de acordo com o texto a seguir:

GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"

Atualize o grub como seguinte comando:

$ sudo update-grub

Instalação e configuração do ContextNet

Instale o OpenSplice. Instruções mais detalhadas em http://www.lac.inf.puc-rio.br/dokuwiki/doku.php?id=installingdds.

Para a instalação do ContextNet para uso específico no MUSANet, clique aqui.

Executando o MUSANet

Benchmark

Criar o diretório Benchmark

$ mkdir Benchmark

Copiar o simulador de ônibus para o diretório Benchmark:

$ scp 172.16.0.1:Downloads/BenchmarkOnibusV2.jar Benchmark/

BenchmarkOnibusV2.jar 100% 9779KB 69.1MB/s 00:00

Executar o simulador de ônibus, especificando as opções:

  • -a <endereço do InterSCity>

  • -b <número de ônibus a serem simulados>

  • -i <intervalo em milisegundos entre a criação de cada thread de ônibus>

  • -n <número de iterações de cada ônibus>

  • -p <porta do Gateway do ContextNet>

$ java -Djava.rmi.server.hostname=172.16.0.211 -jar Benchmark/BenchmarkOnibusV2.jar -a 172.16.1.202 -p 5500 -b 4000 -n 1000 -i 1000 [-m 172.16.0.211] 2> erro8000x1000x2x2-20180730.txt | tee resultado8000x1000x2x2-20180730.txt

ou se for necessário especificar a quantidade de memória:

$ java -Xmx16G -Djava.rmi.server.hostname=172.16.0.211 -jar Benchmark/BenchmarkOnibusV2.jar -a 172.16.1.202 -p 5500 -b 4000 -n 1000 -i 1000 [-m 172.16.0.211] 2> erro8000x1000x2x2-20180730.txt | tee resultado8000x1000x2x2-20180730.txt