Openstack Mass / Juju восстановление

Я создал Openstack на основе MAAS, используя juju. Я создал экземпляры, проекты и т. Д. Я сделал резервные копии базы данных и конфигурационных файлов openstack. Я пытаюсь выполнить тестовое восстановление, уничтожив и удалив службу keystone , просто чтобы посмотреть, удалось ли ее восстановить. Я также сбрасываю базу данных о краеугольных камнях. (резервное копирование) Таким образом, с помощью juju я уничтожаю старый краеугольный камень, который был сломан, и внедряю новый краеугольный камень. Это фактически заставляет меня снова работать, за исключением того факта, что все проекты (арендаторы) исчезли, а экземпляры не принадлежат ни одному проекту. Поэтому я восстанавливаю базу данных keystone, но без токенов, но когда я это делаю, я получаю сообщение об ошибке, сообщающее мне, что keystone не авторизует клиента.

Каков наилучший способ восстановить сломанный ключевой узел ...? Кажется, когда вы переделываете keystone с помощью juju, вы получаете новые токены. может ли джуджу каким-то образом ввести старые в новый краеугольный камень?

5
задан 1 May 2013 в 16:21

1 ответ

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

Вы также столкнетесь с проблемами, если не указали пароль администратора и конфигурацию токена администратора при развертывании keystone; сервисные блоки keystone будут генерировать их случайным образом, если они не настроены явно, поэтому они изменятся, когда вы удалите, а затем добавите новый сервисный блок keystone.

В результате вы получаете набор хэшированных паролей в базе данных (созданных первым сервисным блоком), которые не соответствуют сгенерированным паролям на диске во втором сервисном блоке keystone.

В идеале мы бы исправили это с помощью какой-то общей функции хранения объектов в juju (думаю, object-put / object-get), но это не поддерживаемая функция.

Все хранение на диске паролей и токенов происходит в / var / lib / keystone; вы можете выбрать их как часть резервной копии самого сервисного подразделения keystone; однако вы добавите расы, когда добавите новый сервисный модуль, поскольку сервисные отношения сработают до того, как вы сможете восстановить эти файлы.

Как один из тех, кто поддерживает чары OpenStack, я подумаю об этом немного подробнее и посмотрим, сможем ли мы придумать что-нибудь более изящное.

0
ответ дан 1 May 2013 в 16:21

Другие вопросы по тегам:

Похожие вопросы: