Transcript
Page 1: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Cloud Computing e OpenStack

1

Daniela Loreti, Ph.D. Student Dipartimento di Informatica Scienze e

Ingegneria (DISI) [email protected]

Page 2: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Cos’è il Cloud Computing

Paradigma computazionale che racchiude diverse tecnologie per permettere l’accesso a risorse hardware (storage, CPU, network) o software remote come fossero locali.

Openstack: Piattaforma software per il management di un

datacenter destinato al cloud computing “sistema operativo per il cloud” “software per tramutare un datacenter in un cloud”

2

Page 3: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Motivazioni

3

IT deve fornire servizi in maniera continuata e dinamica

Tempo  

Capacità  

Capacità  computazionale  a  disposizione

Page 4: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Motivazioni

4

IT deve fornire servizi in maniera continuata e dinamica

Tempo  

Capacità  

Capacità  realmente  usata

Page 5: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Motivazioni

5

IT deve fornire servizi in maniera continuata e dinamica

Tempo  

Capacità  

Spreco  di  risorse  e  denaro

Page 6: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Motivazioni

6

IT deve fornire servizi in maniera continuata e dinamica

Tempo  

Capacità  

Rallentamen5  e  blocchi

Page 7: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Motivazioni

7

IT deve fornire servizi in maniera continuata e dinamica

Tempo  

Capacità  

Comportamento  offerto  dal  cloud  compu5ng

Page 8: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Scenario del cloud

Sistemi Operativi T AA 2009-2010 8

Le risorse computazionali del Provider sono offerte (rese accessibili via internet) a diverse tipologie di clienti, sfruttando i vantaggi offerti dalla virtualizzazione

Page 9: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

OpenStack

Piattaforma software per il management di un cloud

•  Progetto iniziato nel 2010 dalla collaborazione tra Rackspace e la NASA

•  Attualmente alla 9° release (Icehouse) Finalità analoga ad altri prodotti: •  Vmware •  Amazon EC2 … ma open source!

9

Page 10: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

OpenStack: con chi deve parlare?

Il virtual machine monitor (VMM) permette di eseguire più macchine virtuali (con SO diversi) su una stessa macchina fisica Esistono diversi software per realizzare il VMM:

KVM/QEMU, Xen, ecc…

10

VIRTUAL MACHINE MONITOR

HARDWARE

applicazioni SO

applicazioni applicazioni SO SO

VM1 VM2 VM3

Page 11: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

OpenStack: come si gestisce un cloud

11

HARDWARE

applicazioni

sistema operativo

applicazioni applicazioni

sistema operativo sistema operativo

VM1 VM2 VM3

VIRTUAL MACHINE MONITOR

OPENSTACK

•  Viene installato sul VMM

•  si avvale delle sue funzionalità per creare un cloud di macchine fisiche

OPENSTACK VMM VMM VMM VMM VMM VMM

Page 12: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Libvirt per fronteggiare l’eterogeneità

12

LIBVIRT

HARDWARE

applicazioni

sistema operativo

applicazioni applicazioni

sistema operativo sistema operativo

VM1 VM2 VM3

VIRTUAL MACHINE MONITOR

OPENSTACK

Si avvale di libvirt: •  layer per VMs

management (creare, avviare, fermare, modificare, monitorare, migrare)

•  permette di interagire con diversi VMM ❒  Kvm/Qemu, ❒  Xen, ❒  Vmware ESX ❒  MS Hyper-V ❒  …

Page 13: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Componenti di Openstack

13

Architettura modulare: •  Keystone - Identity service •  Glance - Image service •  Nova – Compute •  Cinder – Block storage •  Nova Network / Neutron – Networking service •  Ceilometer – Monitoring •  Horizon – Dashboard Se qualcosa non mi serve, posso evitare di installarlo!

Page 14: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Architettura di Openstack (nova-network)

14

Le macchine fisiche del datacenter vengono configurate in due modi

VM1 VM2 VM3 DB  

Page 15: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Architettura di Openstack (nova-network)

15

Architettura fortemente centralizzata :

VM2 x.x.x.2 VM1 x.x.x.1

VM3 x.x.x.3

VM4 y.y.y.4

VM5 y.y.y.5

VM6 y.y.y.6

Page 16: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Architettura di Openstack (neutron)

16

Le macchine fisiche del datacenter vengono configurate in tre modi

VM1 VM2 VM3 DB  

Page 17: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

L’utente può definire: •  network, subnet e

router •  firewall •  load balancer •  VPN

Architettura di OpenStack (neutron)

17

Architettura ancora centralizzata

VM2 x.x.x.2

VM3 x.x.x.3

VM4 y.y.y.4

VM6 y.y.y.6

R x.x.x.1 R y.y.y.1

Page 18: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Command flow

Sistemi Operativi T AA 2009-2010 18

[daniela]$- nova --os-username admin!--os-tenant-name tenant !--os-auth-url 'http://controller:35357/v2.0' --os-password password list!

keystone authentication

LIBVIRT

no! ok

OPENSTACK

VIRTUAL MACHINE MONITOR (XEN)

Page 19: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Passi per lanciare la prima VM

•  Per lanciare la prima VM devo prima: ①  avere a disposizione l’immagine da cui

fare il boot ②  avere a disposizione una rete a cui

attaccare la VM, un IP da affidarle per poterla raggiungere

③  eseguire il comando di avvio

Sistemi Operativi T AA 2009-2010 19

Page 20: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

•  Scaricare un’immagine da internet: […]$- wget http://cdn.dowload.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img!

•  Caricare l’immagine nell’Image Service […]$- glance image-create !--name "cirros-0.3.2-x86_64” --disk-format qcow2 !--container-format bare --is-public True !--progress < cirros-0.3.2-x86_64-disk.img!

Ora l’immagine è nell’Image Service![…]$- glance image-list!

+------+-------------------+-------+----------+--------+!| ID |Name |Disk F.| Size |Status |!+------+-------------------+-------+----------+--------+!|acafc…|cirros-0.3.2-x86_64| qcow2 | 13167616 | active |!+------+-------------------+-------+----------+--------+!

Sistemi Operativi T AA 2009-2010 20

①  Caricare un’immagine

Page 21: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

②  Creare una rete per le future VM (nova-network)

•  Le VM devono avere un indirizzo fixed privato utilizzato per le comunicazioni intra-cloud. Mi autentico come utente pluto e creo la mia rete interna

[…]-$ nova [--os-username pluto …] network-create pluto-net --bridge br100 --multi-host T --fixed-range-v4 192.168.26.0/24 !

•  Le VM possono avere anche 1 o più indirizzi floating pubblici

[…]-$ nova-manage [--os-username pluto …] floating create --pool pluto-pool --ip_range 68.99.26.0/24

Sistemi Operativi T AA 2009-2010 21

Page 22: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

③  Creare e lanciare una nuova VM •  Genero una chiave ssh per l’accesso alla macchina […]-$ nova keypair-add --pub-key ~/.ssh/id_rsa.pub pluto-key!

•  Lancio una istanza dell’immagine, la mia prima VM […]-$ nova boot --flavor m1.tiny --image cirros-0.3.2-x86_64 --nic net-id=[…] --security-group default --key-name pluto-key instance1!

•  Verifico l’avanzamento del boot: […]-$ nova list!+------+---------+------+-----------+----------------------+!|ID |Name |Status|Power State|Networks |!+------+---------+------+-----------+----------------------+!|45ea… |instance1|ACTIVE|Running |pluto-net=192.168.26.2,!

! ! ! ! ! ! !68.99.26.1 |!+------+---------+------+-----------+----------------------+!

Sistemi Operativi T AA 2009-2010 22

Page 23: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Accedere alla nuova istanza

•  Posso accedere via ssh […]-$ ssh [email protected]!•  oppure collegarmi con una sessione Virtual Network

Computing (VNC) e accedere l’istanza col browser […]-$ nova get-vnc-console instance1 novnc!+-------+--------------------------------------------------+!| Type | Url |!+-------+--------------------------------------------------+!| novnc | http://controller:6080/vnc_auto.html? ! | !

! ! token=2f6dd985-f906-4bfc-b566-e87ce656375b|!+-------+--------------------------------------------------+!

!

Sistemi Operativi T AA 2009-2010 23

Page 24: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

nova-scheduler

•  usato da nova-compute per decidere su quale host fisico mettere le nuove VMs.

•  agisce in due step: ①  Filter: quali host devo scartare? chi ha abbastanza

risorse per ospitare la VM? ②  Weight: ordino gli host filtrati dal migliore al

peggiore. •  è “fine-grain configurable”. Posso decidere:

❒  come filtrare gli host destinatari ❒  come pesare gli host destinatari

Sistemi Operativi T AA 2009-2010 24

Page 25: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

nova-scheduler: esempi di filtro scheduler_default_filters=RamFilter!Es: la VM che voglio allocare richiede 1GB di RAM. Gli host su cui la posso allocare sono: i filtri sono combinabili: scheduler_default_filters=!

!RamFilter,CoreFilter,DiskFilter…!Se non imposto filtri per una risorsa, lo scheduler può fare OVERPROVISIONING

Sistemi Operativi T AA 2009-2010 25

512 MB

128MB

2 GB

3 GB

H1 H2 H3 H4

Page 26: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

nova-scheduler: esempi di pesi Es: la VM che voglio allocare richiede 1GB di RAM. Dov’è meglio metterla? ram_weight_multiplier=1! ram_weight_multiplier=-1!

Sistemi Operativi T AA 2009-2010 26

512 MB

128MB

2 GB

3 GB

H1 H2 H3 H4

1!2!4!3!

512 MB

128MB

2 GB

3 GB

H1 H2 H3 H4

4!3!1!2!

massimo bilanciamento

massimo risparmio

Page 27: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Migrare una VM

•  E’ possibile migrare una VM su un altro host (e.g., per risparmiare energia)

•  OpenStack distingue tra: ❒  Migration (o non-live migration): l’istanza

viene spenta per il tempo della migrazione => lungo downtime.

•  La VM “crede” di essere stata riavviata

❒  Live-migration:(o true live migration) l’istanza rimane running durante la migrazione => breve downtime

•  la VM non è raggiungibile “per un po’ di tempo” Sistemi Operativi T AA 2009-2010 27

Page 28: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Diversi tipi di Live migration

•  Block live migration: ❒  copia l’immagine, poi le pagine di memoria, poi lo

stato (registri di CPU). •  Shared storage-based live migration. Le

immagini delle VM sono salvate su file system condiviso: ❒  copia le pagine, poi lo stato, collega l’immagine alla

nuova copia di VM sul nuovo host. •  Volume-backed live migration. Le immagini

delle VM sono salvate su un database condiviso: ❒  copia le pagine, poi lo stato,, collega l’immagine

nel database alla nuova copia di VM. Sistemi Operativi T AA 2009-2010 28

Page 29: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Riferimenti

OpenStack è un software ampiamente documentato: http://docs.openstack.org In particolare: •  Openstack Installation Guide, per diverse

distro linux (Es: RHEL: http://docs.openstack.org/icehouse/install-guide/install/yum/content/)

•  Openstack Cloud Administration Guide: http://docs.openstack.org/admin-guide-cloud/content

Sistemi Operativi T AA 2009-2010 29

Page 30: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Nuove frontiere

Sistemi Operativi T AA 2009-2010 30

internet

Enterprise cloud Provider cloud

•  Per molte aziende con una solida architettura IT il cloud non basta…

Page 31: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Nuove frontiere: Hybrid Cloud

Sistemi Operativi T AA 2009-2010 31

internet

Enterprise cloud Provider cloud

•  Sarebbe più comodo poter usare il proprio cloud per la maggior parte del tempo e poi migrare macchine virtuali sul cloud del provider quando se ne ha necessità.

CLOUD BURSTING

Page 32: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Nuovissime frontiere: OpenStack per Hybrid Cloud

OpenStack è attualmente in grado di gestire un solo cloud. Occorre un “meccanismo di raccodo tra diversi cloud” per: •  gestire l’eterogeneità delle architetture •  permettere la migrazione di macchine

virtuali da un ambiente all’altro …magari senza (o con breve) interruzione di servizio => inter-cloud live migration

Tesi disponibili su questo argomento

Sistemi Operativi T AA 2009-2010 32

Page 33: Cloud Computing e OpenStack - unibo.itlia.disi.unibo.it/Courses/som1415/materiale/OpenStack.pdf · 2014. 12. 10. · OpenStack: con chi deve parlare? Il virtual machine monitor (VMM)

Domande?

[email protected]

Sistemi Operativi T AA 2009-2010 33


Recommended