Tags:
create new tag
,
view all tags
---+!! Casi d'uso di !OpenStack %TOC% <br /> ---+ Gestione di un volumi su VM in modo che agiscano da storage persistente Per fornire alle VM uno spazio dove salvare i dati in maniera persistente si crea un volume Nova, lo si associa ad una VM e lo si monta sulla VM. I file scritti in questo volume rimarranno persistenti. Quando l'associazione tra il volume e la VM verrà tolta e il volume verrà associato ad un'altra VM, questa vedrà i file salvati in precedenza sulla prima VM. * Sul server che ospita il servizio Nova Volume (openstack-01.cnaf.infn.it nel prototipo in esempio), creare un volume di 10 GB: <verbatim> # nova volume-create --display_name <VOLUME_NAME> 10 </verbatim> Dove <VOLUME_NAME> è il nome del volume che si vuole creare. * Mostrare tutti i volumi esistenti: <verbatim> # nova volume-list </verbatim> * Un volume in stato "available" può essere associato ad una istanza col seguente comando: <verbatim> # nova volume-attach <INSTANCE_ID> <VOLUME_ID> <MOUNT_POINT> </verbatim> Dove: * <INSTANCE_ID> è l'id dell'istanza che si vuole associare al volume * <VOLUME_ID> è l'id del volume ottenuto col comando =nova volume-list= * <MOUNT_POINT> è la partizione della macchina virtuale che verrà montata (ad esempio /dev/vdc) * Il Compute Node dove gira l'istanza gestisce una connessione iSCSI e crea una sessione. Per verificare che la sessione sia stata creata: <verbatim> # iscsiadm -m session </verbatim> con output del tipo: <verbatim> tcp: [1] 172.16.40.244:3260,1 iqn.2010-10.org.openstack:volume-1 </verbatim> * Loggarsi sulla instanza e verificare che lo spazio sia visibile con i comandi =dmesg | tail= e =fdisk -l= . L'output di quest'ultimo dovrebbe contenere delle righe del tipo: <verbatim> Disk /dev/vdc: 10.7 GB, 10737418240 bytes 16 heads, 63 sectors/track, 20805 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x9dbd69c6 </verbatim> * Configurare lo spazio col seguente comando interattivo: <verbatim> # fdisk /dev/vdc </verbatim> Di seguito i passi da seguire: 1. Digitare *n* per creare una nuova partizione 1. Digitare *p* per creare una partizione primaria 1. Digitare *1* per designarla come la prima partizione 1. Premere ENTER due volte per accettare il default del primo e ultimo cilindro. 1. Digitare *t*, selezionando la nuova partizione 1. Digitare *83* per settare il tipo della partizione a 83 (tipo Linux) 1. Digitare *p* per visualizzare il setup della partizione. La prima partizione è chiamata /dev/vdc1 1. Digitare *w* per scrivere la partition table ed uscire da fdisk 1. Infine formattare la partizione e montarla * # mkfs.ext4 /dev/vdc1 * # mkdir /extraspace * # mount /dev/vdc1 /extraspace * L'associazione tra volume e istanza può essere eliminata tramite il comando: <verbatim> # nova volume-detach <INSTANCE_ID> <VOLUME_ID> </verbatim> * In questo modo il volume è disponibile per essere associato ad un'altra istanza, sulla quale sarà sufficiente montare il volume per poterlo utilizzare: <verbatim> # mkdir /extraspace # mount /dev/vdc1 /extraspace </verbatim> ---+ Live migration Con *Live Migration* si intende la possibilita' da parte dell'amministratore di !OpenStack di migrare una VM da un Compute Node ad un altro senza discontinuita' di servizio. Questa operazione e' utile per fare manutenzione su un Compute Node. * La directory =/var/lib/nova/instances= deve essere condivisa tra tutti i Compute Node; * =libvitrd= deve essere configurato per supportare la migrazione live (vedere istruzione nella installazione del Compute Node). Nel seguente esempio, la vm con id =177cf5e0-66c1-4bb8-9122-0530e1e919d9= viene migrata dal compute node =openstack-03.cnaf.infn.it= a =openstack-02.cnaf.infn.it=. <verbatim> # nova show 177cf5e0-66c1-4bb8-9122-0530e1e919d9 +-------------------------------------+----------------------------------------------------------+ | Property | Value | +-------------------------------------+----------------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-SRV-ATTR:host | openstack-03.cnaf.infn.it | | OS-EXT-SRV-ATTR:hypervisor_hostname | None | | OS-EXT-SRV-ATTR:instance_name | instance-000000b6 | | OS-EXT-STS:power_state | 1 | | OS-EXT-STS:task_state | None | | OS-EXT-STS:vm_state | active | | accessIPv4 | | | accessIPv6 | | | config_drive | | | created | 2012-10-18T06:47:31Z | | flavor | m1.small | [...] # nova live-migration 177cf5e0-66c1-4bb8-9122-0530e1e919d9 openstack-02.cnaf.infn.it # nova show 177cf5e0-66c1-4bb8-9122-0530e1e919d9 +-------------------------------------+----------------------------------------------------------+ | Property | Value | +-------------------------------------+----------------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-SRV-ATTR:host | openstack-02.cnaf.infn.it | | OS-EXT-SRV-ATTR:hypervisor_hostname | None | | OS-EXT-SRV-ATTR:instance_name | instance-000000b6 | | OS-EXT-STS:power_state | 1 | | OS-EXT-STS:task_state | None | | OS-EXT-STS:vm_state | active | | accessIPv4 | | | accessIPv6 | | | config_drive | | | created | 2012-10-18T06:47:31Z | | flavor | m1.small | [...] </verbatim> ---+ Configurazione degli indirizzi IP Floating pubblici ---++ Indirizzi IP pubblici e privati * Ad ogni istanza virtuale viene automaticamente assegnato un IP privato (appartenente alla sottorete creata al punto precedente). E' possibile assegnare indirizzi pubblici alle istanze. In tal caso verificare la presenza della seguente riga nel file =nova.conf= : <verbatim> public_interface = eth0 </verbatim> Far ripartire il servizio =nova-network= dopo aver cambiato il =nova.conf= . ---++ Abilitazione di IP forwarding * Di default l'IP forwarding è disabilitato sulla maggior parte delle distribuzioni Linux. Per poter assegnare indirizzi pubblici alle macchine è necessario che l'IP forwarding sia abilitato. Verificare se è abilitato tramite il seguente comando: <verbatim> # sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 0 </verbatim> In questo esempio è disabilitato. e' possibile abilitarlo al volo usando il seguente comando: <verbatim> # sysctl -w net.ipv4.ip_forward=1 </verbatim> Al fine di rendere permanente questa modifica, editare il file =/etc/sysctl.conf= inserendo o modificando la seguente riga: <verbatim> net.ipv4.ip_forward = 1 </verbatim> ---++ Creare una lista di floating IP * Nova può gestire una lista di IP pubblici che possano essere assegnati alle istanze virtuali. Per aggiungere un IP alla lista: <verbatim> # nova-manage floating create <AVAILABLE_PUBLIC_IP> </verbatim> Dove <AVAILABLE_PUBLIC_IP> è un IP disponibile. E' possibile aggiungere una sottorete tramite: <verbatim> # nova-manage floating create --ip_range=<SUBNET> </verbatim> Dove <SUBNET> è una sottorete disponibile (es. 131.154.100.0/24). Per la gestione della lista di IP pubblici sono disponibili i seguenti comandi: * =nova-manage floating list= : mostra la lista degli IP pubblici inseriti * =nova-manage floating create <IP>= : aggiunge un IP alla lista * =nova-manage floating create --ip-range=<SUBNET>= : aggiunge una sottorete alla lista * =nova-manage floating delete <IP>= : rimuove un IP dalla lista * =nova-manage floating delete --ip-range=<SUBNET>= : rimuove una sottorete dalla lista ---+++ Esempio creazione lista Questa operazione viene fatta a livello globale, non per progetto. Di seguito viene creata una lista con 4 ip pubblici: <verbatim> # nova-manage floating create 131.154.100.217 # nova-manage floating create 131.154.100.218 # nova-manage floating create 131.154.100.219 # nova-manage floating create 131.154.100.220 # nova-manage floating list None 131.154.100.217 None nova eth0 None 131.154.100.218 None nova eth0 None 131.154.100.219 None nova eth0 None 131.154.100.220 None nova eth0 </verbatim> ---+++ Assegnazione ip a progetto Con le credenziali di progetto (o da dashboard) e' possibile assegnare uno o piu' ip (ancora disponibili) della lista precedentemente creata ad un progetto (nell'esempio al progetto con id =db2cf825309c49989595fc2ff915dc7e=): <verbatim> # keystone tenant-list +----------------------------------+-------------+---------+ | id | name | enabled | +----------------------------------+-------------+---------+ | 590b1b53b3ad41bd976d2bb69cc0aca3 | IGI | True | | 73016aa2c9ca4aeba3736cf44cc8433b | service | True | | db2cf825309c49989595fc2ff915dc7e | adminTenant | True | +----------------------------------+-------------+---------+ # nova floating-ip-create # nova floating-ip-create # nova-manage floating list db2cf825309c49989595fc2ff915dc7e 131.154.100.217 None nova eth0 db2cf825309c49989595fc2ff915dc7e 131.154.100.218 None nova eth0 None 131.154.100.219 None nova eth0 None 131.154.100.220 None nova eth0 </verbatim> ---+++ Assegnazione ip a vm Nell'esempio viene assegnato l'ip =131.154.100.217= (precedentemente assegnato al progetto) alla vm con id =05f84edc-010c-4cb6-b8f5-ecd963da7a65= <verbatim> # nova list +--------------------------------------+-------------------------+--------+------------------------+ | ID | Name | Status | Networks | +--------------------------------------+-------------------------+--------+------------------------+ | 05f84edc-010c-4cb6-b8f5-ecd963da7a65 | ubuntu-prova | ACTIVE | private=192.168.122.11 | | 0983f56f-46a3-435a-a693-ee53ad4f457b | cirros | ACTIVE | private=192.168.122.9 | | 15620634-7ff0-4073-90de-c698bc484e3b | fedora-multi | ACTIVE | private=192.168.122.16 | | 177cf5e0-66c1-4bb8-9122-0530e1e919d9 | winxp-multi | ACTIVE | private=192.168.122.8 | | 31afe870-2040-434f-9bd4-54418eb0acb4 | prova-per-volume-centos | ACTIVE | private=192.168.122.5 | | 4dcc9def-9de7-448d-9702-8eaf291d3fe6 | winxp-multi | ACTIVE | private=192.168.122.6 | | 509275a8-0b09-48ac-87d0-be7660315bdd | fedora | ACTIVE | private=192.168.122.21 | | 55f71a66-0467-49d0-9294-a146f858b549 | centos | ACTIVE | private=192.168.122.23 | | 9c49c426-78bb-4dbd-95a9-7589164692e4 | prova-per-volume | ACTIVE | private=192.168.122.37 | | a72edc8f-5c48-4996-9eee-c14e210475e7 | winxp-multi | ACTIVE | private=192.168.122.2 | | b0ccebdf-222b-4278-8b07-9752a842209f | centos-multi | ACTIVE | private=192.168.122.17 | | bc9b9310-bd95-4b6d-99c2-6ab676483734 | ubuntu | ACTIVE | private=192.168.122.7 | | c0164413-03ae-478f-9650-22af081dc3a2 | centos-multi | ACTIVE | private=192.168.122.18 | | cc5835b9-da48-4c43-9d16-c42d20442f75 | ubuntu-multi | ACTIVE | private=192.168.122.10 | | f834ed8f-9c3c-457d-8688-5584c59e0510 | ubuntu-multi | ACTIVE | private=192.168.122.12 | | f8ce484e-52b2-4322-a198-85322a2488c6 | winxp | ACTIVE | private=192.168.122.22 | | fb60ac70-8a62-4ceb-bc86-1d85426d0fe4 | fedora-multi | ACTIVE | private=192.168.122.13 | +--------------------------------------+-------------------------+--------+------------------------+ # nova add-floating-ip 05f84edc-010c-4cb6-b8f5-ecd963da7a65 131.154.100.217 # nova list +--------------------------------------+-------------------------+--------+-----------------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+-------------------------+--------+-----------------------------------------+ | 05f84edc-010c-4cb6-b8f5-ecd963da7a65 | ubuntu-prova | ACTIVE | private=192.168.122.11, 131.154.100.217 | | 0983f56f-46a3-435a-a693-ee53ad4f457b | cirros | ACTIVE | private=192.168.122.9 | | 15620634-7ff0-4073-90de-c698bc484e3b | fedora-multi | ACTIVE | private=192.168.122.16 | | 177cf5e0-66c1-4bb8-9122-0530e1e919d9 | winxp-multi | ACTIVE | private=192.168.122.8 | | 31afe870-2040-434f-9bd4-54418eb0acb4 | prova-per-volume-centos | ACTIVE | private=192.168.122.5 | | 4dcc9def-9de7-448d-9702-8eaf291d3fe6 | winxp-multi | ACTIVE | private=192.168.122.6 | | 509275a8-0b09-48ac-87d0-be7660315bdd | fedora | ACTIVE | private=192.168.122.21 | | 55f71a66-0467-49d0-9294-a146f858b549 | centos | ACTIVE | private=192.168.122.23 | | 9c49c426-78bb-4dbd-95a9-7589164692e4 | prova-per-volume | ACTIVE | private=192.168.122.37 | | a72edc8f-5c48-4996-9eee-c14e210475e7 | winxp-multi | ACTIVE | private=192.168.122.2 | | b0ccebdf-222b-4278-8b07-9752a842209f | centos-multi | ACTIVE | private=192.168.122.17 | | bc9b9310-bd95-4b6d-99c2-6ab676483734 | ubuntu | ACTIVE | private=192.168.122.7 | | c0164413-03ae-478f-9650-22af081dc3a2 | centos-multi | ACTIVE | private=192.168.122.18 | | cc5835b9-da48-4c43-9d16-c42d20442f75 | ubuntu-multi | ACTIVE | private=192.168.122.10 | | f834ed8f-9c3c-457d-8688-5584c59e0510 | ubuntu-multi | ACTIVE | private=192.168.122.12 | | f8ce484e-52b2-4322-a198-85322a2488c6 | winxp | ACTIVE | private=192.168.122.22 | | fb60ac70-8a62-4ceb-bc86-1d85426d0fe4 | fedora-multi | ACTIVE | private=192.168.122.13 | +--------------------------------------+-------------------------+--------+-----------------------------------------+ </verbatim> <br /> ---+ Gestione gruppi sicurezza Per accedere, tramite dashboard, alla pagina di gestione dei gruppi di sicurezza andare in =Project= -> =Access & Security= . La seconda tabella di questa pagina permette la gestione dei gruppi di sicurezza: *per poter utilizzare una qualsiasi porta di un'istanza è necessario aggiungere tale porta al rispettivo gruppo di sicurezza*. Ad esempio per poter accedere ad una web application installata nell'istanza è necessario aggiungere la porta 80 tra le regole di sicurezza del gruppo associato a quell'istanza. <br /> -- Main.EnricoFattibene - 2012-10-17
E
dit
|
A
ttach
|
PDF
|
H
istory
: r6
<
r5
<
r4
<
r3
<
r2
|
B
acklinks
|
V
iew topic
|
M
ore topic actions
Topic revision: r6 - 2013-02-22
-
MatteoManzali
Home
Site map
CEMon web
CREAM web
Cloud web
Cyclops web
DGAS web
EgeeJra1It web
Gows web
GridOversight web
IGIPortal web
IGIRelease web
MPI web
Main web
MarcheCloud web
MarcheCloudPilotaCNAF web
Middleware web
Operations web
Sandbox web
Security web
SiteAdminCorner web
TWiki web
Training web
UserSupport web
VOMS web
WMS web
WMSMonitor web
WeNMR web
MarcheCloud Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
P
P
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
E
dit
A
ttach
Copyright © 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback