Come creare macchine virtuali per esperimenti e servizi sperimentali in CONFINE

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 creare Sliver, ovvero macchine virtuali, per effettuare esperimenti o fornire servizi sperimentali, all'interno dell'infrastruttura CommunityLab di CONFINE.

Vedere anche ConfineHowTo

<<TableOfContents: esecuzione non riuscita [list index out of range] (consultare anche la registrazione)>>

Concetti di base

Per poter utilizzare CommunityLab sono necessarie alcune conoscenze sulla terminologia e l'architettura.

architecture.png

Per nodi o research device si intendono computer (tipicamente Intel NUC) sparsi all'interno della community network.

I research device possono ospitare zero o piu' macchine virtuali o sliver. Queste sono basate sui linux container (LXC).

Una slice è una collezione di sliver ospitate su più research device che tipicamente fanno parte dello stesso esperimento o servizio.

Ogni sliver è basata su un template, ovvero la distribuzione Linux (tipicamente OpenWrt o Debian) che viene installata al momento della creazione della sliver.

Le sliver hanno tipicamente tre tipi principali di indirizzi:

Per maggiori informazioni vedere Node architecture

Creazione di una slice

Ecco i passi necessari per la creazione di una slice all'interno di CommunityLab.

screenshot_ssh_key.png

screenshot_slices.png

screenshot_slice_resources.png

screenshot_add_slivers.png

screenshot_choose_nodes.png

screenshot_interfaces.png

Accedere alle sliver

screenshot_sliverlist.png

screenshot_sliverstate_json.png

VPN di management (tinc)

La VPN di management è unica per tutti i nodi e le sliver ed è basata sul software VPN tinc.

Per accedere alla VPN:

screenshot_tinc_key.png

Limitazioni attuali

REST API

Community-Lab espone un'API che può essere utilizzata per ottenere informazioni sullo stato delle sliver e dei nodi, per creare e distruggere sliver, etc.

Documentazione: http://wiki.confine-project.eu/arch:rest-api Esempi: http://redmine.confine-project.eu/projects/confine-utils/repository

TODO