- Воздействие на пользователей
- Анализ модернизации
- Выполнение резервного копирования
- Управление репозиториями
- Обновление файлов настройки
- Пакеты модернизации на узле контроллера
- Останов служб, обновление схем базы данных и перезапуск служб на контроллере узла
- Пакеты модернизации и перезапуск служб на вычислительном узле
- Пакеты модернизации и перезапуск служб на узле блочного хранилища
В данном разделе мы предполагаем, что вы начинаете с архитектурой, представленной в Руководстве по установке OpenStack и выполняете модернизацию для той же архитектуры Havana. Все узлы должны выполнять Red Hat Enterprise Linux 6.4 или совместимые производные ОС. Более новые редакции с незначительными изменениями также должны работать. В данном разделе в первую очередь обсуждаются службы ядра OpenStack, такие, как служба идентификации (keystone), служба образов (glance), вычислительные ресурсы (nova), включающие сетевую среду, блочные хранилища (cinder), а также инструментальную панель.
Процесс модернизации прерывает управление вашей средой, в том числе через инструментальную панель. Если вы правильно подготовитесь к данной модернизации, экземпляры владельцев нормально продолжат свою работу.
Перед выполнением модернизации всегда просматривайте замечания к редакции для ознакомления с новой доступной функциональностью, которую, возможно, вы допустите, при этом устаревшие свойства вы должны отключить.
Вначале сохраните файлы настройки на всех узлах:
# for i in keystone glance nova cinder openstack-dashboard; \ do mkdir $i-grizzly; \ done # for i in keystone glance nova cinder openstack-dashboard; \ do cp -r /etc/$i/* $i-grizzly/; \ done
Замечание | |
---|---|
Вы можете изменить данный пример сценария на каждом узле для обработки различных служб. |
Далее выполните резервное копирование всех баз данных на контроллере:
# mysqldump -u root -p --opt --add-drop-database \ --all-databases > grizzly-db-backup.sql
Удалите репозиторий для пакетов Grizzly на всех узлах и добавьте репозиторий для пакетов Havana:
# yum erase rdo-release-grizzly # yum install http://repos.fedorapeople.org/repos/openstack/openstack-havana/ \ rdo-release-havana-7.noarch.rpm
Предостережение | |
---|---|
Проверьте, что все автоматические обновления запрещены. |
Замечание | |
---|---|
Попробуйте найти более новые версии репозитория Havana. |
Модернизируйте настройку glance на узле контроллера для совместимости с Havana.
Добавьте или измените следующие ключи в файлах
/etc/glance/glance-api.conf
и
/etc/glance/glance-registry.conf
:
# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \ auth_uri http://controller:5000 # openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \ auth_host controller # openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \ admin_tenant_name service # openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \ admin_user glance # openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \ admin_password GLANCE_PASS # openstack-config --set /etc/glance/glance-api.conf paste_deploy \ flavor keystone
# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \ auth_uri http://controller:5000 # openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \ auth_host controller # openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \ admin_tenant_name service # openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \ admin_user glance # openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \ admin_password GLANCE_PASS # openstack-config --set /etc/glance/glance-registry.conf paste_deploy \ flavor keystone
Если они присутствуют в текущее время, удалите следующие ключи из раздела
[filter:authtoken] в файлах
/etc/glance/glance-api-paste.ini
и
/etc/glance/glance-registry-paste.ini
:
[filter:authtoken] flavor = keystone
Измените настройку nova на всех узлах для совместимости с Havana.
Добавьте раздел [database]
и
связанный с ним ключ в раздел файла /etc/nova/nova.conf
:
# openstack-config --set /etc/nova/nova.conf database \ connection mysql://nova:NOVA_DBPASS@controller/nova
Удалите вышедшие из употребления настройки базы данных из файла /etc/nova/nova.conf
:
# openstack-config --del /etc/nova/nova.conf DEFAULT sql_connection
Добавьте или измените следующие ключи в файле /etc/nova/nova.conf
:
# openstack-config --set /etc/nova/nova.conf keystone_authtoken \ auth_uri http://controller:5000/v2.0 # openstack-config --set /etc/nova/nova.conf keystone_authtoken \ auth_host controller # openstack-config --set /etc/nova/nova.conf keystone_authtoken \ admin_tenant_name service # openstack-config --set /etc/nova/nova.conf keystone_authtoken \ admin_user nova # openstack-config --set /etc/nova/nova.conf keystone_authtoken \ admin_password NOVA_PASS
Следующим образом увеличьте время владения DHCP (измеряемое в секундах) на всех вычислительных узлах в файле
/etc/nova/nova.conf
для разрешения всем активным экземплярам
продолжать владеть своими IP адресами в процессе модернизации:
# openstack-config --set /etc/nova/nova.conf DEFAULT \ dhcp_lease_time 86400
Предостережение | |
---|---|
Установка этих значений слишком большими может вызвать в более динамичной среде выход за пределы доступных IP адресов. Используйте значения, соответствующие вашей среде. |
Вы должны перезапустить dnsmasq и компоненты сети для обновления значения нового времени владения:
# pkill -9 dnsmasq # service openstack-nova-network restart
Измените настройки Cinder в контроллере и узлах хранения для совместимости с Havana.
Добавьте раздел [database]
и связанный с ним ключ
в файл /etc/cinder/cinder.conf
:
# openstack-config --set /etc/cinder/cinder.conf database \ connection mysql://cinder:CINDER_DBPASS@controller/cinder
Удалите вышедшие из употребления настройки базы данных из файла
/etc/cinder/cinder.conf
:
# openstack-config --del /etc/cinder/cinder.conf DEFAULT sql_connection
Добавьте или измените следующий ключ в файле
/etc/cinder/cinder.conf
:
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \ auth_uri http://controller:5000
Измените настройку инструментальной панели на узле контроллера для совместимости с Havana.
Процедура установки и настройки файла инструментальной панели
претерпела существенные изменения при переходе с Grizzly на Havana.
В частности, если вы работаете под Django 1.5 или более поздними версиями, вы должны
убедиться, что /etc/openstack-dashboard/local_settings
содержат правильно настроенные ключи ALLOWED_HOSTS
,
которые имеют в своем составе список имен хостов,
распознаваемый инструментальной панелью.
Если пользователи осуществляют доступ к вашей инструментальной панели с использованием
http://dashboard.example.com, определите
ALLOWED_HOSTS
следующим образом:
ALLOWED_HOSTS=['dashboard.example.com']
Если пользователи осуществляют доступ к вашей инструментальной панели в локальной системе, определите
ALLOWED_HOSTS
следующим образом:
ALLOWED_HOSTS=['localhost']
Если пользователи осуществляют доступ к вашей инструментальной панели при помощи IP адреса
в добавление к имени хоста, определите
ALLOWED_HOSTS
следующим образом:
ALLOWED_HOSTS=['dashboard.example.com', '192.168.122.200']
Модернизируйте пакеты на узле контроллера для Havana следующим образом:
# yum upgrade
Замечание | |
---|---|
Некоторые службы могут завершиться с ошибкой в процессе модернизации пакета. Если такая ошибка может вызвать проблемы с вашей средой, рассмотрите возможность останова всех служб до их обновления до редакции Havana. |
Установите пакет OpenStack SELinux на узел контроллера:
# yum install openstack-selinux
Замечание | |
---|---|
Данный администратор пакетов добавляет в конец новых версий существующих файлов
префикс |
Остановите все службы, выполните, если это необходимо, команду синхронизации базы данных для обновления схемы базы данных и перезапустите все службы для принятия новых настроек. Перечислим некоторые службы, требующие дополнительные команды:
- Идентификация OpenStack
-
# service openstack-keystone stop # keystone-manage token_flush # keystone-manage db_sync # service openstack-keystone start
- Служба образов OpenStack
-
# service openstack-glance-api stop # service openstack-glance-registry stop # glance-manage db_sync # service openstack-glance-api start # service openstack-glance-registry start
- Вычислительная среда OpenStack
-
# service openstack-nova-api stop # service openstack-nova-scheduler stop # service openstack-nova-conductor stop # service openstack-nova-cert stop # service openstack-nova-consoleauth stop # service openstack-nova-novncproxy stop # nova-manage db sync # service openstack-nova-api start # service openstack-nova-scheduler start # service openstack-nova-conductor start # service openstack-nova-cert start # service openstack-nova-consoleauth start # service openstack-nova-novncproxy start
- Блочное хранилище OpenStack
-
# service openstack-cinder-api stop # service openstack-cinder-scheduler stop # cinder-manage db sync # service openstack-cinder-api start # service openstack-cinder-scheduler start
Модернизация узла контроллера завершена. Теперь вы можете приступить к модернизации вычислительных узлов.
Модернизируйте пакеты на вычислительных узлах для редакции Havana:
# yum upgrade
Замечание | |
---|---|
Проверьте, что вы удалили репозиторий для пакетов Grizzly и добавили репозиторий для пакетов Havana. |
Установите пакет OpenStack SELinux на вычислительный узел:
# yum install openstack-selinux
Перезапустите вычислительные службы:
# service openstack-nova-compute restart # service openstack-nova-network restart # service openstack-nova-metadata-api restart
Модернизируйте узлы хранения для редакции Havana:
# yum upgrade
Замечание | |
---|---|
Убедитесь, что вы удалили репозиторий для пакетов Grizzly и добавили репозиторий для пакетов Havana. |
Установите пакет OpenStack SELinux на узлы хранения:
# yum install openstack-selinux
Перезапустите службы блочного хранилища:
# service openstack-cinder-volume restart