Создание тома Cinder: нет допустимого хоста Нет доступных взвешенных хостов

Я пытаюсь установить и настроить OpenStack Mitaka в стеке из 4 узлов. 1 контроллер, 1 вычислительное, 1 блочное хранилище и 1 объектное хранилище. При попытке создать узел хранения блоков я не могу создать том через панель инструментов. Базовая ОС Ubuntu 14.04 и, как я уже говорил ранее, выпуск OpenStack Mitaka.

Вот файл cinder.conf на узле контроллера

[DEFAULT]
rootwrap_config = /etc/cinder/rootwrap.conf
api_paste_confg = /etc/cinder/api-paste.ini
iscsi_helper = tgtadm
volume_name_template = volume-%s
volume_group = cinder-volumes
verbose = True
auth_strategy = keystone
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 10.0.0.11
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
iscsi_protocol = iscsi


[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = *********

[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = **********


[database]
connection = mysql+pymysql://cinder:********@controller/cinder

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

Вот файл cinder.conf на узле Cinder (блочное хранилище)

[DEFAULT]
rootwrap_config = /etc/cinder/rootwrap.conf
api_paste_confg = /etc/cinder/api-paste.ini
iscsi_helper = tgtadm
volume_name_template = volume-%s
volume_group = cinder-volumes
verbose = True
auth_strategy = keystone
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 10.0.0.41

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = **********
enabled_backends = lvm
glance_api_servers = http://controller:9292

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = ********

[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

[database]
#connection = mysql+pymysql://cinder:*******@controller/cinder
connection = mysql+pymysql://cinder:*******@controller/cinder
#connection = mysql://cinder:******@controller/cinder

[api_database]
connection = mysql+pymysql://cinder:*******@controller/cinder_api



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

Статус после создания тома — «ошибка». Вот строка ошибки, которую я получаю в файле cinder-scheduler.log на узле контроллера.

2016-09-07 17:14:22.291 10607 ERROR cinder.scheduler.flows.create_volume [req-272c5387-a2e3-4371-8a14-8330831910d0 a43909277cbb418fa12fab4d22e0586c 64d180e39e2345ac9bbcd0c389b0a7c4 - - -] Failed to run task cinder.scheduler.flows.create_volume.ScheduleCreateVolumeTask;volume:create: No valid host was found. No weighed hosts available

Я считаю, что это самая важная часть сообщения об ошибке:

volume:create: действительный хост не найден. Нет доступных взвешенных хостов

Когда я запускаю команду "cinder service-list" из Controller Node, я получаю следующий вывод:

+------------------+------------+------+---------+-------+----------------------------+-----------------+
|      Binary      |    Host    | Zone |  Status | State |         Updated_at         | Disabled Reason |
+------------------+------------+------+---------+-------+----------------------------+-----------------+
| cinder-scheduler | controller | nova | enabled |   up  | 2016-09-07T22:13:11.000000 |        -        |
|  cinder-volume   |   cinder   | nova | enabled |   up  | 2016-09-07T22:13:30.000000 |        -        |
+------------------+------------+------+---------+-------+----------------------------+-----------------+

интересно отметить, что имя хоста - cinder. Где, как в руководстве по установке Mitaka, имя хоста — block1@lvm. Не уверен, почему мой отличается, или если это вообще имеет значение. Нашел это интересным и, возможно, ключом к моей проблеме.

Это наводит меня на мысль, что Cinder Node и The Controller могут «видеть» или общаться друг с другом. Я считаю, что правильно настроил lvm внутри узла Cinder. На всякий случай вот раздел фильтра из файла lvm.conf:

filter = [ "a/sda/", "a ...

При всем при этом. Я думаю, что это проблема формата раздела/жесткого диска. Или проблема с rabbitmq (служба обмена сообщениями). У меня есть сервер rabbitmq, установленный на Cinder Node, который, как я знаю, настроен не так, как указано в руководстве, что означает, что он, вероятно, неверен. Сейчас я пытаюсь удалить сервер rabbitmq из Cinder Node. Проблема, с которой я столкнусь, заключается в том, что узел Cinder и узел контроллера не будут "видеть" друг друга. Если это так, то, возможно, что-то не так с файлами cons на любом из трех узлов, которые у меня работают прямо сейчас? Сейчас работают 3 узла: Controller, Compute и Cinder.

Дайте мне знать, что вы, ребята, думаете. Если вы видите проблему с моими файлами cons, пожалуйста, сообщите мне. Последний абзац призван объяснить мое мышление и текущее состояние проекта. Если вы видите ошибку в моей логике или думаете, что есть лучший способ решить проблему, я внимательно слушаю!

Всем спасибо!


person StevieSwift    schedule 16.09.2016    source источник
comment
Тег Cinder, который вы добавили, предназначен для другого Cinder - я мало знаю об этом Cinder - и еще меньше об этом ;-)   -  person Jimmy    schedule 08.10.2016


Ответы (2)


Сначала проверьте вывод команды vgs. Если вы установили openstack (так же, как я) через packstack. Размер тома по умолчанию составляет 20 ГБ или около того. Вы можете просмотреть файл ответов packstack, чтобы подтвердить или просмотреть размер группы томов.

CONFIG_CINDER_VOLUMES_SIZE=20 ГБ

Если вы хотите увеличить размер этой группы томов, используйте эта ссылка :-

Надеюсь, это решит вашу проблему.

person avtar singh    schedule 23.02.2017

вы поместили ключ enable_backends не в тот раздел. Он будет определен в разделе [Default] как на контроллере, так и на узле хранения.

person Rahul Singh    schedule 06.08.2020