SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
NETWORKING CON
USER MODE LINUX
E uml_mconsole


                  1
Configurazione della rete




                            2
Scopo dell'esperienza (1)
Creare 4 sistemi in rete come nella figura




                                             3
Scopo dell'esperienza (2)
• Quattro nodi
   – Node11-3
   – Node11-5
   – NodeX
   – Node22-1
• Due sottoreti
   – 192.168.11.0, legata a switch1
   – 192.168.22.0, legata a switch2
   – Netmask1=255.255.255.240
   – netmask2=255.255.255.248
• Obiettivo: far comunicare i nodi attraverso le due
  sottoreti
                                                       4
Presentazione dei componenti della rete
• switch1
   – connesso alla socket unix /tmp/uml1.ctl
• switch2
   – connesso alla socket unix /tmp/uml2.ctl
• Node11-3
     ...
• Node11-5
     analogo a node11-3 ma...
• Node22-1
     analogo a Node11-3 ma...
• NodeX
     diverso dai precedenti perchè...
                                               5
Due parole su come si scompatta un archivio
• tar (TApe aRchive)
• Opzioni
   – -v (verbose operation)
   – comando
      -x scompatta
      -t mostra contenuto

  – algoritmo di compressione
      -Z compress (archivi .tar.Z)
      -z gzip (archivi .tar.gz)
      -j bzip2 (archivi .tar.bz2)

   – -f file
• Esempio:
  tar -xzvf archivio.tar.gz               6
Primo passo: preparare i sistemi UML
• Assicurarsi di avere le immagini dei filesystem nella
  opportuna directory
   – NOTA: MAI lavorare in $HOME, SEMPRE in /tmp
   – usiamo l'immagine debian5c.ext2 (sperando che
     stavolta funzioni, altrimenti installato.ext2)
• Fare partire il supporto per la rete (i due switch
  virtuali)
   – switch1
   $ ./uml_switch -unix /tmp/uml1.ctl
   – switch2
   $ ./uml_switch -unix /tmp/uml2.ctl

                                                          7
Errori comuni
• Mettere lo spazio tra i sottoparametri del kernel
   – NO: ubd0=file.cow, file.ext2
   – SI: ubd0=file.cow,file.ext2
• Sbagliare a scrivere i nomi dei parametri
   – NO: udb
   – SI: ubd
   – NO: demon o damon
   – SI: daemon
• Terminare in modo sporco i processi UML
   – MAI chiudere le finestre di UML, dare il comando
     shutdown dalla linea di comando del sistema UML

                                                        8
Secondo passo: configurare i nodi (1)
• Si fa il login su ciascuno dei nodi e si lavora da linea
  di comando sui nodi virtuali
• Login:
   – Username: root
   – Password nulla (basta battere invio, se non funziona
     provare con “root”)
• Dare un nome ai nodi:
   – Editare il file /etc/hostname in modo che contenga il
     nome del nodo




                                                             9
Secondo passo: configurare i nodi (2)
• Inserire le giuste informazioni di rete per risolvere i
  nomi
   – Si agisce sul file /etc/hosts
   – Alla fine ogni nodo dovrebbe avere un file fatto in
      questo modo:
   127.0.0.1              localhost
   192.168.11.3           Node11-3
   ...




                                                            10
Quarto passo: configurare le interfacce di
                rete (1)
• Si usa il file /etc/network/interfaces
• Il file contiene diverse direttive
   – Direttiva auto: quali interfacce vanno inizializzate
      all'avvio della macchina
       auto lo
       auto eth0
       auto eth1 (per node2)

   – Direttiva iface: una per ogni interfaccia
       iface <nome> inet <modalità>
       <nome> vale lo, eth0, eth1
       inet indica che sono interfacce TCP/IP



                                                            11
Quarto passo: configurare le interfacce di
                rete (2)
• Direttiva iface nel file /etc/network/interfaces
  – <modalità> vale
      dhcp = inizializzazione dell'interfaccia in modo automatico col
       protocollo dhcp
      loopback = interfaccia locale (127.0.0.1)
      static = seguono parametri per configurare l'interfaccia

  – Configurazione statica di un'interfaccia
      address = indirizzo IP dell'interfaccia (192.168.X.Y)
      netmask = 255.255.255.0
      network = indirizzo della rete (192.168.X.0)
      broadcast = indirizzo di broadcast (192.168.X.255)
      gateway = solo per node1 e node3, l'indirizzo dell'interfaccia
       di node2 che si affaccia sulla sottorete
                                                                         12
Quinto passo: mettere tutto insieme
• Possiamo riavviare tutti e tre i sistemi
   $ reboot
• In alternativa possiamo forzare il riavvio delle
  interfacce di rete con i comandi
   – ifdown <interfaccia>, ifup <interfaccia> oppure
   – /etc/init.d/networking restart
• In entrambi i casi abbiamo comunicazione entro una
  sottorete
   – Facendo login da Node11-3 riusciamo a fare ping su
     Node11-5 e viceversa
   – Ogni nodo deve essere in grado di pingare NodeX
   – Dopo una “particolare operazione” tutti i nodi pingano
     tra loro                                                 13
Sfruttiamo la uml_mconsole




                             14
uml_mconsole
 La uml_mconsole è un prezioso strumento che ci
 permette di intervenire dall'esterno sui nodi senza la
 necessità di fermarli.

 La sintazzi tipica è:
   uml_mconsole umid request

 se abbiamo più richieste per la stessa macchina
   uml_mconsole umid

• IMPORTANTE: se vogliamo usare la uml_mconsole
  quando lanciamo le macchine dobbiamo passare
  l'pzione umid=xyz (xyz=nome del nodo!)                  15
uml_mconsole – comandi principali
I comandi principali sono:
• quit -> ci fa uscire dalla console
• help -> ci mostra I comandi disponibili
• halt -> spegne la macchina
• reboot -> riavvia la macchina
• cad -> manda il segnale cad gestito da /etc/inittab
• config dev=config -> aggiunge il dispositivo dev alla
                        macchina
• remove dev -> rimuove il dispositivo dev
• sysrq lettter -> esegue l'azione associata a letter
• stop -> mette in pausa la macchina
• go -> fa ripartire una macchina fermata in precedenza
                                                          16
Gestione device – Esempio (1)
Facciamo riferimento all'esercizio precedente e
ipotizziamo di voler collegare il nodo11-5 anche alla
sottorete 192.168.22.0
Cosa bisogna fare?
• Basta modificare il file /et/network/interfaces?
• Basta prendere un altro cavo e attaccarlo allo
  switch2?
• Occorre inevitabilmente spegnere la macchina e farla
  ripartire con un nuovo comando?
• Altre ipotesi?



                                                         17
Gestione device – Esempio (2)
Usiamo la uml_mconsole
1) Ci connettiamo
     uml_mconsole Node11-5
2) Aggiungiamo un'interfaccia
    config eth1=daemon,,unix,/tmp/uml2.ctl
3) Usciamo dalla uml_mconsole
     quit
4) Configuriamo l'interfaccia all'interno della rete
    ifconfig eht1 192.168.22.5 netmask 255.255.255.248 up




                                                            18
Gestione device – Esempio (3)




                                19
Gestione device – Esempio (4)
Considerando la nuova rete, è possibile ottimizzare il
routing dei pacchetti?
  – No, perchè...
  – Si, configurando...




                                                         20
uml_mconsole – segnali
La possibilità di inviare segnali alle macchine è molto
utile. Vediamo i segnali più utili:
• cad → equivalente a Ctrl+Alt+Del
• b →reboot, UML cleanup
• i →uccide tutti i task mandando un SIGKILL
• e → terminiamo tutti i task mandando un SIGTERM
• m → mostra l'utilizzo della memoria
• p → Esegue il dump dei registri e dello stack
• s → sincronizza i dati “dirty” sull'unità di storage




                                                          21
Utilizzo dei segnali - Esempio
Supponiamo di voler effettuare una copia di backup di
una macchina senza volerla spegnere e riaccendere.
Cosa bisogna fare?
• Fare il dump della memoria della macchina host e
  ricostruire lo stato della memoria della macchina
  virtuale
• È sufficiente copiare il file .cow senza particolari
  accorgimenti
• Altro?




                                                         22
Utilizzo dei segnali - Esempio
La procedura da seguire per un corretto backup è:
• $uml_mconsole Node11-5 stop
  OK
• $uml_mconsole Node11-5 sysrq s
  SysRq: Emergency Sync
• $cp Node11-5.cow Node11-5-backup.cow
• $uml_mconsole Node11-5 stop
  OK




                                                    23
hostfs
Dall'interno delle macchine virtuali è possibile
accedere a risorse esterne in due differenti modalità:
• Tramite la rete
• Accedendo direttamente al file system dell'host
Nel primo caso è necessario avere permessi speciali
per poter configurare risorse di rete sulla macchina
host.
Nel secondo caso abbiamo la possibilità di accedere
all'intero file system della macchina host (con qualche
limitazione)



                                                          24
hostfs – Come Funziona
Il comando da utilizzare all'interno della macchina
virtuale è estremamente semplice:
     UML$ mount none /mnt -t hostfs [-o /tmp]
Analizziamo il comando nel dettaglio:
• mount → comando per montare file system (fs)
• none → dispositivo su cui si trova il fs
• /mnt → directory in cui montare il fs
• -t hostfs → tipo di fs
• -o /tmp → directory dell'host file system che si
            vuole montare (assieme alle sottodirectory)
Esercizio: montate la cartella /tmp dell'host e provate
ad aprire un file con vim sia dal lato UML che da lato
host. Cosa succede?                                       25
Esercizio
Per chi è stato veloce e ha già finito.




                                          26

Mais conteúdo relacionado

Mais procurados

Sistemi Operativi: CPU Scheduler - Lezione 09
Sistemi Operativi: CPU Scheduler - Lezione 09Sistemi Operativi: CPU Scheduler - Lezione 09
Sistemi Operativi: CPU Scheduler - Lezione 09Majong DevJfu
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaAlessandro Selli
 
Moduli del kernel - Boot del sistema
 Moduli del kernel - Boot del sistema Moduli del kernel - Boot del sistema
Moduli del kernel - Boot del sistemaFulvio Corno
 
Giochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsGiochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsalberto fiaschi
 
Gestione dischi - File system - LVM
 Gestione dischi - File system - LVM Gestione dischi - File system - LVM
Gestione dischi - File system - LVMFulvio Corno
 
MontelLUG - Conferenze 2007 - Introduzione a RSync
MontelLUG - Conferenze 2007 - Introduzione a RSyncMontelLUG - Conferenze 2007 - Introduzione a RSync
MontelLUG - Conferenze 2007 - Introduzione a RSyncManuel Dalla Lana
 
Lug Roma3 Corso Linux Base
Lug Roma3   Corso Linux BaseLug Roma3   Corso Linux Base
Lug Roma3 Corso Linux Basefosk
 
Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05Majong DevJfu
 
Amministrazione base dei sistemi Linux
Amministrazione base dei sistemi LinuxAmministrazione base dei sistemi Linux
Amministrazione base dei sistemi LinuxPaolo Campegiani
 
Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02Majong DevJfu
 
Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Marcello Missiroli
 
Oracle Application Server 10g
Oracle Application Server 10gOracle Application Server 10g
Oracle Application Server 10gPaolo Campegiani
 
Cosa è Gnu/Linux - Breve storia - Concetti fondamentali
 Cosa è Gnu/Linux - Breve storia - Concetti fondamentali Cosa è Gnu/Linux - Breve storia - Concetti fondamentali
Cosa è Gnu/Linux - Breve storia - Concetti fondamentaliFulvio Corno
 

Mais procurados (20)

LTSP
LTSPLTSP
LTSP
 
Sistemi Operativi: CPU Scheduler - Lezione 09
Sistemi Operativi: CPU Scheduler - Lezione 09Sistemi Operativi: CPU Scheduler - Lezione 09
Sistemi Operativi: CPU Scheduler - Lezione 09
 
Scheduling In Linux
Scheduling In LinuxScheduling In Linux
Scheduling In Linux
 
J huery
J hueryJ huery
J huery
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compatta
 
Moduli del kernel - Boot del sistema
 Moduli del kernel - Boot del sistema Moduli del kernel - Boot del sistema
Moduli del kernel - Boot del sistema
 
Giochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsGiochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfs
 
PostgreSQL : Tuning
PostgreSQL : TuningPostgreSQL : Tuning
PostgreSQL : Tuning
 
Gestione dischi - File system - LVM
 Gestione dischi - File system - LVM Gestione dischi - File system - LVM
Gestione dischi - File system - LVM
 
Lezione tre
Lezione treLezione tre
Lezione tre
 
MontelLUG - Conferenze 2007 - Introduzione a RSync
MontelLUG - Conferenze 2007 - Introduzione a RSyncMontelLUG - Conferenze 2007 - Introduzione a RSync
MontelLUG - Conferenze 2007 - Introduzione a RSync
 
Lug Roma3 Corso Linux Base
Lug Roma3   Corso Linux BaseLug Roma3   Corso Linux Base
Lug Roma3 Corso Linux Base
 
Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05
 
Amministrazione base dei sistemi Linux
Amministrazione base dei sistemi LinuxAmministrazione base dei sistemi Linux
Amministrazione base dei sistemi Linux
 
Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02
 
Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)
 
Oracle Application Server 10g
Oracle Application Server 10gOracle Application Server 10g
Oracle Application Server 10g
 
Cell Programming 1
Cell Programming 1Cell Programming 1
Cell Programming 1
 
Cosa è Gnu/Linux - Breve storia - Concetti fondamentali
 Cosa è Gnu/Linux - Breve storia - Concetti fondamentali Cosa è Gnu/Linux - Breve storia - Concetti fondamentali
Cosa è Gnu/Linux - Breve storia - Concetti fondamentali
 
Packet Sniffing
Packet SniffingPacket Sniffing
Packet Sniffing
 

Destaque

Posta Elettronica E Www
Posta Elettronica E WwwPosta Elettronica E Www
Posta Elettronica E Wwwbity1988
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA CloudMajong DevJfu
 

Destaque (6)

Posta Elettronica E Www
Posta Elettronica E WwwPosta Elettronica E Www
Posta Elettronica E Www
 
Uml2
Uml2Uml2
Uml2
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
Uml3
Uml3Uml3
Uml3
 
9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
 

Semelhante a Introduzione Alla Uml Mconsole

Traffic Shaping Su Linux
Traffic Shaping Su LinuxTraffic Shaping Su Linux
Traffic Shaping Su LinuxMajong DevJfu
 
Elementidi informatica
Elementidi informaticaElementidi informatica
Elementidi informaticagiu89
 
Network configuration - IPTables firewall
 Network configuration - IPTables firewall Network configuration - IPTables firewall
Network configuration - IPTables firewallFulvio Corno
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxMarco Ferrigno
 
Sistemi Operativi: Thread - Lezione 08
Sistemi Operativi: Thread - Lezione 08Sistemi Operativi: Thread - Lezione 08
Sistemi Operativi: Thread - Lezione 08Majong DevJfu
 
MITM Attack with Patching Binaries on the Fly by Adding Shellcodes
MITM Attack with Patching Binaries on the Fly by Adding ShellcodesMITM Attack with Patching Binaries on the Fly by Adding Shellcodes
MITM Attack with Patching Binaries on the Fly by Adding ShellcodesGianluca Gabrielli
 
A short introduction about traffic shaping and K-Shaper tool --- speech at Ha...
A short introduction about traffic shaping and K-Shaper tool --- speech at Ha...A short introduction about traffic shaping and K-Shaper tool --- speech at Ha...
A short introduction about traffic shaping and K-Shaper tool --- speech at Ha...Massimiliano Leone
 
Linux Device Drivers
Linux Device DriversLinux Device Drivers
Linux Device DriversFabio Nisci
 
Sistemi di Build Alternativi
Sistemi di Build AlternativiSistemi di Build Alternativi
Sistemi di Build AlternativiDario Bertini
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspLaura Camellini
 
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Gabriele Guizzardi
 
Multithreading, multiprocessing e Asincronia
Multithreading, multiprocessing e AsincroniaMultithreading, multiprocessing e Asincronia
Multithreading, multiprocessing e AsincroniaSebastiano Merlino (eTr)
 
Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Marco Chiesi
 
TOR - The Onion Router
TOR - The Onion Router TOR - The Onion Router
TOR - The Onion Router Marcello Viti
 
Virtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e XenVirtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e XenClaudio Cardinali
 
Nagios in alta affidabilità con strumenti open source
Nagios in alta affidabilità con strumenti open sourceNagios in alta affidabilità con strumenti open source
Nagios in alta affidabilità con strumenti open sourceBabel
 
Cross compiler per uso domestico
Cross compiler per uso domesticoCross compiler per uso domestico
Cross compiler per uso domesticoBabel
 

Semelhante a Introduzione Alla Uml Mconsole (20)

Traffic Shaping Su Linux
Traffic Shaping Su LinuxTraffic Shaping Su Linux
Traffic Shaping Su Linux
 
Elementidi informatica
Elementidi informaticaElementidi informatica
Elementidi informatica
 
Network configuration - IPTables firewall
 Network configuration - IPTables firewall Network configuration - IPTables firewall
Network configuration - IPTables firewall
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
 
Sistemi Operativi: Thread - Lezione 08
Sistemi Operativi: Thread - Lezione 08Sistemi Operativi: Thread - Lezione 08
Sistemi Operativi: Thread - Lezione 08
 
MITM Attack with Patching Binaries on the Fly by Adding Shellcodes
MITM Attack with Patching Binaries on the Fly by Adding ShellcodesMITM Attack with Patching Binaries on the Fly by Adding Shellcodes
MITM Attack with Patching Binaries on the Fly by Adding Shellcodes
 
A short introduction about traffic shaping and K-Shaper tool --- speech at Ha...
A short introduction about traffic shaping and K-Shaper tool --- speech at Ha...A short introduction about traffic shaping and K-Shaper tool --- speech at Ha...
A short introduction about traffic shaping and K-Shaper tool --- speech at Ha...
 
Linux Device Drivers
Linux Device DriversLinux Device Drivers
Linux Device Drivers
 
Infrastructure as Data
Infrastructure as DataInfrastructure as Data
Infrastructure as Data
 
Sistemi di Build Alternativi
Sistemi di Build AlternativiSistemi di Build Alternativi
Sistemi di Build Alternativi
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcsp
 
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
 
Multithreading, multiprocessing e Asincronia
Multithreading, multiprocessing e AsincroniaMultithreading, multiprocessing e Asincronia
Multithreading, multiprocessing e Asincronia
 
Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018
 
TOR - The Onion Router
TOR - The Onion Router TOR - The Onion Router
TOR - The Onion Router
 
Virtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e XenVirtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e Xen
 
Progetto Netkit
Progetto NetkitProgetto Netkit
Progetto Netkit
 
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativi
 
Nagios in alta affidabilità con strumenti open source
Nagios in alta affidabilità con strumenti open sourceNagios in alta affidabilità con strumenti open source
Nagios in alta affidabilità con strumenti open source
 
Cross compiler per uso domestico
Cross compiler per uso domesticoCross compiler per uso domestico
Cross compiler per uso domestico
 

Mais de Majong DevJfu

8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processesMajong DevJfu
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural stylesMajong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a productMajong DevJfu
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
25 architectural adaptation
25 architectural adaptation25 architectural adaptation
25 architectural adaptationMajong DevJfu
 
24 dssa and_product_lines
24 dssa and_product_lines24 dssa and_product_lines
24 dssa and_product_linesMajong DevJfu
 
22 deployment and_mobility
22 deployment and_mobility22 deployment and_mobility
22 deployment and_mobilityMajong DevJfu
 
21 security and_trust
21 security and_trust21 security and_trust
21 security and_trustMajong DevJfu
 

Mais de Majong DevJfu (20)

8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
6
66
6
 
5
55
5
 
3
33
3
 
2
22
2
 
1
11
1
 
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
 
26 standards
26 standards26 standards
26 standards
 
25 architectural adaptation
25 architectural adaptation25 architectural adaptation
25 architectural adaptation
 
24 dssa and_product_lines
24 dssa and_product_lines24 dssa and_product_lines
24 dssa and_product_lines
 
23 intro to_dsse
23 intro to_dsse23 intro to_dsse
23 intro to_dsse
 
22 deployment and_mobility
22 deployment and_mobility22 deployment and_mobility
22 deployment and_mobility
 
21 security and_trust
21 security and_trust21 security and_trust
21 security and_trust
 

Último

Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 

Último (9)

Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 

Introduzione Alla Uml Mconsole

  • 1. NETWORKING CON USER MODE LINUX E uml_mconsole 1
  • 3. Scopo dell'esperienza (1) Creare 4 sistemi in rete come nella figura 3
  • 4. Scopo dell'esperienza (2) • Quattro nodi – Node11-3 – Node11-5 – NodeX – Node22-1 • Due sottoreti – 192.168.11.0, legata a switch1 – 192.168.22.0, legata a switch2 – Netmask1=255.255.255.240 – netmask2=255.255.255.248 • Obiettivo: far comunicare i nodi attraverso le due sottoreti 4
  • 5. Presentazione dei componenti della rete • switch1 – connesso alla socket unix /tmp/uml1.ctl • switch2 – connesso alla socket unix /tmp/uml2.ctl • Node11-3 ... • Node11-5 analogo a node11-3 ma... • Node22-1 analogo a Node11-3 ma... • NodeX diverso dai precedenti perchè... 5
  • 6. Due parole su come si scompatta un archivio • tar (TApe aRchive) • Opzioni – -v (verbose operation) – comando  -x scompatta  -t mostra contenuto – algoritmo di compressione  -Z compress (archivi .tar.Z)  -z gzip (archivi .tar.gz)  -j bzip2 (archivi .tar.bz2) – -f file • Esempio: tar -xzvf archivio.tar.gz 6
  • 7. Primo passo: preparare i sistemi UML • Assicurarsi di avere le immagini dei filesystem nella opportuna directory – NOTA: MAI lavorare in $HOME, SEMPRE in /tmp – usiamo l'immagine debian5c.ext2 (sperando che stavolta funzioni, altrimenti installato.ext2) • Fare partire il supporto per la rete (i due switch virtuali) – switch1 $ ./uml_switch -unix /tmp/uml1.ctl – switch2 $ ./uml_switch -unix /tmp/uml2.ctl 7
  • 8. Errori comuni • Mettere lo spazio tra i sottoparametri del kernel – NO: ubd0=file.cow, file.ext2 – SI: ubd0=file.cow,file.ext2 • Sbagliare a scrivere i nomi dei parametri – NO: udb – SI: ubd – NO: demon o damon – SI: daemon • Terminare in modo sporco i processi UML – MAI chiudere le finestre di UML, dare il comando shutdown dalla linea di comando del sistema UML 8
  • 9. Secondo passo: configurare i nodi (1) • Si fa il login su ciascuno dei nodi e si lavora da linea di comando sui nodi virtuali • Login: – Username: root – Password nulla (basta battere invio, se non funziona provare con “root”) • Dare un nome ai nodi: – Editare il file /etc/hostname in modo che contenga il nome del nodo 9
  • 10. Secondo passo: configurare i nodi (2) • Inserire le giuste informazioni di rete per risolvere i nomi – Si agisce sul file /etc/hosts – Alla fine ogni nodo dovrebbe avere un file fatto in questo modo: 127.0.0.1 localhost 192.168.11.3 Node11-3 ... 10
  • 11. Quarto passo: configurare le interfacce di rete (1) • Si usa il file /etc/network/interfaces • Il file contiene diverse direttive – Direttiva auto: quali interfacce vanno inizializzate all'avvio della macchina  auto lo  auto eth0  auto eth1 (per node2) – Direttiva iface: una per ogni interfaccia  iface <nome> inet <modalità>  <nome> vale lo, eth0, eth1  inet indica che sono interfacce TCP/IP 11
  • 12. Quarto passo: configurare le interfacce di rete (2) • Direttiva iface nel file /etc/network/interfaces – <modalità> vale  dhcp = inizializzazione dell'interfaccia in modo automatico col protocollo dhcp  loopback = interfaccia locale (127.0.0.1)  static = seguono parametri per configurare l'interfaccia – Configurazione statica di un'interfaccia  address = indirizzo IP dell'interfaccia (192.168.X.Y)  netmask = 255.255.255.0  network = indirizzo della rete (192.168.X.0)  broadcast = indirizzo di broadcast (192.168.X.255)  gateway = solo per node1 e node3, l'indirizzo dell'interfaccia di node2 che si affaccia sulla sottorete 12
  • 13. Quinto passo: mettere tutto insieme • Possiamo riavviare tutti e tre i sistemi $ reboot • In alternativa possiamo forzare il riavvio delle interfacce di rete con i comandi – ifdown <interfaccia>, ifup <interfaccia> oppure – /etc/init.d/networking restart • In entrambi i casi abbiamo comunicazione entro una sottorete – Facendo login da Node11-3 riusciamo a fare ping su Node11-5 e viceversa – Ogni nodo deve essere in grado di pingare NodeX – Dopo una “particolare operazione” tutti i nodi pingano tra loro 13
  • 15. uml_mconsole La uml_mconsole è un prezioso strumento che ci permette di intervenire dall'esterno sui nodi senza la necessità di fermarli. La sintazzi tipica è: uml_mconsole umid request se abbiamo più richieste per la stessa macchina uml_mconsole umid • IMPORTANTE: se vogliamo usare la uml_mconsole quando lanciamo le macchine dobbiamo passare l'pzione umid=xyz (xyz=nome del nodo!) 15
  • 16. uml_mconsole – comandi principali I comandi principali sono: • quit -> ci fa uscire dalla console • help -> ci mostra I comandi disponibili • halt -> spegne la macchina • reboot -> riavvia la macchina • cad -> manda il segnale cad gestito da /etc/inittab • config dev=config -> aggiunge il dispositivo dev alla macchina • remove dev -> rimuove il dispositivo dev • sysrq lettter -> esegue l'azione associata a letter • stop -> mette in pausa la macchina • go -> fa ripartire una macchina fermata in precedenza 16
  • 17. Gestione device – Esempio (1) Facciamo riferimento all'esercizio precedente e ipotizziamo di voler collegare il nodo11-5 anche alla sottorete 192.168.22.0 Cosa bisogna fare? • Basta modificare il file /et/network/interfaces? • Basta prendere un altro cavo e attaccarlo allo switch2? • Occorre inevitabilmente spegnere la macchina e farla ripartire con un nuovo comando? • Altre ipotesi? 17
  • 18. Gestione device – Esempio (2) Usiamo la uml_mconsole 1) Ci connettiamo uml_mconsole Node11-5 2) Aggiungiamo un'interfaccia config eth1=daemon,,unix,/tmp/uml2.ctl 3) Usciamo dalla uml_mconsole quit 4) Configuriamo l'interfaccia all'interno della rete ifconfig eht1 192.168.22.5 netmask 255.255.255.248 up 18
  • 19. Gestione device – Esempio (3) 19
  • 20. Gestione device – Esempio (4) Considerando la nuova rete, è possibile ottimizzare il routing dei pacchetti? – No, perchè... – Si, configurando... 20
  • 21. uml_mconsole – segnali La possibilità di inviare segnali alle macchine è molto utile. Vediamo i segnali più utili: • cad → equivalente a Ctrl+Alt+Del • b →reboot, UML cleanup • i →uccide tutti i task mandando un SIGKILL • e → terminiamo tutti i task mandando un SIGTERM • m → mostra l'utilizzo della memoria • p → Esegue il dump dei registri e dello stack • s → sincronizza i dati “dirty” sull'unità di storage 21
  • 22. Utilizzo dei segnali - Esempio Supponiamo di voler effettuare una copia di backup di una macchina senza volerla spegnere e riaccendere. Cosa bisogna fare? • Fare il dump della memoria della macchina host e ricostruire lo stato della memoria della macchina virtuale • È sufficiente copiare il file .cow senza particolari accorgimenti • Altro? 22
  • 23. Utilizzo dei segnali - Esempio La procedura da seguire per un corretto backup è: • $uml_mconsole Node11-5 stop OK • $uml_mconsole Node11-5 sysrq s SysRq: Emergency Sync • $cp Node11-5.cow Node11-5-backup.cow • $uml_mconsole Node11-5 stop OK 23
  • 24. hostfs Dall'interno delle macchine virtuali è possibile accedere a risorse esterne in due differenti modalità: • Tramite la rete • Accedendo direttamente al file system dell'host Nel primo caso è necessario avere permessi speciali per poter configurare risorse di rete sulla macchina host. Nel secondo caso abbiamo la possibilità di accedere all'intero file system della macchina host (con qualche limitazione) 24
  • 25. hostfs – Come Funziona Il comando da utilizzare all'interno della macchina virtuale è estremamente semplice: UML$ mount none /mnt -t hostfs [-o /tmp] Analizziamo il comando nel dettaglio: • mount → comando per montare file system (fs) • none → dispositivo su cui si trova il fs • /mnt → directory in cui montare il fs • -t hostfs → tipo di fs • -o /tmp → directory dell'host file system che si vuole montare (assieme alle sottodirectory) Esercizio: montate la cartella /tmp dell'host e provate ad aprire un file con vim sia dal lato UML che da lato host. Cosa succede? 25
  • 26. Esercizio Per chi è stato veloce e ha già finito. 26