GNU/Linux >> Linux Esercitazione >  >> Ubuntu

OpenStack Kilo su Ubuntu 14.04.2 – Configura Swift #1

Swift AKA OpenStack Object Storage è un sistema di storage di oggetti multi-tenant, fornisce un object store a scalabilità orizzontale distribuito tra i nodi di storage che si trovano nel cluster. Questa guida ti aiuta a configurare Swift su Ubuntu 14.04.2.

Ci sono due componenti principali in Swift:

Proxy rapido:

Accetta API e richieste http grezze per caricare file, modificare metadati e creare contenitori. Poiché le richieste vengono eseguite tramite l'API REST, utilizza i verbi HTTP con comandi semplici come PUT e GET. Quando l'utente invia un dato da scrivere, la richiesta andrà al server proxy e sceglierà il nodo di archiviazione perfetto per archiviare i dati. È possibile disporre di più server proxy per prestazioni e ridondanza. Nel nostro caso, utilizzeremo il controller node come server proxy rapido.

Nodo di archiviazione:

È qui che vengono archiviati i dati dell'utente, puoi avere più nodi di archiviazione nel tuo ambiente. Swift è un sistema basato sulla replica, tutti i dati archiviati al suo interno verranno archiviati più volte (repliche) per garantire un'elevata disponibilità dei dati.

Prerequisiti:

Quella che segue è la configurazione di rete del proxy e del nodo di archiviazione, il nodo di archiviazione avrà un'interfaccia di rete sulla rete di gestione.

Ruolo Carta NO 1
Server proxy (nodo controller) 192.168.12.21 / 24, GW=192.168.12.2
(Rete di gestione)
Nodo di archiviazione oggetti 1 192.168.12.25 / 24, GW=192.168.12.2
(Rete di gestione)
Nodo di archiviazione oggetti 1 192.168.12.26 / 24, GW=192.168.12.2
(Rete di gestione)
Nodo di archiviazione oggetti 1 192.168.12.27 / 24, GW=192.168.12.2
(Rete di gestione)

Installa e configura swift proxy sul nodo controller:

Carica le tue credenziali di amministratore dallo script dell'ambiente.

# source admin-openrc.sh

Crea l'utente swift per la creazione delle credenziali del servizio.

# openstack user create --password-prompt swift
User Password:
Repeat User Password:
+----------+----------------------------------+
| Field    | Value                            |
+----------+----------------------------------+
| email    | None                             |
| enabled  | True                             |
| id       | 023c019a62f3476d986627e8615b034f |
| name     | swift                            |
| username | swift                            |
+----------+----------------------------------+

Aggiungi il ruolo di amministratore all'utente swift.

# openstack role add --project service --user swift admin
+-------+----------------------------------+
| Field | Value                            |
+-------+----------------------------------+
| id    | 33af4f957aa34cc79451c23bf014af6f |
| name  | admin                            |
+-------+----------------------------------+

Crea l'entità del servizio Swift.

# openstack service create --name swift --description "OpenStack Object Storage" object-store
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Object Storage         |
| enabled     | True                             |
| id          | b835a5fbfe3d4a9592f6dbd69ddb148d |
| name        | swift                            |
| type        | object-store                     |
+-------------+----------------------------------+

Crea l'endpoint dell'API del servizio Object Storage.

# openstack endpoint create --publicurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' --internalurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' --adminurl http://controller:8080 --region RegionOne  object-store

+--------------+----------------------------------------------+
| Field        | Value                                        |
+--------------+----------------------------------------------+
| adminurl     | http://controller:8080                       |
| id           | d250217af148491abc611e2b72a227b8             |
| internalurl  | http://controller:8080/v1/AUTH_%(tenant_id)s |
| publicurl    | http://controller:8080/v1/AUTH_%(tenant_id)s |
| region       | RegionOne                                    |
| service_id   | b835a5fbfe3d4a9592f6dbd69ddb148d             |
| service_name | swift                                        |
| service_type | object-store                                 |
+--------------+----------------------------------------------+

Installa i pacchetti sul nodo Controller.

# apt-get install swift swift-proxy python-swiftclient python-keystoneclient python-keystonemiddleware memcached

Crea la directory /etc/swift.

# mkdir /etc/swift

Ottieni il file di configurazione del proxy dal repository di origine.

# curl -o /etc/swift/proxy-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/kilo

Modifica il file /etc/swift/proxy-server.conf.

# nano /etc/swift/proxy-server.conf

Modifica le impostazioni seguenti e assicurati di inserire le voci nelle sezioni appropriate. Qualche volta potrebbe essere necessario aggiungere sezioni se non esiste e anche aggiungere alcune voci che mancano nel file, non tutte.

[DEFAULT]
...
bind_port = 8080
user = swift
swift_dir = /etc/swift

[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo proxy-logging proxy-server

[app:proxy-server]
...
account_autocreate = true

[filter:keystoneauth]
use = egg:swift#keystoneauth
...
operator_roles = admin,user

[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = swift
password = password
## Replace "password" with the password you chose for swift user in the identity service
delay_auth_decision = true
## Comment out or remove any other options in the [filter:authtoken] section

[filter:cache]
...
memcache_servers = 127.0.0.1:11211

Questo è tutto!!!, nel nostro prossimo tutorial configureremo i nodi di archiviazione.


Ubuntu
  1. OpenStack Kilo su Ubuntu 14.04.2 – Configura Nova

  2. OpenStack Kilo su Ubuntu 14.04.2 – Configura Sguardo

  3. OpenStack Kilo su Ubuntu 14.04.2 – Configura KeyStone #2

  4. OpenStack Kilo su Ubuntu 14.04.2 – Configura KeyStone #1

  5. Installa OpenStack Kilo su Ubuntu 14.04.2

OpenStack Liberty su Ubuntu 14.04 LTS – Configura Nova

OpenStack Kilo su Ubuntu 14.04.2 – Configura Neutron #1

OpenStack Liberty su Ubuntu 14.04 LTS – Configura Sguardo

OpenStack Liberty su Ubuntu 14.04 LTS – Configura KeyStone #2

OpenStack Liberty su Ubuntu 14.04 LTS – Configura KeyStone #1

OpenStack Liberty su Ubuntu 14.04 – Configura Neutron #2