GNU/Linux >> Tutoriales Linux >  >> Ubuntu

OpenStack Kilo en Ubuntu 14.04.2 – Configurar Swift #1

Swift, también conocido como OpenStack Object Storage, es un sistema de almacenamiento de objetos multiinquilino que proporciona un almacén de objetos de escalabilidad horizontal distribuido en los nodos de almacenamiento que se encuentran en el clúster. Esta guía lo ayuda a configurar Swift en Ubuntu 14.04.2.

Hay dos componentes principales en Swift:

Proxy rápido:

Acepta solicitudes API y http sin procesar para cargar archivos, modificar metadatos y crear contenedores. Dado que las solicitudes se realizan a través de la API REST, utiliza verbos HTTP con comandos simples como PUT y GET. Cuando el usuario envía datos para escribir, la solicitud irá al servidor proxy y elegirá el nodo de almacenamiento perfecto para almacenar los datos. Puede tener varios servidores proxy para el rendimiento y la redundancia. En nuestro caso, usaremos el nodo controlador como un servidor proxy rápido.

Nodo de almacenamiento:

Aquí es donde se almacenan los datos del usuario, puede tener varios nodos de almacenamiento en su entorno. Swift es un sistema basado en réplicas, todos los datos almacenados en su interior se almacenarán varias veces (réplicas) para garantizar una alta disponibilidad de datos.

Requisitos previos:

La siguiente es la configuración de red del nodo de proxy y almacenamiento, el nodo de almacenamiento tendrá una interfaz de red en la red de administración.

Instalar y configurar Swift Proxy en el nodo del controlador:

Cargue su credencial de administrador desde la secuencia de comandos del entorno.

# source admin-openrc.sh

Cree el usuario rápido para crear credenciales de servicio.

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

Agregue el rol de administrador al usuario rápido.

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

Cree la entidad de servicio de 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                     |
+-------------+----------------------------------+

Cree el punto final de la API del servicio de almacenamiento de objetos.

# 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                                 |
+--------------+----------------------------------------------+

Instalar los paquetes en el nodo del controlador.

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

Cree el directorio /etc/swift.

# mkdir /etc/swift

Obtenga el archivo de configuración del proxy del repositorio de origen.

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

Edite el archivo /etc/swift/proxy-server.conf.

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

Modifique la configuración a continuación y asegúrese de colocar las entradas en las secciones adecuadas. Es posible que en algún momento necesite agregar secciones si no existe y también necesita agregar algunas entradas que faltan en el archivo, no todas.

[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

¡¡¡Eso es todo!!!, en nuestro próximo tutorial configuraremos los nodos de almacenamiento.


Ubuntu
  1. OpenStack Liberty en Ubuntu 14.04 LTS - Configurar Nova

  2. OpenStack Kilo en Ubuntu 14.04.2 – Configurar Neutron #1

  3. OpenStack Kilo en Ubuntu 14.04.2 – Configurar Nova

  4. OpenStack Kilo en Ubuntu 14.04.2 – Configurar Vistazo

  5. OpenStack Kilo en Ubuntu 14.04.2 – Configurar KeyStone #2

OpenStack Kilo en Ubuntu 14.04.2 – Configurar Neutron #2

OpenStack Liberty en Ubuntu 14.04 – Configurar Neutron

OpenStack Liberty en Ubuntu 14.04 LTS – Configurar Vistazo

OpenStack Liberty en Ubuntu 14.04 LTS – Configurar KeyStone #2

OpenStack Liberty en Ubuntu 14.04 LTS – Configurar KeyStone #1

OpenStack Liberty en Ubuntu 14.04 – Configurar Neutron #2

    Rol NW Tarjeta 1
    Servidor proxy (nodo controlador) 192.168.12.21 / 24, GW=192.168.12.2
    (Red de administración)
    Nodo de almacenamiento de objetos 1 192.168.12.25 / 24, GW=192.168.12.2
    (Red de administración)
    Nodo de almacenamiento de objetos 1 192.168.12.26 / 24, GW=192.168.12.2
    (Red de administración)
    Nodo de almacenamiento de objetos 1 192.168.12.27 / 24, GW=192.168.12.2
    (Red de administración)