User Tools

Site Tools


strutture:cnaf:cnaf_rd:infrastruttura:cluster_openstack

Cluster Openstack [OBSOLETED]

L'infrastruttura OpenStack di seguito descritta è da considersi un ambiente di TEST. Di conseguenza non viene garantita la continuità del servizio e non viene eseguito backup dei dati degli utenti.

Nodi

L'infrastruttura è composta dai seguenti nodi:

nome tipo ruolo
rd-blade-01 fisica cloud controller, network node, proxy swift
rd-blade-02 fisica compute node
rd-blade-03 fisica compute node
rd-blade-04 fisica compute node
rd-swift-01 virtual storage node
rd-swift-02 virtual storage node
rd-swift-03 virtual storage node
rd-swift-04 virtual storage node
rd-swift-05 virtual storage node
rd-ui virtual login node, openstack clients

Descrizione software

Le macchine fisiche che costituiscono l’installazione di OpenStack utilizzano come sistema operativo Fedora 19 (Schrödinger’s Cat). E' stata installata la versione Havana di Openstack e sono stati configurati i seguenti componenti:

  • Keystone (Identity management)
  • Glance (Image repositiry)
  • Cinder (Block storage)
  • Nova (Compute service)
  • Neutron (Network service)
  • Ceilometer (Metering service)
  • Swift (Object storage)


Sul nodo di login (rd-ui) sono stati installati solamente i command line clients di OpenStack per interagire con i servizi e i tool di Eucalyptus per utilizzare le API EC2.

Setup di rete

Le macchine usate per l’installazione di OpenStack hanno due interfacce di rete, per cui sono state utilizzate le seguenti reti:

  • 131.154.90.0/23: rete di management utilizzata per gestire gli hypervisor e dai servizi di OpenStack per comunicare fra di loro;
  • 192.168.0.0/24: rete privata interna allo chassis, usata come rete di trasporto per gre networks dei tenant;
  • 131.154.90.224/27: rete publica usata come external network da cui prendere i floating IP.


Dettaglio della configurazione di rete dei singoli hosts:

nodo br-ex eth0 eth1
rd-blade-01 131.154.90.17 , 131.154.90.225 - 192.168.0.1
rd-blade-02 - 131.154.90.18 192.168.0.2
rd-blade-03 - 131.154.90.19 192.168.0.3
rd-blade-04 - 131.154.90.20 192.168.0.4
rd-swift-01 - 131.154.90.55 -
rd-swift-02 - 131.154.90.56 -
rd-swift-03 - 131.154.90.57 -
rd-swift-04 - 131.154.90.58 -
rd-swift-05 - 131.154.90.59 -

Setup di Neutron

La configurazione fatta per Neutron è quella che la documentazione ufficiale definisce "Per Tenant Router con Reti Private": ciò significa che ad ogni tenant viene data la possbilità di crearsi una propria rete privata ed ad ognuno viene assegnato un indirizzo pubblico con il quale viene fatto il masquerading della rete privata. Poi ogni tenant può assegnare IP floating alle singole VM.

Esempio:


Per ottenere questo risultato, Neutron fa utilizzo di Open vSwitch e dei Linux namespaces.

Utilizzo delle risorse

Raggiunta la user interface, è possibile interagire con l’infrastruttura OpenStack mediante i seguenti endpoint:

Per chi volesse utilizzare l’interfaccia EC2, deve prima creare le proprie credenziali EC2 mediante il comando:

$ keystone ec2-credetials-create

E' consigliato creare un file rc contenente le credenziali e gli endpoint da passare ai client di OpenStack come variabili d’ambiente. Ad esempio creare il file openrc, ed inserire:

export OS_TENANT_NAME=foo
export OS_USERNAME=foo
export OS_PASSWORD=foo
export OS_AUTH_URL=http://rd-blade-01:5000/v2.0
export EC2_URL=http://rd-blade-01:8773/services/Cloud

Salvare il file e farne il source:

$ source openrc

Esempi

Interrogare il catalogo delle immagini

Con nova:

$ nova image-list
Elencare le reti disponibili
$ neutron net-list
Istanziare una VM

Prima di istanziare una VM, è consigliato creare un proprio keypair con:

$ nova keypair-add foo > foo.pem


Poi avviare la VM specificando il keypair:

$ nova boot --image <image_id> --flavor <flavor_id> --nic net-id=<net_id> --key-name foo test
Accedere alla VM

Per accedere alle VM, prima verificare l’IP dell’istanza con:

$ nova list


Poi accedere via SSH

ssh -i foo.pem root@<instance_ip>
strutture/cnaf/cnaf_rd/infrastruttura/cluster_openstack.txt · Last modified: 2015/07/23 19:37 by aiftim@infn.it

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki