Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
serverguide-precise-ru.pdf
Скачиваний:
77
Добавлен:
03.05.2015
Размер:
1.86 Mб
Скачать

Виртуализация

4.4. Установка OpenStack Compute (Nova)

Вычислительный ресурс OpenStack (Nova) является диспетчером облачного процесса вычислений (основной частью системы IaaS — инфраструктура как сервис). Он написан на Python с использованием оболочек Eventlet и Twisted и опирается на стандартный протокол сообщений AMQP, а также SQLAlchemy для доступа к хранилищам данных.

Установите компоненты OpenStack Nova

sudo apt-get install nova-api nova-network nova-volume nova-objectstore nova-scheduler \ nova-compute euca2ools unzip

Перезапустите libvirt-bin, чтобы убедиться, что libvirtd знает о средстве фильтрации пакетов ebtables.

sudo service libvirt-bin restart

Установите RabbitMQ — реализацию протокола AMQP (Advanced Message Queuing Protocol)

sudo apt-get install rabbitmq-server

Отредактируйте /etc/nova/nova.conf, добавив следующее:

# Nova config FlatDHCPManager --sql_connection=mysql://novauser:novapassword@localhost/nova --flat_injected=true --network_manager=nova.network.manager.FlatDHCPManager --fixed_range=10.0.0.0/24

--floating_range=10.153.107.72/29 --flat_network_dhcp_start=10.0.0.2 --flat_network_bridge=br100 --flat_interface=eth1 --public_interface=eth0

Перезапустите службы OpenStack

for i in nova-api nova-network nova-objectstore nova-scheduler nova-volume nova-compute; \ do sudo stop $i; sleep 2; done

for i in nova-api nova-network nova-objectstore nova-scheduler nova-volume nova-compute; \ do sudo start $i; sleep 2; done

Выполните миграцию базы данных Nova из sqlite в MySQL. Это может занять некоторое время.

389

Виртуализация

sudo nova-manage db sync

Определим отдельную частную сеть, в которой будут работать все ваши элементы. Она будет использоваться с фиксированными адресами IP, указанными в nova.conf .

sudo nova-manage network create --fixed_range_v4 10.0.0.0/24 --label private \ --bridge_interface br100

Определите конкретную сеть общего пользования и выделите 6 (полезных) плавающих публичных IP-адреса для использования в случаях, начиная с

10.153.107.72.

sudo nova-manage floating create --ip_range=10.153.107.72/29

Создайте пользователя (user1), проект (project1), скачайте учётные данные и файл конфигурации.

cd ; mkdir nova ; cd nova

sudo nova-manage user admin user1

sudo nova-manage project create project1 user1 sudo nova-manage project zipfile project1 user1 unzip nova.zip

source novarc

Проверьте установку OpenStack Compute, набрав:

sudo nova-manage service list sudo nova-manage version list

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

4.5. Установка сервиса управления образами (Glance)

Nova использует сервис Glance для управления образами операционных систем, которые требуются для поднятия экземпляров системы. Glance может использовать различные типы систем хранилищ, такие как файловое хранение, S3 (Simple Storage Service) и пр. Glance состоит из двух компонентов: glance-api and glance-registry. Они могут управляться с использованием соответствующих задач загрузки сервисов. Для нашего примера в качестве хранилища мы будем использовать mysql.

390

Виртуализация

Установите Glance

sudo apt-get install glance

Создайте базу данных и пользователя для glance

sudo

mysql

-uroot

-ppassword

-e "CREATE DATABASE glance;"

sudo

mysql

-uroot

-ppassword

-e "GRANT ALL ON glance.* TO glanceuser@localhost \

IDENTIFIED

BY 'glancepassword' ";

Отредактируйте файл /etc/glance/glance-registry.conf, изменив содержимое строки, которая содержит опцию "sql_connection =", на следующее:

sql_connection = mysql://glanceuser:glancepassword@localhost/glance

Удалите базу данных sqlite

rm -rf /var/lib/glance/glance.sqlite

Перезапустите glance-registry после того, как измените /etc/glance/glanceregistry.conf. База данных MySQL будет автоматически заполнена.

sudo restart glance-registry

Если возникли ошибки, взгляните на файлы журнала в /var/log/glance/api.log

и /var/log/glance/registry.log.

4.6. Запуск экземпляров

Прежде чем вы сможете использовать образы, необходимо сначала установить учётные данные пользователя. После этого первого шага также необходимо загрузить образы, которые вы хотите запустить в облака.

Если у вас есть эти образы, загруженные в облако, вы сможете работать и подключаться к ним. Вот шаги, которым вы должны следовать, чтобы получить запущенныe экземпляры OpenStack Nova:

Скачайте, зарегистрируйтесь и опубликуйте образы в облаке Ubuntu

distro=lucid

wget http://cloud-images.ubuntu.com/$distro/current/$distro-server-cloudimg-amd64.tar.gz cloud-publish-tarball "$distro"-server-cloudimg-amd64.tar.gz "$distro"_amd64

Создайте ключевую пару для пользователя и подготовьте экземпляр системы:

cd ~/nova

391

Виртуализация

source novarc

euca-add-keypair user1 > user1.priv chmod 0600 user1.priv

Разрешите доступ по icmp (ping) и ssh к экземплярам:

euca-authorize default -P tcp -p 22 -s 0.0.0.0/0 euca-authorize -P icmp -t -1:-1 default

Запустите экземпляр

ami=`euca-describe-images | awk {'print $2'} | grep -m1 ami` euca-run-instances $ami -k user1 -t m1.tiny euca-describe-instances

Назначьте публичный адрес экземпляру.

euca-allocate-address

euca-associate-address -i instance_id public_ip_address euca-describe-instances

Вы здесь должны ввести instance_id (ami) и public_ip_address, показанные выше командами euca-describe-instances и euca-allocate-address.

Теперь вы должны добавить SSH к экземпляру

ssh -i user1.priv ubuntu@ipaddress

Для завершения экземпляра

euca-terminate-instances instance_id

4.7. Установите инфраструктуру хранения данных (Swift)

Swift является высокодоступным, распределённым, с согласованностью в к конечном счёте (eventually consistent) хранилищем объектов/блобов. Он используется OpenStack, как инфраструктура для обеспечения S3, подобно облачным сервисам хранения данных. Он также S3 API совместимый с

Amazon.

Организации используют Swift для эффективного, безопасного и недорогого хранения больших объёмов данных, при этом приложения используют специальные API для взаимодействия между приложениями и объектами, хранящимися в Swift.

Хотя вы можете установить Swift на единственный сервер, для промышленных сред требуется установка на несколько серверов. Если вы

392

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]