GNU/Linux >> Tutoriales Linux >  >> Ubuntu

OpenStack Kilo en Ubuntu 14.04.2 – Configurar Cinder #2

Esta es la segunda parte de OpenStack Kilo en Ubuntu 14.04.2 – Configurar Cinder, en este tutorial instalaremos y configuraremos Storage Node para el servicio Cinder. Con fines de demostración, configurará este nodo de almacenamiento con un dispositivo de almacenamiento en bloque /dev/sdb que contiene la partición /dev/sdb1 que ocupa todo el disco.

Requisitos previos:

La siguiente es la configuración de red del nodo de almacenamiento. El nodo de almacenamiento tendrá una interfaz de red en la red de administración.

Establezca el nombre de host del nodo para bloquear.

Copie la entrada del host del nodo del controlador al nodo de almacenamiento y agregue lo siguiente. El resultado final se verá como se muestra a continuación.

192.168.12.21 controller
192.168.12.22 network
192.168.12.23 compute
192.168.12.24 block

Instale el paquete NTP en el nodo de almacenamiento.

# apt-get install ntp

Edite el siguiente archivo de configuración.

# nano /etc/ntp.conf

Elimine otros servidores NTP del archivo, simplemente elimine las líneas que comienzan con la palabra "servidor". Agregue la siguiente entrada para sincronizar nuestros nodos con el nodo del controlador.

server controller

Reinicie el servicio NTP.

# service ntp restart

Paquetes OpenStack:

Instale el archivo de claves y el repositorio de Ubuntu Cloud.

# apt-get install ubuntu-cloud-keyring

# echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" "trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list

Actualice los repositorios en su sistema.

# apt-get update

Instale los paquetes lvm2, si es necesario.

#  apt-get install lvm2

Cree el volumen físico /dev/sdb1

# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created

Cree el grupo de volúmenes vg_cinder.

# vgcreate vg_cinder /dev/sdb1
Volume group "vg_cinder" successfully created

Edite el archivo /etc/lvm/lvm.conf y agregue un filtro que acepte el dispositivo /dev/sdb y rechace todos los demás dispositivos.

# nano /etc/lvm/lvm.conf

En la sección de dispositivos, cambia

Desde

filter = [ "a/.*/ " ]

Para

filter = [ "a/sdb/", "r/.*/" ]

Instalar y configurar los componentes de Cinder:

Instale los paquetes en el nodo de almacenamiento.

# apt-get install cinder-volume python-mysqldb

Edite el archivo /etc/cinder/cinder.conf.

# nano /etc/cinder/cinder.conf

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

[DEFAULT]
...
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 192.168.12.24
## Management IP of Storage Node
enabled_backends = lvm
glance_host = controller
verbose = True

[database]
connection = mysql://cinder:password@controller/cinder
## Replace "password" with the password you chose for cinder database

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = password
## Replace "password" with the password you chose for the openstack account in RabbitMQ.
[keystone_authtoken]
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 = cinder
password = password
## Replace "password" with the password you chose for cinder user in the identity service
## Comment out or remove any other options in the [keystone_authtoken] section

[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = vg_cinder
iscsi_protocol = iscsi
iscsi_helper = tgtadm

## Replace vg_cinder with your volume group.

[oslo_concurrency]
lock_path = /var/lock/cinder

## Comment out the lock_path in (DEFAULT) section.

Reinicie el servicio de almacenamiento de bloques.

# service tgt restart
# service cinder-volume restart

Elimina el archivo de la base de datos SQLite.

# rm -f /var/lib/cinder/cinder.sqlite

Resolución de problemas:

Revise el registro en busca de errores.

# cat /var/log/cinder/cinder-volume.log

Para errores como los siguientes.

"Unknown column 'volumes.instance_uuid' in 'field list'")

"Unknown column 'volumes.attach_time' in 'field list

"Unknown column 'volumes.mountpoint' in 'field list'"

"Unknown column 'volumes.attached_host' in 'field list'")

Visita:Columna Desconocida

Para errores como los siguientes.

AMQP server on controller:5672 is unreachable: Too many heartbeats missed. Trying again in 1 seconds.

Visita:Se han perdido demasiados latidos.

Verificación:

Ejecute el siguiente comando para configurar el cliente Block Storage para usar la API versión 2.0.

# echo "export OS_VOLUME_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh

Cargue las credenciales.

# source admin-openrc.sh

Enumere los componentes del servicio.

# cinder service-list

+------------------+------------+------+---------+-------+----------------------------+-----------------+
|      Binary      |    Host    | Zone |  Status | State |         Updated_at         | Disabled Reason |
+------------------+------------+------+---------+-------+----------------------------+-----------------+
| cinder-scheduler | controller | nova | enabled |   up  | 2015-07-07T20:11:21.000000 |       None      |
|  cinder-volume   | block@lvm  | nova | enabled |   up  | 2015-07-07T20:11:18.000000 |       None      |
+------------------+------------+------+---------+-------+----------------------------+-----------------+

Adjunte un volumen a una instancia:

Cree un disco virtual "disk01" con 5 GB, ejecute el siguiente comando en el nodo del controlador.

# cinder create --name disk01 5
+---------------------------------------+--------------------------------------+
|                Property               |                Value                 |
+---------------------------------------+--------------------------------------+
|              attachments              |                  []                  |
|           availability_zone           |                 nova                 |
|                bootable               |                false                 |
|          consistencygroup_id          |                 None                 |
|               created_at              |      2015-07-07T20:18:34.000000      |
|              description              |                 None                 |
|               encrypted               |                False                 |
|                   id                  | dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 |
|                metadata               |                  {}                  |
|              multiattach              |                False                 |
|                  name                 |                disk01                |
|         os-vol-host-attr:host         |                 None                 |
|     os-vol-mig-status-attr:migstat    |                 None                 |
|     os-vol-mig-status-attr:name_id    |                 None                 |
|      os-vol-tenant-attr:tenant_id     |   9b05e6bffdb94c8081d665561d05e31e   |
|   os-volume-replication:driver_data   |                 None                 |
| os-volume-replication:extended_status |                 None                 |
|           replication_status          |               disabled               |
|                  size                 |                  5                   |
|              snapshot_id              |                 None                 |
|              source_volid             |                 None                 |
|                 status                |               creating               |
|                user_id                |   127a9a6b822a4e3eba69fa54128873cd   |
|              volume_type              |                 None                 |
+---------------------------------------+--------------------------------------+

Enumere los volúmenes disponibles y el estado debe estar disponible.

# cinder list
+--------------------------------------+-----------+--------+------+-------------+----------+-------------+
|                  ID                  |   Status  |  Name  | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+--------+------+-------------+----------+-------------+
| dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 | available | disk01 |  5   |     None    |  false   |             |
+--------------------------------------+-----------+--------+------+-------------+----------+-------------+

Adjunte el volumen disk01 a nuestra instancia en ejecución "My-Fedora"

# nova volume-attach MY-Fedora dbd9afb1-48fd-46d1-8f66-1ef5195b6a94
+----------+--------------------------------------+
| Property | Value                                |
+----------+--------------------------------------+
| device   | /dev/vdb                             |
| id       | dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 |
| serverId | 7432030a-3cbe-49c6-956a-3e725e22196d |
| volumeId | dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 |
+----------+--------------------------------------+

Enumere los volúmenes, puede ver el estado como en uso y debe adjuntarse a la ID de instancia de My-Fedora.

# cinder list
+--------------------------------------+--------+--------+------+-------------+----------+--------------------------------------+
|                  ID                  | Status |  Name  | Size | Volume Type | Bootable |             Attached to              |
+--------------------------------------+--------+--------+------+-------------+----------+--------------------------------------+
| dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 | in-use | disk01 |  5   |     None    |  false   | 7432030a-3cbe-49c6-956a-3e725e22196d |
+--------------------------------------+--------+--------+------+-------------+----------+--------------------------------------+

Inicie sesión en la instancia de MY-Fedora usando SSH y ejecute el comando fdisk -l para listar los discos.

 # ssh -i mykey [email protected]

Last login: Mon Jul  6 17:59:46 2015 from 192.168.0.103
[fedora@my-fedora ~]$ sudo su -
[root@my-fedora ~]# fdisk -l
Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf1cc8d9d

Device     Boot Start      End  Sectors Size Id Type
/dev/vda1  *     2048 41943039 41940992  20G 83 Linux

Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

De lo anterior puede ver, nuevo disco /dev/vdb agregado con 5GB. Este es el que hemos adjuntado anteriormente y ahora está visible en el sistema operativo invitado.

Eso es todo. Ha configurado con éxito el servicio de almacenamiento en bloque (Cinder) en Ubuntu 14.04.2


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 NW Tarjeta 2 NW Tarjeta 3
    Nodo de almacenamiento 192.168.12.24 / 24, GW=192.168.12.2
    (Red de administración)
    NA NA