FAQ¶
Qui, troverai le risposte alle domande più comuni. Per favore fai riferimento anche alla documentazione generale
Operazioni¶
Problemi con l'indirizzo MAC staccando/attaccando interfacce di rete¶
Con sistemi recenti basati su Debian (es. Debian12, Ubuntu20+) staccare e riattaccare interfacce di rete alle VM può sollevare problemi.
La causa è che l'indirizzo MAC della NIC è scritto in modo fisso nel file netplan (/etc/netplan/netplan.yaml) via cloud-init alla creazione dell'istanza. Se l'interfaccia di rete viene rimossa e riattaccata, il sistema non può assegnare il nuovo indirizzo MAC, sollevando il seguente errore nel log della console:
stages.py[WARNING]: Failed to rename devices: [nic not present] Cannot rename mac=fa:16:3e:69:15:67 to ens3, not available.
Di conseguenza, la VM non è più raggiungibile.
Ecco la procedura per staccare correttamente una NIC VM dalla Rete A e attaccarla alla Rete B.
-
Sulla dashboard OpenStack, vai su Rete -> Reti
-
Seleziona la rete privata attaccata alla VM (Rete A) e clicca su Porte
-
Trova la porta attaccata alla VM (es. cercando l'indirizzo IP) e copia l'indirizzo MAC corrispondente
-
- (alternativamente: SSH log sulla macchina; cat file /etc/netplan/
.yaml e copia l'indirizzo MAC)
- (alternativamente: SSH log sulla macchina; cat file /etc/netplan/
-
Importante: Prendi nota dei SECURITY GROUPS attaccati alla VM poiché verranno staccati insieme alla NIC!
-
Stacca l'interfaccia dalla VM (Hai copiato l'indirizzo MAC?):
-
- vai su Compute -> Istanze; dal menu a tendina della VM seleziona Detach interface; sulla finestra pop-up seleziona l'indirizzo IP della VM, poi clicca Detach interface
-
Vai su Rete -> Reti, seleziona la rete da attaccare alla VM (Rete B), clicca su Porte
-
Clicca su Crea Porta
-
Sulla finestra pop-up opzionalmente scegli un nome per la porta e INCOLLA l'indirizzo MAC originale nella casella Indirizzo MAC
-
Torna alla pagina Istanze
-
dal menu a tendina della VM seleziona Attach interface
-
Dal menu "The way to specify an Interface" seleziona "By Port" e nel menu Port seleziona la porta creata precedentemente
-
Dal menu a tendina della VM seleziona Edit Security Groups
-
Riaggiungi il gruppo di sicurezza precedentemente attaccato alla VM
-
Riavvia la VM
Ora la VM è correttamente attaccata alla nuova rete!
Tipi di volume non-default (FAST e CAPACITY) (regioni garr-ct1 e garr-pa1)¶
Abbiamo abilitato due nuovi tipi di volume nelle regioni Catania e Palermo:
- tipo di volume FAST: basato su dischi SSD
- tipo di volume CAPACITY: fornisce la stessa durabilità e quasi le stesse prestazioni del tipo default, ma è più adatto per costruire grandi volumi (> 1 TB).
Per creare es. un volume basato su SSD seleziona semplicemente il tipo di volume "fast" nel menu "type" sulla dashboard, o con il seguente comando CLI:
openstack volume create --type fast --size 10 test-ssd
N.B. Di default la quota volumi fast è impostata a zero. Gli utenti che necessitano di dischi fast dovrebbero fare richiesta a cloud-support@garr.it.
Come posso cambiare tipo di volume (regioni garr-ct1 e garr-pa1)
È possibile cambiare il tipo di volumi esistenti, es. da default a tipo fast (basato su SSD).
Per farlo, prima di tutto il volume deve essere staccato e non deve avere snapshot (quindi non è possibile cambiare il tipo di volumi di sistema).
Dalla dashboard seleziona il volume e dal menu a tendina seleziona "Change Volume Type". N.B. non dimenticare di scegliere "Migration Policy: On Demand!"
Con la CLI OpenStack il comando volume retype è:
openstack volume set --type <new_type> --retype-policy on-demand <volume-id>
Ho bisogno di migrare un'istanza da una regione a un'altra¶
Per favore nota che hai bisogno di quota risorse sufficiente per lo stesso progetto sulla regione di destinazione.
Esegui i seguenti passaggi:
- accedi su https://dashboard.cloud.garr.it
- seleziona il progetto e la regione dove l'istanza è in esecuzione
- spegni l'istanza
- seleziona "Volumes" sulla sinistra
- individua i volumi attaccati all'istanza guardando la colonna "Attached To"
- nota il volume attaccato a /dev/vda, poiché questo sarà usato sulla regione di destinazione per lanciare l'istanza
- per ciascuno dei volumi attaccati all'istanza:
- sul menu a tendina a destra, scegli "Upload to Image"
- scegli un nome immagine
- seleziona "QCOW2" come formato disco
- spunta la casella "Force"
- clicca su "Upload"
- cambia alla regione di destinazione (es. "garr-pa1")
- seleziona "Compute", "Images" sulla sinistra e attendi che le immagini siano nello stato "Active"
- individua l'immagine creata precedentemente dal volume attaccato a /dev/vda, clicca "Update Metadata" e assicurati che il metadata "signature_verified" non sia presente (se lo è, rimuovilo e poi clicca "Save")
- clicca "Launch" accanto all'immagine
- segui i passaggi di lancio istanza. Assicurati di selezionare una dimensione disco molto più grande della dimensione dell'immagine (l'immagine è compressa e quindi la dimensione riportata non è 'reale'). Se la creazione VM fallisce a causa della dimensione disco insufficiente (controlla i dettagli vm) riprova e scegli una dimensione disco più grande.
- assegna un nuovo IP floating all'istanza
- torna su "Compute", "Images" e per ciascuna delle altre immagini create:
- seleziona "Create Volume"
- attacca il nuovo volume all'istanza
- controlla che tutto stia funzionando (se no, controlla i gruppi di sicurezza)
- se tutto sembra a posto, torna sulla regione sorgente e distruggi l'istanza per liberare risorse
Se preferisci invece la CLI, il comando per creare immagini dai volumi è il seguente:
openstack image create --disk-format qcow2 --volume <volume id> --force <image name>
Non riesco ad avviare una VM effimera¶
Se hai fermato una VM effimera e ricevi un errore quando provi ad avviarla, puoi crearla di nuovo da uno snapshot precedente. Istruzioni su come avviare una VM da uno snapshot sono qui:
Ricevo errore facendo uno snapshot di un'istanza in esecuzione¶
Alcune distribuzioni recenti (Debian 9, Ubuntu 18) richiedono di installare il pacchetto qemu-guest-agent per eseguire snapshot mentre l'istanza è in esecuzione. Pertanto spegni l'istanza o installa il pacchetto:
sudo apt update
sudo apt install qemu-guest-agent
Ho bisogno di aggiungere storage extra alla mia VM DaaS¶
Per aggiungere storage extra alle VM create via DaaS, procedi come segue:
-
Apri la dashboard GARR Cloud
-
Vai su Rete -> Volumi -> Crea volume
- Imposta un nome per il tuo volume
- Imposta la dimensione
- Clicca su Crea volume
-
Dal menu a tendina associato al volume, seleziona Manage attachments
- Seleziona l'istanza creata da DaaS
- Seleziona Attach Volume
-
Dalla cli Juju esegui questi comandi:
-
Aggiungi la tua chiave pubblica al tuo modello juju (puoi generare una coppia di chiavi con il comando ssh-keygen -t rsa):
juju add-ssh-key "$MY_PUBLIC_KEY" -
Connettiti alla VM via ssh (usa juju status per ottenere il numero macchina a cui connettersi):
juju ssh vm_number -
Diventa root:
sudo su -
-
-
Controlla che il volume creato precedentemente sulla dashboard GAAR Cloud sia associato all'istanza (dovresti vedere /dev/vdb):
fdisk -l -
Formatta il volume:
mkfs.xfs /dev/vdb -
Monta il volume su una directory a tua scelta (es: /mnt):
mount -t xfs /dev/vdb /mnt -
Controlla che /dev/vdb sia montato su /mnt:
df -h
Ottengo un timeout accedendo alla dashboard GARR Cloud con le mie credenziali EduGain/IDEM/Google¶
Questo potrebbe essere causato da un firewall impostato sulla tua rete istituzionale. Per favore controlla con i tuoi amministratori di rete che le porte necessarie usate dai servizi GARR Cloud siano aperte. Le porte sono elencate nel post successivo: "Quali porte dovrei aprire sul mio router per accedere alla piattaforma GARR Cloud?"
Quali porte dovrei aprire sul mio router per accedere alla piattaforma GARR Cloud?¶
I servizi GARR Cloud sono esposti su alcune porte TCP che dovrebbero essere accessibili dalla rete della tua istituzione. Per favore controlla sulle seguenti tabelle l'hostname del servizio e gli indirizzi IP e le porte corrispondenti.
Prima di tutto, assicurati che le porte standard HTTP 80 e HTTPS 443 siano aperte.
- Per accedere alla Dashboard GARR Cloud con account EduGain/IDEM/Google
+------------+------------------------+----------------+------------+
| service | hostname | IP address | port |
|------------+------------------------+----------------+------------+
| keystone | keystone.cloud.garr.it | 90.147.165.91 | 5000 |
+------------+------------------------+----------------+------------+
Per controllare che la porta sia aperta digita questo indirizzo su un browser:
https://keystone.cloud.garr.it:5000
Il server dovrebbe rispondere con una stringa come:
{"versions": {"values": [{"status": "stable", ... }
- Per accedere alla Web GUI DaaS (Juju):
+-------------------------+------------------------+----------------+------------+
| service | hostname | IP address | port |
+-------------------------+------------------------+----------------+------------+
| DaaS (garr-ct1 region) | daas-ct.cloud.garr.it | 90.147.167.223 | 17070 |
+-------------------------+------------------------+----------------+------------+
| DaaS (garr-pa1 region) | daas-pa.cloud.garr.it | 90.147.188.122 | 17070 |
+-------------------------+------------------------+----------------+------------+
Per controllare che le suddette porte siano aperte prova ad accedere alla web GUI DaaS:
https://daas-pa.cloud.garr.it:17070/gui/
- Per accedere a GARR Cloud via librerie API OpenStack:
+-------------------------------+---------------+----------------+------------+
| service | hostname | IP address | port |
+-------------------------------+---------------+----------------+------------+
| nova (garr-pa1 region) | | 90.147.159.93 | 8774 |
+-------------------------------+---------------+----------------+------------+
| nova (garr-ct1 region) | | 90.147.165.93 | 8774 |
+-------------------------------+---------------+----------------+------------+
| cinder (garr-pa1 region) | | 90.147.159.90 | 8776 |
+-------------------------------+---------------+----------------+------------+
| cinder (garr-ct1 region) | | 90.147.165.95 | 8776 |
+-------------------------------+---------------+----------------+------------+
| placement (garr-pa1 region) | | 90.147.159.93 | 8778 |
+-------------------------------+---------------+----------------+------------+
| placement (garr-ct1 region) | | 90.147.165.93 | 8778 |
+-------------------------------+---------------+----------------+------------+
| glance | | 90.147.165.94 | 9292 |
+-------------------------------+---------------+----------------+------------+
| neutron (garr-ct1 region) | | 90.147.165.96 | 9696 |
+-------------------------------+---------------+----------------+------------+
| neutron (garr-pa1 region) | | 90.147.159.96 | 9696 |
+-------------------------------+---------------+----------------+------------+
Quota superata lanciando un'istanza¶
Potresti star usando una regione su cui il tuo progetto non ha risorse allocate. Segui le istruzioni per selezionare una regione dove il tuo progetto ha risorse disponibili.
Posso cambiare/chiedere una nuova password?¶
Se ti sei registrato tramite un IdP federato (IDEM o EduGain), dovrai cambiare la password tramite il tuo Identity Provider. Usa la dashboard solo per cambiare la password Cloud GARR.
Posso importare immagini VM personalizzate nel cloud (es. un'immagine VirtualBox)?¶
Sì, segui le istruzioni al seguente link per convertire nel formato corretto:
Posso creare immagini Windows?¶
Sì, l'immagine rilevante è etichettata "GARR", per esempio WindowsServer2012R2 - GARR, ma per favore nota che quando crei una nuova macchina devi assicurarti di impostare anche una "Key Pair". Infatti, per le macchine Windows la key pair è usata per cifrare la password Administrator che è generata automaticamente e iniettata nella macchina al primo avvio.
Per recuperare la password Administrator (l'avvio iniziale prenderà probabilmente diversi minuti):
-
Metodo CLI: esegui il comando (ti verrà chiesta la passphrase della chiave SSH):
nova get-password
/path/to/private/key/file -
Metodo GUI: apri un'altra scheda del browser, naviga alla lista VM, scegli l'azione
Retrieve passwordper la tua VM, che dovrebbe aprire una finestra in cui puoi selezionare o copiare/incollare la tua chiave privata da usare per la decifrazione. Se non hai la possibilità di inserire la tua chiave privata, apri la GUI Console, dato che il server molto probabilmente ha bisogno che tu risponda a qualche domanda o prema un pulsante per procedere.
NOTA:
C'è un problema nella dashboard attualmente: il menu Retrieve password apre una finestra dove incollare la chiave privata e un campo dove ottenere la password, ma questo meccanismo fallisce con Could not decrypt the password. Tuttavia, la password cifrata viene mostrata, e può essere decifrata nel seguente modo:
-
Copia-incolla la password cifrata
-
Decodifica la password cifrata e salvala su un file:
echo "<encrypted_password>" | base64 -d > encrypt_pass.txt -
Decifra la password:
openssl rsautl -decrypt -in encrypt_pass.txt -out plain.txt -inkey <your_private_ssh_key> -
Trova la password decifrata nel file
plain.txt
Ho creato una VM Linux, iniettato la mia chiave ssh e assegnato un IP floating. Ora come mi collego ad essa?¶
Per collegarti a una macchina virtuale, usa il comando ssh sulla tua macchina host, usando la keypair che hai selezionato quando hai creato l'istanza.
Ma prima, assicurati che i SecurityGroups configurati per il tuo server consentano la connessione alla porta 22 dalla tua sottorete (o dall'Universo, ovvero 0.0.0.0, sebbene questo non sia generalmente consigliato). Puoi aggiornare il SecurityGroup default, o crearne uno nuovo da Progetto - Rete - Security Groups, e aggiungere una o più regole per SSH per le tue diverse sottoreti.
Ogni sistema operativo Linux fornisce un account di default su cui accedere con una keypair:
- per immagini Ubuntu, accedi come ubuntu
- per immagini CentOS, accedi come centos
- per immagini Cirros, accedi come cirros
- per immagini Debian, accedi come debian
- per immagini Fedora, accedi come fedora
Warning
Assicurati che il file keypair abbia i diritti di accesso corretti:
chmod 400 MyKey.pem
Invoca ssh specificando la keypair e l'indirizzo IP dell'istanza; per esempio:
$ ssh -i MyKey.pem ubuntu@90.147.27.2
Last login: Tue Jan 12 11:20:28 2016
$
Posso accedere come root su una VM Linux?¶
L'accesso come root è disabilitato di default sulle VM Linux.
Accedi con l'account di default, come spiegato sopra, e usa sudo per emettere comandi privilegiati.
Fai sudo -s per aprire una shell root.
Ricevo un errore quando emetto il comando sudo¶
Se dentro una VM provi a emettere il comando sudo, es. sudo -s e ricevi il seguente errore:
sudo: unable to resolve host
allora il problema è probabilmente dovuto a una voce mancante in /etc/hosts. Questo può essere risolto sia al momento della creazione della VM sia direttamente dall'interno della VM.
-
Al momento della creazione VM, puoi fornire uno script user data attraverso i seguenti passaggi:
-
prepara un file userdata.txt con il seguente contenuto:
#cloud-config manage_etc_hosts: true -
poi o:
-
dalla dashboard, forniscilo nella sezione Configurazione della finestra di creazione nuova istanza
-
dalla riga di comando, usa la flag --user-data del comando openstack server create, es.:
openstack server create --image 39e0b535-9c21-42af-9096-397c3687664e --flavor m1.small --nic net-id=default --key mykey --user-data userdata.txt myinstance
-
-
Dall'interno della VM, il problema può essere risolto emettendo il seguente comando:
echo "manage_etc_hosts: true" | sudo tee /etc/cloud/cloud.cfg.d/99_etchosts.cfg > /dev/null
e poi riavviando la VM:
reboot
Ricevo un errore creando un'istanza¶
Se ricevi un errore come questo mentre crei un'istanza:
Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for
instance (...) Last exception: Binding failed for port (...)
per favore assicurati di non aver selezionato la rete chiamata floating-ip nella scheda Rete quando lanci l'istanza, ma o una rete specifica del progetto o la rete default.
Errore riavviando un'istanza "Image UUID could not be found"¶
Se ricevi un errore come questo mentre riavvii un'istanza:
Image b1d6e7ff-8397-4b80-8972-d6402382f213 could not be found.
significa che l'immagine originale usata per creare l'istanza è stata eliminata.
Per risolvere il problema devi prima identificare un'immagine corrente adatta: per esempio, se la macchina originale era costruita usando "Debian 8.7" puoi selezionare "Debian - 8 - GARR" come sostituzione:
$ openstack image list | grep GARR | grep Debian
| 70eb2fbb-e195-4147-9cf8-871b28b6331d | Debian 8 - GARR | active |
e poi esegui:
-
per macchine costruite su disco non-effimero:
export theSrvUUID=
export theImgUUID=70eb2fbb-e195-4147-9cf8-871b28b6331d nova reset-state --active $theSrv nova rebuild --poll $theSrv $theImgUUIDNew -
per macchine costruite su disco effimero, chiedi aiuto agli amministratori Cloud, poiché una rebuild, in questo caso, cancellerebbe tutte le tue modifiche locali. Gli amministratori Cloud faranno:
nova reset-state --active $theSrv
# update the OpenStack database: update instances set image_ref='newUUID' where image_ref='disappearedUUID' and uuid='srvUUID';
nova reboot --poll $theSrv
Quale rete dovrei scegliere quando creo un'istanza?¶
Nella scheda Launch Instance / Networks seleziona tra:
- la rete interna pre-creata default che è connessa a un router sulla rete esterna e consente di assegnare IP floating alla VM.
Warning
questa rete è condivisa tra tutti i progetti, quindi tutte le VM su questa rete appartengono allo stesso dominio di broadcast e possono raggiungersi a vicenda.
- qualsiasi rete di progetto definita dall'utente.
Non selezionare la rete esterna floating-ip poiché le VM non possono essere attaccate a reti esterne.
apt-get in un Docker si blocca¶
Questo potrebbe verificarsi su Ubuntu 16 (non su Ubunto 14 o CentOS). Se una richiesta di rete si blocca, per esempio facendo:
$ docker run -it ubuntu bash
# apt-get update
0% [Waiting for headers]
la soluzione è bloccare l'MTU (Maximum Transmission Unit) al MSS (Maximum Segment Size) con il seguente comando:
sudo iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Posso aggiungere più di un Floating IP a un'istanza?¶
A causa di limitazioni della dashboard OpenStack questo è possibile solo tramite la CLI sul controller OpenStack come segue:
-
dalla Dashboard aggiungi un'interfaccia alla VM
-
dalla console VM attiva l'interfaccia (ifup con l'ip privato corrispondente che appare nella dashboard)
-
aggiungi il Floating IP con il comando CLI:
neutron floatingip-associate $FIP $PORT_IDdove FIP è un id IP floating che ottieni da:
neutron floatingip-liste PORT_ID è l'id della porta con l'IP privato corretto (non floating) restituito da:
neutron port-list
Come accedo a un controller Juju¶
Il comando juju controller-config fornisce la maggior parte delle informazioni su un controller. Per saperne di più, guarda questo file sulla macchina dove hai fatto il bootstrap del controller:
~/.local/share/juju/controllers.yaml
Da lì puoi vedere l'indirizzo IP del controller, e puoi accedere ad esso via ssh usando la keypair memorizzata localmente:
ssh -i ~/.local/share/juju/ssh/juju_id_rsa ubuntu@10.3.1.0
Posso ottenere storage per fare backup dei miei dati?¶
La Piattaforma GARR Cloud attualmente fornisce solo strutture di calcolo. Tuttavia, nulla impedisce di usare lo storage assegnato a un progetto per usi specifici. Uno può per esempio creare un Object Storage e usarlo per memorizzare i suoi dati. Qui c'è una guida rapida su come usare Swift per fare backup.
Avviare istanze su volume via CLI¶
Ecco un esempio del comando CLI per avviare un'istanza direttamente su volume:
openstack server create --key-name $KEY --security-group $SECGROUP --image $IMAGE_NAME --boot-from-volume $SIZE --network $NETWORK_NAME --availability-zone=$AZ_NAME --flavor $FLAVOR $SERVER_NAME
dove:
- $KEY è il nome della chiave pubblica SSH (recuperale con openstack keypair list)
- $FLAVOR è il nome del flavor (openstack flavor list)
- $NETWORK_NAME è il nome della rete privata (openstack network list)
- $SECGROUP è il nome del gruppo di sicurezza (openstack security group list --project MY_PROJECT)
- $IMAGE_NAME è il nome dell'immagine da cui avviare la VM (openstack image list)
- $SIZE è la dimensione del volume in GB
- $SERVER_NAME è il nome della VM
Per esempio:
openstack server create --image "CentOS 8 - GARR" --boot-from-volume 100 --network default --availability-zone=testCompute-DO-NOT-USE --flavor m3.xxl test-xxl
Posso usare object storage per il backup?¶
Di seguito un link con una guida rapida al backup su object storage: https://elastx.se/en/blog/getting-started-application-backups-to-swift
gli endpoint al momento della scrittura sono (Ottobre 2018):
| bd9e71c06c1e498d9d70382d871bd139 | garr-ct1 | swift | object-store | True | public | http://90.147.165.90:80/swift/v1 |
| d90c07bd83b94dc695eb090c7010f646 | garr-pa1 | swift | object-store | True | public | http://90.147.165.90:80/swift/v1 |
Come posso clonare un'istanza esistente?¶
Una procedura raccomandata per clonare un'istanza è eseguire le seguenti operazioni:
- spegni l'istanza da clonare
- crea uno snapshot dell'istanza
- verifica che lo snapshot sia effettivamente tra le immagini del progetto corrente
- lancia una nuova VM, selezionando "instance snapshot" come "boot source" e poi selezionando lo snapshot creato sopra
Come posso trasferire un volume da un progetto a un altro?¶
- Nella scheda Volumes->Volumes stacca i volumi selezionando Manage Attachments dal menu a tendina del volume e poi cliccando su Detach
- Crea trasferimento dal volume, selezionando l'opzione dalla lista a tendina del volume
- Scarica credenziali di trasferimento che ti verrà chiesto di usare più tardi
- Vai al progetto di destinazione, nella scheda Volumes e clicca su Accept Transfer
- Completa i campi con Transfer ID e Authorization Key, poi clicca su Accept Volume Transfer
- Attacca il volume all'istanza cliccando su Manage Attachments
- ssh nell'istanza e monta il volume con sudo mount -t xfs /dev/vdb
Come posso spostare un'istanza da un progetto a un altro?¶
Istanza su volume¶
- Nella scheda Compute->Instances spegni l'istanza da spostare, selezionando il comando dal menu a tendina vicino all'istanza
- Passa alla scheda Volumes->Volumes e crea uno snapshot del volume primario (vda) dell'istanza sopra, selezionando l'opzione dal menu a tendina vicino alla voce volume
- Nella scheda Volumes->Snapshot, crea un volume dallo snapshot appena creato
- Nella scheda Volumes->Volumes crea trasferimento dal volume appena creato, selezionando l'opzione dalla lista a tendina del volume appena creato
- Scarica credenziali di trasferimento che ti verrà chiesto di usare più tardi
- Vai al progetto di destinazione, seleziona la scheda Volumes->Volumes e clicca su Accept Transfer
- Completa i campi con Transfer ID e Authorization Key, poi clicca su Accept Volume Transfer
- Sul volume appena trasferito seleziona Launch as Instance e crea la nuova istanza dal volume
Istanza effimera¶
- Nella scheda Compute->Instances, spegni l'istanza da spostare, selezionando il comando dal menu a tendina vicino all'istanza
- Crea uno snapshot dall'istanza, selezionando l'opzione dal menu a tendina dell'istanza
- Vai su Images e seleziona Create Volume
- Nella scheda Volumes->Volumes crea trasferimento dal volume appena creato, selezionando l'opzione dalla lista a tendina del volume appena creato
- Scarica credenziali di trasferimento che ti verrà chiesto di usare più tardi
- Vai al progetto di destinazione, nella scheda Volumes e clicca su Accept Transfer
- Completa i campi con Transfer ID e Authorization Key, poi clicca su Accept Volume Transfer
- Sul volume appena trasferito seleziona Launch as Instance e crea la nuova istanza dal volume
Se hai altri volumi montati sull'istanza, segui le istruzioni in Come posso trasferire un volume da un progetto a un altro?.
Dopo aver controllato che la tua istanza funzioni correttamente, puoi cancellarla, e tutti i volumi associati, dal progetto originale.
Architettura¶
Puoi descrivere l'architettura della piattaforma?¶
Ecco il documento Reference Cloud Architecture.
Perché avete scelto Juju per l'automazione?¶
Ci sono diversi strumenti per l'automazione OpenStack. I più popolari sono Chef, Puppet, Ansible, 'SaltStack' e Juju. Ecco un breve confronto. Ecco un video di una presentazione su Chef vs Puppet vs Ansible vs Salt. La nostra scelta è caduta su Juju perché è uno strumento che copre tutti gli aspetti del deployment e manutenzione dell'automazione, dall'hardware, al cloud e al provisioning delle applicazioni.

Questa tabella fornisce un confronto della copertura degli strumenti.
+-----------------+---------------+---------+---------+---------+---------+
| > Task | Puppet | Chef | Salt | Ansible | Juju |
+=================+===============+=========+=========+=========+=========+
| Rolling Updates | x | x | > x | x | x |
+-----------------+---------------+---------+---------+---------+---------+
| Health Check | ✔ | ✔ | > x | x | ✔ |
+-----------------+---------------+---------+---------+---------+---------+
| Backup Restore | x | x | > x | x | ✔ |
+-----------------+---------------+---------+---------+---------+---------+
| Networking | x | x | > x | x | ✔ |
+-----------------+---------------+---------+---------+---------+---------+
| Storage | x | x | > x | x | ✔ |
+-----------------+---------------+---------+---------+---------+---------+
| VM provisioning | x | x | > x | x | ✔ |
+-----------------+---------------+---------+---------+---------+---------+
| Life cycle Mgmt | x | x | > x | x | ✔ |
+-----------------+---------------+---------+---------+---------+---------+
| Relation Mgmt | x | x | > x | x | ✔ |
+-----------------+---------------+---------+---------+---------+---------+
| Service | \-- | \-- | > x | x | ✔ |
| Discovery | | | | | |
+-----------------+---------------+---------+---------+---------+---------+
| Config. | ✔ | ✔ | ✔ | ✔ | ✔ |
| Packaging | | | | | |
+-----------------+---------------+---------+---------+---------+---------+
| Templating | ✔ | ✔ | ✔ | ✔ | ✔ |
+-----------------+---------------+---------+---------+---------+---------+
| Service Provisioning\| Yes | ✔ | ✔ | ✔ | ✔ |
+---------------------------------+---------+---------+---------+---------+
Posso usare Ansible per l'automazione?¶
I charm Juju consistono in script e file di impostazioni di configurazione. Gli script possono essere usati in qualsiasi linguaggio, e in particolare possono essere scritti in Ansible.
Posso usare Juju con Puppet o Chef?¶
Puppet e Chef sono ottimi strumenti per configurare server e mantenerli coerenti attraverso una rete. Juju lavora un livello sopra focalizzandosi sul servizio che l'applicazione fornisce, indipendentemente dalla macchina su cui gira. Uno dei principali vantaggi di Juju è la sua capacità di configurazione dinamica, che ti permette di riconfigurare servizi al volo, aggiungere, rimuovere, o cambiare relazioni tra servizi, e scalare dentro o fuori con facilità. Se stai usando uno strumento di gestione della configurazione per far funzionare le tue macchine, Juju può completarlo con il livello di modellazione del servizio che esegue tutti i compiti descritti sopra. L'integrazione è abbastanza semplice. Poiché i charm Juju possono essere scritti in qualsiasi linguaggio, puoi includere il tuo codice Puppet o Chef esistente in un charm Juju. Nessun bisogno di scrivere nuovo codice. Modella, connetti e configura. Il browser dei charm ha centinaia di charm e bundle che ti permettono di costruire servizi complessi e vederli distribuiti nella GUI.
Policy¶
Quali sono i termini di servizio?¶
Guarda questo documento.
Fate pagare per la banda?¶
No.
Monitorate il traffico in uscita?¶
Sì. Il traffico è monitorato per evitare abusi e il traffico anomalo ti viene segnalato. Se non sei in grado di fermare il traffico anomalo, questo può portare alla sospensione o terminazione del tuo account.
Certi tipi di traffico non sono consentiti: torrent, spam, ssh probes, tentativi di hacking, botnet, ddos, ecc.
Mi sono registrato tramite la registrazione basata su Form e ora sto provando ad accedere a https://dashboard.cloud.garr.it. Quale Dominio dovrei usare?¶
Per favore inserisci cloudusers nel campo dominio.
Come ottenere una GUI Grafica per la tua VM OpenStack (testato su Ubuntu 20.04 server e Ubuntu 22.04 Server)
FAQ spiega come installare un Ambiente grafico e VNC su un'istanza OpenStack e come accedervi senza esporre il servizio VNC a Internet.
Requisiti per la macchina locale:
- un Client VNC (Remmina, TigerVNC, ChickenOfTheVNC...)
- un Client SSH
Le seguenti istruzioni funzionano direttamente su Linux e MacOS; su Windows sono necessari alcuni aggiustamenti, dipende dal tuo Client SSH.
XFCE4 Desktop Environment (Ubuntu 20.04 Server)
-
Login SSH alla tua VM OpenStack
-
- installa XFCE4: sudo apt-get install xfce4 xfce4-goodies gnome-icon-theme tigervnc-standalone-server
-
(se hai bisogno di un ambiente desktop più completo allora installa anche xubuntu-desktop)
-
crea una cartella .vnc nella tua home utente: mkdir .vnc
-
crea file xstartup in ~/.vnc/ e incolla il seguente contenuto:
#!/bin/bash xrdb $HOME/.Xresources startxfce4 & -
esegui vncpasswd e imposta la password VNC (puoi saltare la password viewer)
-
- esegui vncserver -geometry WIDTHxHEIGHT -localhost yes -rfbport PORT, sostituisci WIDTH e HEIGHT con
-
valori desiderati (es: 1024x768) e PORT (es: 5901, porta di default)
-
- sulla tua macchina locale esegui: ssh -L LOCAL_PORT:127.0.0.1:PORT USER@VM_IP; scegli una porta e sostituisci
-
LOCAL_PORT con una porta valida; sostituisci PORT con la stessa porta usata nel passaggio precedente.
-
sulla tua macchina locale esegui un Client VNC e collegati a 127.0.0.1:LOCAL_PORT, quando richiesto inserisci la password VNC (dal passaggio 5)
XFCE4 Desktop Environment (Ubuntu 22.04 Server)
-
Login SSH alla tua VM OpenStack
-
- installa XFCE4: sudo apt-get install xfce4 xfce4-goodies gnome-icon-theme tigervnc-standalone-server tigervnc-common tigervnc-tools
-
(se hai bisogno di un ambiente desktop più completo allora installa anche xubuntu-desktop)
-
crea una cartella .vnc nella tua home utente: mkdir .vnc
-
crea file xstartup in ~/.vnc/ e incolla il seguente contenuto:
#!/bin/sh # Start up the standard system desktop unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS /usr/bin/startxfce4 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources x-window-manager & -
esegui vncpasswd e imposta la password VNC (puoi saltare la password viewer)
-
- esegui vncserver -geometry WIDTHxHEIGHT -localhost yes -rfbport PORT, sostituisci WIDTH e HEIGHT con
-
valori desiderati (es: 1024x768) e PORT (es: 5901, porta di default)
-
- sulla tua macchina locale esegui: ssh -L LOCAL_PORT:127.0.0.1:PORT USER@VM_IP; scegli una porta e sostituisci
-
LOCAL_PORT con una porta valida; sostituisci PORT con la stessa porta usata nel passaggio precedente.
-
sulla tua macchina locale esegui un Client VNC e collegati a 127.0.0.1:LOCAL_PORT, quando richiesto inserisci la password VNC (dal passaggio 5)
GNOME Desktop Environment (Ubuntu 20.04 Server)
-
Login SSH alla tua VM OpenStack
-
installa XFCE4: sudo apt-get install ubuntu-gnome-desktop gnome-icon-theme tigervnc-standalone-server
-
crea una cartella .vnc nella tua home utente: mkdir .vnc
-
crea file xstartup in ~/.vnc/ e incolla il seguente contenuto:
#!/bin/sh # Start Gnome 3 Desktop [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources vncconfig -iconic & dbus-launch --exit-with-session gnome-session & -
esegui vncpasswd e imposta la password VNC (puoi saltare la password viewer)
-
- esegui vncserver -geometry WIDTHxHEIGHT -localhost yes -rfbport PORT, sostituisci WIDTH e HEIGHT con
-
valori desiderati (es: 1024x768) e PORT (es: 5901, porta di default)
-
- sulla tua macchina locale esegui: ssh -L LOCAL_PORT:127.0.0.1:PORT USER@VM_IP; scegli una porta e sostituisci
-
LOCAL_PORT con una porta valida; sostituisci PORT con la stessa porta usata nel passaggio precedente.
-
sulla tua macchina locale esegui un Client VNC e collegati a 127.0.0.1:LOCAL_PORT, quando richiesto inserisci la password VNC (dal passaggio 5)
Quando non hai più bisogno di VNC puoi fermarlo; sulla tua VM OpenStack:
-
esegui vncserver --list, dovresti ottenere una lista di display VNC attivi:
testuser@test-gui:~$ vncserver --list TigerVNC server sessions: X DISPLAY # RFB PORT # PROCESS ID :2 5902 36811 -
killa il display VNC appropriato: vncserver -kill :DISPLAY, sostituisci DISPLAY con il valore corretto (es: 2 nel nostro esempio)
-
logout
Per riavviare il server VNC fai solo login e segui i passaggi da 6. a 8..