Этот раздел описывает как установить и настроить узлы хранилища для сервиса блочных хранилищ. Для простоты данный мануал рассматривает один узел хранилища с пустым локальным блочным устройством. Данная инструкция использует /dev/sdb
, но вы можете заменить другим значением, подходящим конкретному узлу.
Данный сервис предоставляет логические диски на данное устройство, используя драйвер LVM и подключает их к инстансам через транспорт iSCSI. Вы можете следовать данным инструкциям с небольшими изменениями для горизонтального масштабирования вашего окружения дополнительными узлами хранилища.
Перед установкой и конфигурацией сервиса блочных хранилищ на узлы хранилища вы должны подготовить устройство хранения.
Примечание
Выполните следующие шаги на узле хранилища.
Установите пакеты служебной утилиты:
Примечание
Некоторые дистрибутивы включают LVM по умолчанию.
Создайте /dev/sdb
физический LVM диск:
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
Создайте ``cinder-volumes``группу дисков LVM:
# vgcreate cinder-volumes /dev/sdb
Volume group "cinder-volumes" successfully created
Служба Блочного Хранения будет создавать логические диски в этой группе дисков.
Только инстансы могут иметь доступ к дискам блочного хранилища. Однако, нижележащая операционная система управляет устройствами, ассоциированными с дисками. По умолчанию, утилита LVM по сканированию дисков сканирует директорию /dev
на наличие устройств блочных хранилищ, содержащих диски. Если проекты используют LVM на собственных дисках, то сканирующая утилита обнаружит данные диски и попытается прокэшировать их, что может привести к ряду проблем как со стороны нижележащей операционной системы, так и со стороны дисков проектов. Вы должны переконфигурировать LVM под сканирование только устройств, содержащих cinder-volumes
группу дисков. Отредактируйте файл ``/etc/lvm/lvm.conf``и выполните следующие действия:
В разделе devices
добавьте фильтр, который принимает устройство ``/dev/sdb``и отклоняет все прочие:
devices {
...
filter = [ "a/sdb/", "r/.*/"]
Каждый элемент в массиве фильтров начинается с a
для accept (принять) или с r
для reject (отклонить) и включает регулярное выражение для имени устройства. Массив должен заканчиваться r/.*/
, чтобы отклонить все остальные устройства. Вы можете использовать :command:`vgs -vvvv`для проверки фильтров.
Предупреждение
Если узлы хранилища используют LVM для диска операционной системы, нужно также добавить связанное устройство к фильтру. Например, если операционная система расположена на устройстве /dev/sda
:
filter = [ "a/sda/", "a/sdb/", "r/.*/"]
Точно так же если узлы вычислительных ресурсов используют LVM в качестве диска операционной системы, необходимо также изменить фильтр в файле “/etc/lvm/lvm.conf” на таких узлах, чтобы он содержал в себе только диск с операционной системой. Например, если операционная система расположена на устройстве “/dev/sda” :
filter = [ "a/sda/", "r/.*/"]
Отредактируйте файл /etc/cinder/cinder.conf
и выполните следующие действия:
Сконфигурируйте доступ к базе данных в разделе [database]
:
[database]
# ...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder
Замените ``CINDER_DBPASS `` паролем, который вы выбрали для базы данных блочных хранилищ.
В разделе [DEFAULT]
настройте доступ к RabbitMQ
очереди сообщений:
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
Замените RABBIT_PASS
паролем, который вы выбрали для openstack
аккаунта в RabbitMQ
.
Настройте доступ к идентификатору в разделах [DEFAULT]
и [keystone_authtoken]
:
[DEFAULT]
# ...
auth_strategy = keystone
[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 = CINDER_PASS
Замените ``CINDER_PASS `` паролем, который вы выбрали для пользователя ``cinder `` в идентификаторе.
Примечание
Закомментируйте или удалите любые другие опции в разделе [keystone_authtoken]
.
В разделе “[DEFAULT]” задайте опцию “my_ip”:
[DEFAULT]
# ...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
Замените MANAGEMENT_INTERFACE_IP_ADDRESS
IP адресом управляющего сетевого интерфейса на вашем узле хранилища, обычно это 10.0.0.41 для первого узла в архитектуре примера.
Включите LVM бэкенд в разделе [DEFAULT]
:
[DEFAULT]
# ...
enabled_backends = lvm
Примечание
Имена бэкендов являются произвольными. К примеру, данный мануал использует имя драйвера в качестве имени бэкенда.
Настройте расположение для API сервиса управления образами в разделе [DEFAULT]
:
[DEFAULT]
# ...
glance_api_servers = http://controller:9292
Настройте путь до файлов локов в разделе [oslo_concurrency]
:
[oslo_concurrency]
# ...
lock_path = /var/lib/cinder/tmp
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.