Italiano English
Modifica History Actions

ConfineNodeHowTo

CONFINE Research Device HOWTO

CONFINE è un progetto di ricerca che ha l’obiettivo di costruire un’infrastruttura all’interno di varie community network europee per metterla a disposizione dei ricercatori, che possono così studiare reti reali, con utenti veri, anziché limitarsi ad esperimenti in laboratorio o simulati.

Questa guida spiega come configurare un Research Device per entrare a far parte dell'infrastruttura CommunityLab di CONFINE.

Vedere anche ConfineHowTo

INFORMAZIONI IMPORTANTI

  • I Research Device, ovvero i computer di CONFINE, devono essere collegati ad un nodo ninux (la ricerca riguarda le Community Network)
  • La policy di ninux Roma, decisa a riunione, è che i partecipanti a questo progetto abbiano la propria connettività (ad esempio la propria ADSL). La motivazione è che dai Research Device potrebbero essere effettuati download e quindi sarebbe meglio non caricare il backbone
  • Chi prende un Research Device si impegna a lasciarlo acceso e funzionante almeno fino al termine del progetto CONFINE (fine 2015). In seguito sarebbe buono continuare ad utilizzare questi computer per servizi distribuiti dentro ninux

Requisiti Hardware

I Research Device sono i computer che costituiscono la maggior parte dell'infrastruttura di CONFINE (chiamata Community-Lab). Qualunque dispositivo con i seguenti requisiti hardware può fungere da Research Device:

  • architettura x86 (per il momento)
  • almeno 60GB di disco
  • almeno 4GB di RAM

Durante l'installazione potrebbero far comodo monitor, tastiera e mouse.

Preparazione Intel NUC

I dispositivi principali forniti da Unidata nell'ambito del progetto CONFLATE sono Intel NUC (Next Unit of Computing) DC3217IYE, con processore i3 dual core, 60GB disco SSD, 8GB RAM. Il consumo di corrente varia tra gli 8W senza carico e circa 20W a pieno regime. La temperatura non va mai oltre i 40 gradi centigradi e la ventola, pure se presente, è molto silenziosa.

Per installare disco e RAM bisogna svitare le viti che si trovano nella parte inferiore.

attachment:viti.png

Quindi installare il disco Mini PCIE SSD e la RAM. Notare la presenza della vite per tenere fermo il disco.

attachment:discoeram.png

Quindi collegare tastiera e monitor (il mouse è comodo ma non necessario), accendere il NUC ed entrare nel BIOS premendo il tasto F2.

attachment:visualbios.png

Andare su "Advanced Setup" -> Power e settare la voce "After Power Failure" su "Power On" per fare in modo che il device si riavvii senza bisogno di intervento manuale.

attachment:biospoweron.png

Andare su "Advanced Setup" -> "boot" ed attivare "Boot USB Devices First" per avere la possibilità di installare il firmware sul dispositivo da pen drive USB.

attachment:biosusbboot.png

Premere F10 per uscire. Alla richiesta se si vogliono salvare le impostazioni rispondere 'Y'.

Registrazione del device e download del firmware

Il sistema operativo da installare sui Research Device è chiamato CONFINE Firmware. Si tratta di una versione customizzata di OpenWrt e il codice sorgente si può trovare qui.

Per ottenere un'immagine compilata e configurata del CONFINE Firmware innanzitutto bisgona registrarsi su panel.community-lab.net.

attachment:communitylabregistration.png

Effettuare il login. Quindi cliccare su "Nodes" e poi su "Add node" in alto a destra.

attachment:addnode.png

Scegliere un nome ed impostare Group: ninux.org, Island: Ninux.org. L'impostazione "Island" configura il Gateway Tinc (vedi Glossario in fondo) della community network. Molte delle impostazioni "Advanced" (in particolare IP statici ed IPv6) al momento della scrittura di questa guida ancora non funzionano propriamente.

attachment:newnode0.png

Impostare anche "Community network URL" con il Permalink del nodo preso dal mapserver. Per esempio: http://map.ninux.org/select/utovrm/

Cliccare su "Save and continue editing" in basso. Ignorare i warning e cliccare su "Download Firmware" in alto a destra.

attachment:savedandcontinuedediting.png

Selezionare l'immagine piu' recente (al momento "master.9b561fb" o "CONFINE-owrt-master-i686-20150715-1002.img.gz"), "Dell power edge r510" come registry API service, tutti gli "Optional files" (che servono per configurare l'autenticazione con il Controller e la rete di management Tinc - vedi Glossario in fondo) e la casella "USB Image" se si vuole effettuare l'installazione del firmware tramite pen drive USB. Scegliere una password per l'utente root. In alternativa si puo' copiare e incollare una riga con la propria chiave ssh pubblica nell'apposito campo.

Cliccare su "Build Firmware!" in basso.

attachment:generatefirmware.png

Scaricare l'immagine del firmware compilata e configurata.

Installazione del firmware tramite pen drive

/!\ ATTENZIONE: Utilizzando questo metodo tutti i dati presenti sul pen drive USB verranno persi /!\

Per trasferire l'immagine su un pen drive USB si puo' utlizzare unetbootin, oppure il comando dd nel seguente modo:

  • collegare il pen drive e monitorare i messaggi del kernel per trovare il nome del device associato

$ dmesg | tail
[ 6447.637043] sd 8:0:0:0: [sdd] Write Protect is off
[ 6447.637057] sd 8:0:0:0: [sdd] Mode Sense: 03 00 00 00
[ 6447.637234] sd 8:0:0:0: [sdd] No Caching mode page found
[ 6447.637238] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[ 6447.639322] sd 8:0:0:0: [sdd] No Caching mode page found
[ 6447.639326] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[ 6447.713506]  sdd: sdd1 sdd2
[ 6447.715095] sd 8:0:0:0: [sdd] No Caching mode page found
[ 6447.715103] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[ 6447.715110] sd 8:0:0:0: [sdd] Attached SCSI removable disk
  • se il sistema operativo utilizza il mount automatico, fare l'unmount del pen drive
  • dare il seguente comando, modificando il nome del file immagine e del device in modo opportuno:

$ gunzip -c /tmp/USB-confine-firmware-newRDname-i686.img.gz | sudo dd of=/dev/sdX bs=1M ; sync

/!\ Attenzione: con i firmware rilasciati dal giugno 2014 in poi la configurazione della rete parte automaticamente. Quindi se il boot e' configurato per partire automaticamente da USB occorre togliere il pen drive dopo il reboot. /!\

Inserire il pen drive nel Research Device (ad esempio il NUC) ed effettuare il boot. A boot terminato premere invio per far partire gli script di installazione di CONFINE. Alla domanda se si vuole installare rispondere 'y'.

attachment:confinedistroinstall.jpg}}

Spegnere il sistema digitando il comando poweroff, togliere il pen drive e far ripartire il Research Device. A questo punto avverra' una serie di reboot (di solito 3) che servono alla preparazione del sistema.

Configurazione post installazione

Al momento della scrittura di questa guida ci sono delle configurazioni aggiuntive da effettuare, specifiche per gli Intel NUC. I ticket associati a questi problemi sono qui e qui.

Riconfigurare la rete

/!\ Attenzione: con i firmware rilasciati dal giugno 2014 in poi la riconfigurazione della rete non è più necessaria /!\

Durante l'installazione il networking potrebbe essere stato configurato male. Per sistemare utlizzare i seguenti comandi:

uci del network.lan
uci commit
reboot

Evitare messaggi "ttyS0" nei log

Per evitare di avere i log di sistema inondati da messaggi relativi alla porta seriale (che non esiste sugli Intel NUC), bisogna modificare il file /etc/inittab commentando con "#" o rimuovendo la riga che inizia con "ttyS0".

::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
#ttyS0::askfirst:/bin/ash --login
tty1::askfirst:/bin/ash --login

Messa in Produzione del Research Device

Il research device va collegato ad un nodo della rete ninux ed ha bisogno di un server DHCP attivo sulla lan. Oltre all'indirizzo IP dell'host serviranno altri indirizzi (8 sono quelli consigliati) per le macchine virtuali. Sono possibili due opzioni:

  1. utilizzare gli indirizzi IP della propria subnet (quindi dovrebbe bastare un semplice collegamento ad uno switch o router che faccia parte del nodo)
  2. configurare una lan apposita. Questo richiede sia un server DHCP apposito sia l'annuncio di questa subnet come HNA OLSR (per ninux Roma).

Dopo aver collegato il Research Device al nodo ninux tramite un cavo ethernet ed aver aspettato qualche minuto, se tutto e' andato bene loggandosi su https://panel.community-lab.net lo stato corrente del nodo dovrebbe essere "SAFE".

attachment:safe.png

Cliccare sul nome del nodo ed impostare lo stato su "PRODUCTION" e salvare. Dopo qualche minuto anche lo stato corrente del nodo dovrebbe passare a "PRODUCTION".

attachment:production.png

Congratulazioni!!! Il tuo Research Device è ora parte del testbed di CONFINE!

Metodi alternativi

Il firmware di CONFINE puo' essere installato in altri modi.

Boot da altra distribuzione

Si puo' far fare il boot da USB ad una distribuzione Linux live qualunque, quindi scaricare o uploadare il firmware (compilato senza l'opzione "USB Image") e poi scompattarlo e copiarlo sull'hard disk del Research Device (/!\ ATTENZIONE: non dare il comando sul proprio PC /!\) utilizzando il comando dd:

gunzip -c confine-install.img.gz | sudo dd of=/dev/sdX bs=1M ; sync

dove /dev/sdX e' l'hard disk principale del Research Device (normalmente /dev/sda).

Boot da rete

Un altro metodo consiste nel configurare il PXE ovvero il boot da rete. Ci sono varie guide online, per esempio questa.

Macchine Virtuali

Macchine virtuali possono essere utilizzate come Research Device dentro CONFINE a patto di scegliere un nome che contenga la sigla "VM" al momento della registrazione del nodo.

Aggiornamento

Per fare l'upgrade del firmware:

  • andare in http://panel.community-lab.net sulla pagina del nodo da aggiornare

  • cliccare su "Download Firmware" in alto a destra
  • cliccare su "Delete Build" alla fine della pagina per eliminare la build del vecchio firmware
  • scegliere il nuovo firmware. La versione attualmente consigliata e' la "master.9b561fb" o "CONFINE-owrt-master-i686-20150715-1002.img.gz"

  • come registry API scegliere l'unica disponibile
  • cliccare su "Build Firmware!" in basso
  • scaricare la nuova immagine del firmware compilata e configurata
  • Quindi ci sono due opzioni:
    • ripetere la procedura di installazione tramite penna USB, oppure:
    • copiare, tramite scp, l'immagine sul device. Per esempio:

      scp communitylab-firmware-NUC-i686.img.gz root@[fdf5:5351:1dfd:42::2]:/tmp/ 
    • e poi entrare in ssh sul device, scaricare l'ultimo script di upgrade ed eseguirlo, dando i comandi:

      wget --no-check-certificate https://redmine.confine-project.eu/projects/confine/repository/revisions/master/raw/packages/confine/confine-parted/files/usr/sbin/confine.sysupgrade
      
      chmod +x ./confine.sysupgrade
      
      gunzip communitylab-firmware-NUC-i686.img.gz
      
      ./confine.sysupgrade -n communitylab-firmware-NUC-i686.img

Invece la procedura di upgrade che utilizzava un unico comando dd scrivendo l'immagine direttamente sul disco non e' piu' supportata.

Maggiori informazioni qui

Troubleshooting

  • Il comando ifconfig potrebbe non far comparire tutti gli indirizzi IP effettivamente configurati. Utilizzare ip address show

  • Dopo l'installazione del sistema avvengono dai 3 ai 5 riavvii. Questo e' normale
  • Alcune tastiere (ad esempio wireless con hub USB interno) potrebbero non funzionare correttamente. Provare ad utilizzare una tastiera USB piu' basica
  • Se all'avvio il sistema non ha connettivita' verso Internet, il research device rimarra' nello stato OFFLINE sul controller per un tempo indefinito. Issue

  • Tra l'inserimento del cavo ethernet e l'effettiva registrazione da parte del kernel dell'evento potrebbero passare parecchi secondi
  • Anche se la RAM inclusa e' 8GB, il sistema ne vede 4. Issue (risolto tramite l'utilizzo di PAE)

Vedere Anche