Sobre o Serviço

Descrição

Arquitetura do Serviço

Portal de Medições

Kit de Medições

Política de Uso e Segurança

Status da Implantação

Guia de Instalação

MP (Atraso e Vazão)

Kits de Baixo Custo (2a. Geração)

Guia de Uso

Portal de Medições

Implantação

[Instituições Clientes (Kit de Baixo Custo)]

[Instituição (2a. Geração)]

PoP

RNP

MonIPÊ Live

Disseminação

Material de apoio

Suporte

Lista de E-mail e Suporte

FAQ & Glossário




Desenvolvimento

Comparativo Técnico

Hardware

Software

Ferramentas de Medição

Montagem

MonIPÊ 2.0

MP

LS

MA

MA-Esmond

NDT

Proxy IdP CAFé

Versões Anteriores

MonIPÊ 1.0




Acompanhamento

Log de Problemas

Implantação GTI

Roadmap

2016

2015

2014

2013

Lista de Requisitos

2014

2013

Demonstrações

Piloto 2013

Equipe

2016

2015

2014

2013

Reuniões

2016

2015

2014

2013

Relatórios Anuais

[2014]

2013

Child pages
  • Desenvolvimento - MP Live Pendrive

AVISO: Essa página foi movida! Para versão atualizada do conteúdo acesse: https://wiki.rnp.br/display/monipe

Skip to end of metadata
Go to start of metadata

Este guia descreve como instalar o MonIPÊ em um Pendrive com finalidade de disseminação.

  • SO: Linux Debian 7.3 (I386)


Baseado em Debian-Live:
http://live.debian.net/manual/stable/pdf/portrait.en.a4.pdf

Introdução

  • Instalar live-build:
apt-get install live-build rsync

Configuração

  • Criar o diretório onde será construido o live-cd:
mkdir -p /home/monipe/mp-pendrive-4
MPROOT=/home/monipe/mp-pendrive-4

cd $MPROOT

 lb config noauto \
     --architectures i386 \
     --linux-flavours 686-pae \
     --binary-images hdd \
     --mirror-bootstrap http://debian.pop-sc.rnp.br/debian/ \
     --mirror-binary http://debian.pop-sc.rnp.br/debian/ \
     --iso-volume "MONIPE@LIVE" \
     --bootappend-live "boot=live config locales=us.UTF-8 keyboard-layouts=br persistence noeject username=user noautologin" \
"${@}"

Instalação do CLMP

O CLMP, portal e Perfsonar devem ser instalados no diretório $MPROOT/config/includes.chroot

 

  • Criação dos diretórios:

cd $MPROOT/config/includes.chroot
 
mkdir -p var/lib/perfsonar/cron
 
mkdir var/lib/perfsonar/data
mkdir var/lib/perfsonar/conf
mkdir var/lib/perfsonar/store
chown -R www-data:www-data var/lib/perfsonar
chmod -R 777 var/lib/perfsonar/data

 

  • Instale os pacotes necessários:
cd $MPROOT
 
echo "ssh vim php5 php5-cli php5-curl php5-mcrypt ntp apache2 libapache2-mod-php5 build-essential\
 rcconf snmpd php5-mysql mysql-server m4 sudo rsync iperf fail2ban" > config/package-lists/monipe-bin-dep.list.chroot

 

  • Baixar os pacotes de instalação:
cd /tmp
wget http://rep.monipe.rnp.br/perfSONAR/libs/libs-last-stable.tar.gz -O libs-last-stable.tar.gz
wget http://rep.monipe.rnp.br/perfSONAR/nmwg/nmwg-last-stable.tar.gz -O nmwg-last-stable.tar.gz
wget http://rep.monipe.rnp.br/perfSONAR/services/clmp/services-clmp-last-stable.tar.gz -O services-clmp-last-stable.tar.gz
cd $MPROOT/config/includes.chroot
tar xzf /tmp/libs-last-stable.tar.gz
tar xzf /tmp/nmwg-last-stable.tar.gz
tar xzf /tmp/services-clmp-last-stable.tar.gz
cp  opt/perfsonar/services/clmp/include/global.php.cfg opt/perfsonar/services/clmp/include/global.php
rm /tmp/*.tar.gz

 

  • Criar os diretórios de logs:
mkdir -p var/log/perfsonar
chown -R www-data:www-data var/log/perfsonar
touch /var/log/perfsonar/clmp.log
chmod 777 /var/log/perfsonar/clmp.log

 

  • Configurar o apache:
mkdir var/www
cd var/www
ln -s ../../opt/perfsonar/services/clmp/web ./clmp

Instalação das Ferramentas

  • Antes de começar, instale as ferramentas em um ambiente chrooted:
mkdir /tmp/chroot-dir
debootstrap --arch i386 wheezy /tmp/chroot-dir/ http://debian.pop-sc.rnp.br/debian
chroot /tmp/chroot-dir
apt-get install build-essential

 

  • Baixe e compile os fontes do OWAMP:
cd /tmp
wget http://software.internet2.edu/sources/owamp/owamp-3.1.tar.gz
tar -xvzf owamp-3.1.tar.gz
cd owamp-3.1
./configure --sysconfdir=/usr/local/etc
make && make install

 

  • Baixe e compile os fontes do BWCTL:
cd /tmp
wget http://software.internet2.edu/sources/bwctl/bwctl-1.3.tar.gz
tar -xvzf bwctl-1.3.tar.gz
cd bwctl-1.3
./configure --sysconfdir=/usr/local/etc
make && make install

 

  • Sair do CHROOTED:
exit

Observe se realmente saiu do ambiente chrooted.

Instalação das Ferramentas: Arquivos binários e bibliotecas

  • Copie os binários e bibliotecas do owamp e bwctl para o diretório do pendrive:
cd $MPROOT/config/includes.chroot
mkdir -p usr/local/bin
mkdir -p usr/local/sbin
 
mkdir -p usr/local/lib
cp /tmp/chroot-dir/usr/local/bin/* usr/local/bin/
cp /tmp/chroot-dir/usr/local/sbin/* usr/local/sbin/
cp /tmp/chroot-dir/usr/local/lib/* usr/local/lib/

Configuração das Ferramentas

Prosseguir com a configuração direto no live-cd

Foi criado o usuário monipe e grup com 600 para facilitar a criação do usuário no boot do sistema

 

  • Criação do usuário e dos diretórios:
cd $MPROOT/config/includes.chroot
 
mkdir -p usr/local/etc/owamp
 
cp /tmp/chroot-dir/tmp/owamp-3.1/conf/owampd.conf usr/local/etc/owamp
cp /tmp/chroot-dir/tmp/owamp-3.1/conf/owampd.limits usr/local/etc/owamp
 
chown -R 600:600 /usr/local/etc/owamp 
mkdir -p var/run/owamp
mkdir -p var/db/owamp
chown -R 600:600 var/run/owamp
chown -R 600:600 var/db/owamp

 

  • Criação do usuário e dos diretórios:
mkdir -p usr/local/etc/bwctl
 
cp /tmp/chroot-dir/tmp/bwctl-1.3/conf/bwctld.conf usr/local/etc/bwctl
cp /tmp/chroot-dir/tmp/bwctl-1.3/conf/bwctld.limits usr/local/etc/bwctl
 
mkdir -p var/run/bwctl
mkdir -p var/db/bwctl
chown -R 600:600 var/run/bwctl
chown -R 600:600 var/db/bwctl

Instalação do Portal

  • Faça o download do software Portal e mova para o local correto:
cd /tmp
wget http://rep.monipe.rnp.br/perfSONAR/tools/institution/core/tools-institution-core-last-stable.tar.gz
 -O tools-institution-core-last-stable.tar.gz
wget http://rep.monipe.rnp.br/perfSONAR/tools/institution/web/tools-institution-web-last-stable.tar.gz
 -O tools-institution-web-last-stable.tar.gz
 
cd $MPROOT/config/includes.chroot
tar xzf /tmp/tools-institution-core-last-stable.tar.gz
tar xzf /tmp/tools-institution-web-last-stable.tar.gz
rm /tmp/*.tar.gz
 
 
ln -s ../../opt/perfsonar/tools/portal/public var/www/portal
mkdir -p var/lib/perfsonar/cron
touch var/log/perfsonar/clmp.log
touch var/log/perfsonar/portal.log
chown -R www-data:www-data var/log/perfsonar/
 sed -i "s/MYSQL_ROOT_PW.*/MYSQL_ROOT_PW\'\,\`\'\)/g" opt/perfsonar/system/local-config.m4
 sed -i "s/SYSTEM_IFACE_TYPE.*/SYSTEM_IFACE_TYPE\'\,\`dhcp\'\)/g" opt/perfsonar/system/local-config.m4
 sed -i "s/SYSTEM_IFACE_ADDRESS.*/SYSTEM_IFACE_ADDRESS\'\,\`dhcp\'\)/g" opt/perfsonar/system/local-config.m4
 sed -i "s/SYSTEM_IFACE_MASK.*/SYSTEM_IFACE_MASK\'\,\`dhcp\'\)/g" opt/perfsonar/system/local-config.m4
 sed -i "s/SYSTEM_IFACE_GATEWAY.*/SYSTEM_IFACE_GATEWAY\'\,\`dhcp\'\)/g" opt/perfsonar/system/local-config.m4
 sed -i "s/SYSTEM_HOSTNAME.*/SYSTEM_HOSTNAME\'\,\`mp-pendrive\'\)/g" opt/perfsonar/system/local-config.m4
 sed -i "s/SYSTEM_DOMAIN.*/SYSTEM_DOMAIN\'\,\`monipe.rnp.br\'\)/g" opt/perfsonar/system/local-config.m4
 sed -i "s/MONIPE_PENDRIVE.*/MONIPE_PENDRIVE\'\,\`1\'\)/g" opt/perfsonar/system/local-config.m4
 sed -i "s/SYSTEM_UPGRADE_AUTO.*/SYSTEM_UPGRADE_AUTO\'\,\`1\'\)/g" opt/perfsonar/system/local-config.m4

 

  • Mude as permissões dos scripts necessários:
chmod 755 opt/perfsonar/services/clmp/scripts/execute_schedule.sh
chmod 755 opt/perfsonar/services/clmp/scripts/exec_local_store.sh

 

  • Inicializar portal e crie as estruturas das  tabelas no boot:
cd $MPROOT/config/includes.chroot
 
echo  '#!/bin/sh ' > etc/rc.local
echo 'echo *********************************************' >> etc/rc.local
echo 'echo MONIPE Pendrive' >> etc/rc.local
echo 'echo Aplicando configuracoes...' >> etc/rc.local
echo 'echo *********************************************' >> etc/rc.local
 
echo 'cat /etc/issue' >>  etc/rc.local
echo 'addgroup monipe --gid 600' >> etc/rc.local
echo 'adduser monipe  --system --uid 600' >> etc/rc.local
echo 'chown -R 600:600 /var/run/owamp' >> etc/rc.local
echo 'chown -R 600:600 /var/run/bwctl' >> etc/rc.local
echo 'chown -R 600:600 /var/db/owamp' >> etc/rc.local
echo 'chown -R 600:600 /var/db/bwctl' >> etc/rc.local
echo 'chown www-data:www-data /opt/perfsonar/system/local-config.m4' >> etc/rc.local
echo 'cd /opt/perfsonar/system/' >> etc/rc.local
echo './update_scripts.sh'  >>  etc/rc.local
echo 'cd /opt/perfsonar/tools/portal/application/scripts' >> etc/rc.local
echo 'mysqladmin create sistema -u root' >> etc/rc.local

echo 'if [ -f /var/lib/backup/monipe_db_pendrive_save.sql ] ' >> etc/rc.local
echo 'then' >> etc/rc.local
echo '	echo Recuperando backup DB' >> etc/rc.local
echo '	mysql -u root sistema < /var/lib/backup/monipe_db_pendrive_save.sql ' >> etc/rc.local
echo 'else' >> etc/rc.local
echo '	echo Inicializando DB ' >> etc/rc.local
echo '	mysql -u root sistema < portal_estrutura_dados_banco.sql' >> etc/rc.local
echo '	mysql -u root sistema < portal_insert_dados_banco.sql' >> etc/rc.local
echo 'fi' >> etc/rc.local

echo  'chown -R www-data:www-data /var/log/perfsonar/' >> etc/rc.local
echo  'a2enmod rewrite'  >> etc/rc.local
echo  'apache2ctl restart' >> etc/rc.local
echo  'update-rc.d owampd defaults' >> etc/rc.local
echo  'update-rc.d bwctld defaults' >> etc/rc.local
echo  'update-rc.d firewall defaults' >> etc/rc.local
echo '/opt/perfsonar/system/scripts/apply_reconfig_sistema.sh' >> etc/rc.local
echo '/opt/perfsonar/system/scripts/apply_reconfig_sistema.sh' >> etc/rc.local
echo '/opt/perfsonar/system/scripts/atualiza_mysql.sh' >> etc/rc.local
echo 'rm -f /etc/udev/rules.d/70-persistent-net.rules' >> etc/rc.local
echo 'clear' >> etc/rc.local
echo 'echo *********************************************' >> etc/rc.local
echo 'echo MONIPE Pendrive Iniciado' >> etc/rc.local
echo 'echo *********************************************' >> etc/rc.local
echo 'cat /etc/issue' >>  etc/rc.local
echo '' >> etc/rc.local

chmod 700  etc/rc.local

Colocar arquivos para documentação e "inflar" a partição FAT32 que o usuário windows terá acesso.

OBS: Os arquivos não podem ultrapassar 4GB cada, devido a limitação da FAT32. Então criei 2 arquivos de 3Gb, que serão apagados posteriormente. Coloque o número de arquivos temporários de acordo com o tamanho da partição FAT32 desejada, ex: Pendrive de 4GB 1 arquivo, Pendrive de 16Gb 4, etc.. Esse passo é opcional e não é necessário caso queira deixar a partição do tamanho original ~300MB.

cd $MPROOT/config/includes.binary
 dd if=/dev/zero of=apagar_3G_1.tmp bs=1M count=3000
 dd if=/dev/zero of=apagar_3G_2.tmp bs=1M count=3000 

#Colocar aqui o Guia do MONIPE -- Guia MONIPE@LIVE - REV.2014-02-11.pdf

Criar imagem

  • Executar os scripts para aplicar as novas configurações:
cd $MPROOT
lb build

Este processo demorará aproximadamente 10 minutos dependendo do desempenho da máquina e rede. No termino será gerado uma imagem para ser utilizada no pendrive com nome: binary.img em $MPROOT

 

Persistência

  • Para permitir que as configurações possam ser gravadas e não perdidas no momento de boot realize o processo de persistencia

  • Este exemplo está sendo criado uma imagem extra de 7GB para uso no pendrive.

  • OBS: Neste exemplo foi utilizado o fdisk (util-linux 2.20.1)

 

ls -l binary.img 
 -rw-r--r-- 1 root root 6738149376 Feb 12 09:21 binary.img

fdisk  -l /dev/sdb

 Disk /dev/sdb: 8004 MB, 8004304896 bytes
 247 heads, 62 sectors/track, 1020 cylinders, total 15633408 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

### Para calcular o espaço restante do pendrive para criar a partição, utilize o (tamanho total do pendrive - tamanho da imagem)  / tamanho do bloco, conforme exemplo:

dd if=/dev/zero bs=512 count=$[(8004304896 - 6738149376)/512] >> binary.img
sync


#Adicionar a nova partição.

root@rhoden-HP:# fdisk binary.img 

fdisk binary.img 
Command (m for help): p
Disk binary.img: 8004 MB, 8004304896 bytes
4 heads, 32 sectors/track, 122136 cylinders, total 15633408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003626c
     Device Boot      Start         End      Blocks   Id  System
binary.img1   *        2048    13160447     6579200   83  Linux
Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 
Using default value 2
First sector (13160448-15633407, default 13160448): 
Using default value 13160448
Last sector, +sectors or +size{K,M,G} (13160448-15633407, default 15633407): 
Using default value 15633407
Command (m for help): p
Disk binary.img: 8004 MB, 8004304896 bytes
4 heads, 32 sectors/track, 122136 cylinders, total 15633408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003626c
     Device Boot      Start         End      Blocks   Id  System
binary.img1   *        2048    13160447     6579200   83  Linux
binary.img2        13160448    15633407     1236480   83  Linux
Command (m for help): w
The partition table has been altered!
Syncing disks.

# Agora será necessário formatar a partição de persistência, conforme exemplo.
# usar o número do cilindro da segunda partição * tamanho do bloco

fdisk -l binary.img | grep binary.img2
binary.img2        13160448    15633407     1236480   83  Linux

losetup /dev/loop0 -o  $[13160448 * 512]  binary.img
mkdir -p /mnt/pendrive
mkfs.ext4 -L persistence /dev/loop0
tune2fs -L persistence /dev/loop0
mount -t ext4 /dev/loop0 /mnt/pendrive
echo "/etc" >> /mnt/pendrive/persistence.conf
echo "/opt/perfsonar" >> /mnt/pendrive/persistence.conf
echo "/var/lib/backup" >> /mnt/pendrive/persistence.conf
sync
umount /mnt/pendrive
losetup -d /dev/loop0

 

Próximo passo é remover os arquivos para inflar a FAT32.

losetup /dev/loop2 -o $[2048 * 512]  --sizelimit $[(13160447-2048) * 512] binary.img

mount /dev/loop2  /mnt/pendrive/
rm /mnt/pendrive/apagar*.tmp
umount /mnt/pendrive
sync


Testando a imagem

  • Para verificar a imagem sem gravar em um pendrive algum emulador poderá ser utilizado, exemplo qemu:
kvm -m 1024m binary.img

Gravar imagem no pendrive

  • Gravar a imagem do pendrive, onde X é a identificação do pendrive montado no SO (Ex: b, c, d, etc..):
  • Tempo estimado 30 minutos.
dd if=binary.img od=/dev/sdX
sync
  • Ou com estimativa de tempo através do utilitário "pv"
pv  binary.img | dd of=/dev/sdX
sync
  • No labels