Облако Ubuntu Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:виртуализация:ubuntu_cloud [2012/09/29 21:22]
[Установка вычислительного ресурса OpenStack (Nova)]
wiki:руководство_по_ubuntu_server:виртуализация:ubuntu_cloud [2012/09/30 11:50] (текущий)
[Термины]
Строка 62: Строка 62:
 ====Установка вычислительного ресурса OpenStack (Nova)==== ====Установка вычислительного ресурса OpenStack (Nova)====
  
-OpenStack ​Compute ​(Nova) ​is a cloud computing fabric controller ​(the main part of an IaaS system). It is written in Python, using the Eventlet ​and Twisted ​frameworks, and relies on the standard ​AMQP messaging protocol, and SQLAlchemy ​for data store access. +Вычислительный ресурс ​OpenStack (**Nova**является диспетчером облачного процесса вычислений ​(основной частью системы **//IaaS//** - инфраструктура как сервис). Он написан на **Python** с использованием оболочек **Eventlet** и **Twisted** и опирается на стандарты **AMQP** протокола сообщений и **SQLAlchemy** для доступа хранилищам данных.
- +
-Install OpenStack Nova components+
  
 +Установим компоненты OpenStack Nova:
 +<​code>​
 sudo apt-get install nova-api nova-network nova-volume nova-objectstore nova-scheduler \ sudo apt-get install nova-api nova-network nova-volume nova-objectstore nova-scheduler \
 nova-compute euca2ools unzip nova-compute euca2ools unzip
 +</​code>​
  
-Restart ​libvirt-bin ​just to make sure libvirtd ​is aware of ebtables+Перезапустим **libvirt-bin** просто чтобы быть уверенными,​ что **libvirtd** знает об **//ebtables//** (фильтре для сетевых мостов):​ 
- +<​code>​sudo service libvirt-bin ​restar</​code>​
-sudo service libvirt-bin ​restart +
- +
-Install RabbitMQ – Advanced Message Queuing Protocol (AMQP)+
  
-sudo apt-get install rabbitmq-server+Установим **RabbitMQ** - расширенный протокол очереди сообщений (AMQP): 
 +<​code>​sudo apt-get install rabbitmq-server</​code>​
  
-Edit /​etc/​nova/​nova.conf ​and add the following:+Отредактируем ​/​etc/​nova/​nova.conf ​и добавим следующее:
 <​code>​ <​code>​
 # Nova config FlatDHCPManager # Nova config FlatDHCPManager
Строка 91: Строка 90:
 </​code>​ </​code>​
  
-Restart ​OpenStack ​services +Перезапустим сервисы ​OpenStack: 
 +<​code>​
 for i in nova-api nova-network nova-objectstore nova-scheduler nova-volume nova-compute;​ \ for i in nova-api nova-network nova-objectstore nova-scheduler nova-volume nova-compute;​ \
 do sudo stop $i; sleep 2; done do sudo stop $i; sleep 2; done
Строка 98: Строка 97:
 for i in nova-api nova-network nova-objectstore nova-scheduler nova-volume nova-compute;​ \ for i in nova-api nova-network nova-objectstore nova-scheduler nova-volume nova-compute;​ \
 do sudo start $i; sleep 2; done do sudo start $i; sleep 2; done
 +</​code>​
  
-Migrate ​Nova database from sqlite ​db to MySQL db. It may take a while+Перенесем базу данных ​Nova с sqlite ​на MySQL. ​Это может занять длительное время: 
- +<​code>​sudo nova-manage db sync</​code>​
-sudo nova-manage db sync +
- +
-Define a specific private network where all your Instances will run. This will be used in the network of fixed Ips set inside nova.conf .+
  
 +Определим отдельную частную сеть, в которой будут работать все ваши элементы. Она будет использоваться с фиксированными адресами IP, указанными в nova.conf:
 +<​code>​
 sudo nova-manage network create --fixed_range_v4 10.0.0.0/24 --label private \ sudo nova-manage network create --fixed_range_v4 10.0.0.0/24 --label private \
 --bridge_interface br100 --bridge_interface br100
 +</​code>​
  
-Define a specific public network and allocate ​(usable) Floating Public ​IP addresses for use with the instances starting from 10.153.107.72+Определим отдельную общедоступную сеть и разместим в ней ​плавающих ​IP адресов,​ начиная с 10.153.107.72, для использования элементами среды: 
- +<​code>​sudo nova-manage floating create --ip_range=10.153.107.72/​29</​code>​
-sudo nova-manage floating create --ip_range=10.153.107.72/​29 +
- +
-Create a user (user1), a project (project1), download credentials and source its configuration file.+
  
 +Создадим пользователя (**//​user1//​**),​ проект (**//​project1//​**),​ загрузим учетную запись и получим конфигурационный файл:
 +<​code>​
 cd ; mkdir nova ; cd nova cd ; mkdir nova ; cd nova
 sudo nova-manage user admin user1 sudo nova-manage user admin user1
Строка 120: Строка 119:
 unzip nova.zip unzip nova.zip
 source novarc source novarc
 +</​code>​
  
-Verify the OpenStack ​Compute installation by typing+Проверм установку вычислительного ресурса ​OpenStack, набрав
 +<​code>​
 sudo nova-manage service list sudo nova-manage service list
 sudo nova-manage version list sudo nova-manage version list
 +</​code>​
  
-If nova services don’t show up correctly restart ​OpenStack ​services as described previouslyFor more information please refer to the troubleshooting section on this guide.+Если сервисы **nova** не отработают корректно,​ перезапустите сервисы ​OpenStack, как описывалось вышеДля дополнительной информации смотрите секцию [[#​поддержка_и_решение_проблем|Поддержка и решение проблем]] в этом руководстве.
  
 ====Установка сервиса образов систем (Glance)==== ====Установка сервиса образов систем (Glance)====
  
-Nova uses Glance ​service to manage Operating System images that it needs for bringing up instances. Glance ​can use several types of storage backends such as filestores3 etc. Glance ​has two components - glance-api ​and glance-registry. ​These can be controlled using the concerned upstart service jobsFor this specific case we will be using mysql as a storage backend.+**Nova** использует сервис **Glance** для управления образами операционных систем,​ которые требуются для поднятия экземпляров системы**Glance** может использовать различные типы систем хранилищтакие как файловое хранение,​ S3 (Simple Storage Service) и пр**Glance** состоит из двух компонентов:​ **//glance-api//** и **//glance-registry//**Они могут управляться с использованием соответствующих задач загрузки сервисовДля нашего примера в качестве хранилища мы будем использовать **mysql**.
  
-Install ​Glance +Установка **Glance**: 
- +<​code>​sudo apt-get install glance</​code>​
-sudo apt-get install glance +
- +
-Create a database and user for glance+
  
 +Создадим базу данных и пользователя для **glance**:
 +<​code>​
 sudo mysql -uroot -ppassword -e "​CREATE DATABASE glance;"​ sudo mysql -uroot -ppassword -e "​CREATE DATABASE glance;"​
 sudo mysql -uroot -ppassword -e "GRANT ALL ON glance.* TO glanceuser@localhost \ sudo mysql -uroot -ppassword -e "GRANT ALL ON glance.* TO glanceuser@localhost \
 IDENTIFIED BY '​glancepassword'​ "; IDENTIFIED BY '​glancepassword'​ ";
 +</​code>​
  
-Edit the file /​etc/​glance/​glance-registry.conf ​and edit the line which contains the option ​"​sql_connection =" ​to this:+Отредактируем файл ​/​etc/​glance/​glance-registry.conf ​и изменим строку,​ содержащую опцию %%"​sql_connection ="%%, на следующее: 
 +<​code>​sql_connection = mysql://​glanceuser:​glancepassword@localhost/​glance</​code>​
  
-sql_connection = mysql://glanceuser:​glancepassword@localhost/glance+Удалим базу данных sqlite: 
 +<​code>​rm -rf /var/lib/glance/​glance.sqlite</​code>​
  
-Remove the sqlite database+Перезапустим **glance-registry** после внесенных изменений в /​etc/​glance/​glance-registry.conf. База данных MySQL будет автоматически заполнена:​ 
 +<​code>​sudo restart glance-registry</​code>​
  
-rm -rf /​var/​lib/​glance/​glance.sqlite +При поиске проблем посмотрите файлы журналов ​/​var/​log/​glance/​api.log ​и /​var/​log/​glance/​registry.log.
- +
-Restart glance-registry after making changes to /​etc/​glance/​glance-registry.conf. The MySQL database will be automatically populated. +
- +
-sudo restart glance-registry +
- +
-If you find issues take a look at the log file in /​var/​log/​glance/​api.log ​and /​var/​log/​glance/​registry.log.+
  
 ====Работающие экземпляры (instances)==== ====Работающие экземпляры (instances)====
  
-Before you can instantiate imagesyou first need to setup user credentialsOnce this first step is achieved you also need to upload images that you want to run in the cloudOnce you have these images uploaded to the cloud you will be able to run and connect to themHere are the steps you should follow to get OpenStack Nova running instances: +Прежде чем вы сможете предоставлять экземпляры образов системвам в первую очередь потребуется настроить пользовательские учетные записиКак только первый шаг выполнен,​ вам еще потребуется загрузить образы систем,​ которые вы собираетесь запускать в облакеКогда у вас в облаке будут загруженные образы систем,​ вы их сможете загрузить и подключитьсяЗдесь приведены шаги, чтобы получить работающие экземпляры ​OpenStack Nova:
- +
-Download, register and publish an Ubuntu cloud image+
  
 +Загрузите,​ зарегистрируйте и опубликуйте облачный образ Ubuntu:
 +<​code>​
 distro=lucid distro=lucid
 wget http://​cloud-images.ubuntu.com/​$distro/​current/​$distro-server-cloudimg-amd64.tar.gz 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 cloud-publish-tarball "​$distro"​-server-cloudimg-amd64.tar.gz "​$distro"​_amd64
 +</​code>​
 +<​note>​Здесь используется дистрибутив **//​lucid//​** (10.04), но скорее всего можно использовать любой поддерживаемый,​ например,​ **//​precise//​**. (//​прим. пер.//​)</​note>​
  
-Create a key pair and start an instance +Создайте ключевую пару для пользователя и подготовьте экземпляр системы:​ 
 +<​code>​
 cd ~/nova cd ~/nova
 source novarc source novarc
 euca-add-keypair user1 > user1.priv euca-add-keypair user1 > user1.priv
 chmod 0600 user1.priv chmod 0600 user1.priv
 +</​code>​
  
-Allow icmp (ping) ​and ssh access to instances +Разрешите доступ по **icmp** (ping) ​и **ssh** к экземплярам:​ 
 +<​code>​
 euca-authorize default -P tcp -p 22 -s 0.0.0.0/0 euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
 euca-authorize -P icmp -t -1:-1 default euca-authorize -P icmp -t -1:-1 default
 +</​code>​
  
-Run an instance +Запустите экземпляр системы:​ 
 +<​code>​
 ami=`euca-describe-images |  awk {'​print $2'} | grep -m1 ami` ami=`euca-describe-images |  awk {'​print $2'} | grep -m1 ami`
 euca-run-instances $ami -k user1 -t m1.tiny euca-run-instances $ami -k user1 -t m1.tiny
 euca-describe-instances euca-describe-instances
 +</​code>​
  
-Assign public address to the instance. +Присвойте экземпляру адрес общедоступной сети: 
 +<​code>​
 euca-allocate-address euca-allocate-address
 euca-associate-address -i instance_id public_ip_address euca-associate-address -i instance_id public_ip_address
 euca-describe-instances euca-describe-instances
 +</​code>​
  
-You must enter above the instance_id (ami) and public_ip_address ​shown above by euca-describe-instances ​and euca-allocate-address ​commands.+Вы здесь должны ввести **//instance_id (ami)//** и **//public_ip_address//**, показанные выше командами **euca-describe-instances** и **euca-allocate-address**.
  
-Now you should be able to SSH to the instance+Теперь вы можете использовать ​SSH доступ к экземпляру:​ 
 +<​code>​ssh -i user1.priv ubuntu@ipaddress</​code>​
  
-ssh -i user1.priv ubuntu@ipaddress +Для выключения экземпляра:​ 
- +<​code>​euca-terminate-instances instance_id</​code>​
-To terminate instances +
- +
-euca-terminate-instances instance_id+
  
 ====Установка хранилища инфраструктуры (Swift)==== ====Установка хранилища инфраструктуры (Swift)====
  
-Swift is a highly available, distributed,​ eventually consistent ​object/​blob ​storeIt is used by the OpenStack ​Infrastructure to provide ​S3 like cloud storage servicesIt is also S3 api compatible with amazon.+**Swift** является распределенным хранилищем высокой доступности соответствия **//object/blob//**Оно используется инфраструктурой **OpenStack** для предоставления ​S3-подобных облачных сервисов храненияОно также совместимо с **S3 api** от **Amazon**.
  
-Organizations use Swift to store lots of data efficientlysafelyand cheaply where applications use an special ​api to interface between the applications and objects stored in Swift.+Организации используют **Swift** для хранения больших объемов данных эффективнобезопасно и дешевогде приложения используют специальный **api** для обеспечения взаимодействия между приложениями и с объектами,​ сохраненными в **Swift**.
  
-Although you can install ​Swift on a single servera multiple-server installation is required for production environmentsIf you want to install ​OpenStack ​Object Storage ​(Swift) ​on a single node for development or testing purposesuse the Swift All In One instructions on Ubuntu.+Хотя вы можете установить **Swift** на единственный сервердля промышленных сред требуется установка на несколько серверовЕсли вы хотите установить хранилище объектов ​OpenStack (Swift) ​на отдельный сетевой сервер для разработки или тестированияиспользуйте инструкции установки **//'Swift все в одном'//​** на Ubuntu.
  
-For more information see: http://​swift.openstack.org/​development_saio.html .+Дополнительная информация доступна по адресу[[http://​swift.openstack.org/​development_saio.html]].
  
 ====Поддержка и решение проблем==== ====Поддержка и решение проблем====
  
-Community Support+Поддержка сообщества:​
  
-    ​OpenStack ​Mailing list +  -- [[https://​launchpad.net/​~openstack|Список рассылки ​OpenStack]]. 
- +  -- [[http://​wiki.openstack.org/​|Страница поиска по OpenStack Wiki]]. 
-    The OpenStack Wiki search +  -- [[https://bugs.launchpad.net/​nova|Регистрация ошибок на Launchpad]]. 
- +  -- Присоединяйтесь к **IRC** каналу **//#openstack//** на [[http://​freenode.net/​|freenode]].
-    Launchpad ​bugs area +
- +
-    Join the IRC channel ​#​openstack ​on freenode.+
  
 ====Ссылки==== ====Ссылки====
  
-    Cloud Computing ​Service models +  ​-- [[http://​en.wikipedia.org/​wiki/​Cloud_computing#​Service_Models|Облачные вычисления - сервисные модели]]. 
- +  -- [[https://​help.ubuntu.com/​12.04/​serverguide/​docs.openstack.org/​trunk/​openstack-compute/​|Вычисления ​OpenStack]]. 
-    ​OpenStack ​Compute +  -- [[http://​docs.openstack.org/​diablo/​openstack-compute/​starter/​content/​GlanceMS-d2s21.html|Сервис образов ​OpenStack]]. 
- +  -- [[https://​help.ubuntu.com/​12.04/​serverguide/​OpenStack%20Object%20Storage%20Administration%20Guide|Руководство администрирования хранилища объектов ​OpenStack]]. 
-    ​OpenStack ​Image Service +  -- [[http://​docs.openstack.org/​trunk/​openstack-object-storage/​admin/​content/​installing-openstack-object-storage-on-ubuntu.html|Установка хранилища объектов OpenStack на Ubuntu]]. 
- +  -- [[http://​cloudglossary.com/​|Толковый словарь по облачным вычислениям]].
-    ​OpenStack ​Object Storage Administration Guide +
- +
-    Installing ​OpenStack ​Object Storage ​on Ubuntu +
- +
-    ​http://​cloudglossary.com/​+
  
 ====Термины==== ====Термины====
  
-The Ubuntu ​Cloud documentation uses terminology that might be unfamiliar to some readers. This page is intended to provide a glossary of such terms and acronyms. +Документация по облаку ​Ubuntu ​использует терминологиюкоторая некоторым может быть непонятнаЭта секция предоставляет словарь таких терминов и аббревиатур.
- +
-    Cloud - A federated set of physical machines that offer computing resources through virtual machinesprovisioned and recollected dynamically. +
- +
-    IaaS - Infrastructure as a Service — Cloud infrastructure services, whereby a virtualized environment is delivered as a service over the Internet by the provider. The infrastructure can include servers, network equipment, and software. +
- +
-    EBS - Elastic Block Storage. +
- +
-    EC2 - Elastic Compute Cloud. Amazon'​s pay-by-the-hour,​ pay-by-the-gigabyte public cloud computing offering. +
- +
-    Node - A node is a physical machine that's capable of running virtual machines, running a node controller. Within Ubuntu, this generally means that the CPU has VT extensions, and can run the KVM hypervisor. +
- +
-    S3 - Simple Storage Service. Amazon'​s pay-by-the-gigabyte persistent storage solution for EC2. +
- +
-    Ubuntu Cloud - Ubuntu Cloud. Ubuntu'​s cloud computing solution, based on OpenStack. +
- +
-    VM - Virtual Machine. +
- +
-    VT - Virtualization Technology. An optional feature of some modern CPUs, allowing for accelerated virtual machine hosting.+
  
 +  -- **Облако (Cloud)** - объединенный набор физических машин, которые предлагают вычислительные ресурсы с помощью виртуальных машин, резервируемых и выделяемых динамически.
 +  -- **IaaS - инфраструктура как сервис** - Сервисы облачной инфраструктуры,​ благодаря которым виртуальное окружение предоставляется провайдером в виде сервиса через интернет. Инфраструктура может включать сервера,​ сетевое оборудование и программное обеспечение.
 +  -- **EBS** - Эластичное блочное хранилище.
 +  -- **EC2** - Эластичное облако вычислений. Общедоступные облачные вычисления,​ предоставляемые Amazon на основе почасовой или погигабайтной оплаты.
 +  -- **Узел (Node)** - физическая машина,​ которая может запускать виртуальные машины по команде контроллера узлов (node controller). Для Ubuntu это в основном означает,​ что центральный процессор (CPU) поддерживает расширения VT (аппаратной виртуализации) и может запускать гипервизор KVM.
 +  -- **S3 - простой сервис хранения** - Решение Amazon для предоставления хранилища с погигабайтной оплатой для EC2.
 +  -- **Облако Ubuntu** - Решение облачных вычислений для Ubuntu, основанное на OpenStack.
 +  -- **ВМ (VM)** - виртуальная машина.
 +  -- **VT** - технология виртуализации. Особенность некоторых современных процессоров,​ позволяющая ускорять работу виртуальных машин.
  
 ---- ----