Обычно мы упоминаем три типа облачных вычислений: программное обеспечение как услуга (SaaS), платформа как услуга (PaaS) и инфраструктура как услуга (IaaS). Когда впервые появилась концепция облака, люди говорили, что она запутанна и неясна. Теперь облачные технологии глубоко укоренились в сердцах людей. Возможно, вы используете облако, даже не осознавая этого. Например, Gmail, которым вы пользуетесь каждый день, находится в Google Cloud. . Чтобы лучше понять эти три разных облака, мы можем взять в качестве примера Google. Эта компания предоставляет три формы облачных сервисов. Во-первых, посмотрите на такие SaaS-приложения, как Google Gmail/Docs/Gtalk/Maps, которые работают на Google. Cloud, поэтому они предоставляют «программное обеспечение как услугу» для обычных пользователей; Google также предоставляет разработчикам AppEngine, который позволяет разработчикам использовать Python, Java и другие языки, а также предоставляемые ими API для разработки программного обеспечения и сервисов, поэтому они предоставляют разработчикам «Платформу как услугу»; Google сама создала огромную базовую облачную инфраструктуру на основе GFS, BigTable и MaPReduce, чтобы предоставить своему внутреннему персоналу «Инфраструктуру как услугу». Это три разных типа облаков. .
OpenNebula — это набор базовых инструментов управления облачными вычислениями с открытым исходным кодом, которые помогают администраторам единообразно развертывать, создавать, распределять и управлять большим количеством виртуальных машин в центре обработки данных. Корпоративные центры обработки данных могут использовать этот набор инструментов для создания собственных частных облаков. и предоставлять внутренние услуги IaaS, аналогичные продукты с открытым исходным кодом включают Eucalyptus, openQRM и т. д. Следующий процесс установки выполняется на двух серверах VPSee, оснащенных системой CentOS 5.5. Один сервер используется в качестве внешнего интерфейса OpenNubula (node00), а другой сервер используется в качестве узла (node01) для создания минимального «облака». Если вы хотите расширить это облако, вам нужно только постепенно добавлять узлы (node02, node03, ...).
Установить и настроить фронтенд (Front-End)
Добавьте исходный код CentOS Karan:
# cd /etc/yum.repos.d
# wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
#ням обновление
Установите пакеты программного обеспечения, необходимые для OpenNebula, и инструменты, необходимые для компиляции исходного кода OpenNebula:
# yum install gcc gcc-c++ make openssl-devel flex bison
# yum install Ruby Ruby-Devel Ruby-Docs Ruby-ri Ruby-irb Ruby-rdoc
# ням, установи рубигемс
# gem install nokogiri rake xmlparser
# ням установить сконс
# ням установить xmlrpc-c xmlrpc-c-devel
Версия sqlite, поставляемая с CentOS, не работает. Вам необходимо скачать и скомпилировать версию sqlite 3.6.17:
# wget http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz
# tar xvzf sqlite-amalgamation-3.6.17.tar.gz
# cd sqlite-3.6.17/
# ./configure; make install;
После загрузки и компиляции исходного пакета opennebula 2.0.1 распакуйте, скомпилируйте и установите:
# tar zxvf opennebula-2.0.1.tar.gz
# компакт-диск opennebula-2.0.1
#scons
# ./install.sh -d /srv/cloud/one
# ls /srv/cloud/one/
bin и т. д., включая общий ресурс библиотеки var
Перед запуском OpenNebula вам необходимо настроить переменную среды ONE_AUTH. Эта переменная среды считывается из файла $HOME/.one/one_auth, поэтому вам необходимо сначала создать файл one_auth, а затем запустить его (служебную программу OpenNebula):
# компакт-диск /корень/
# mkdir .one
# компакт-диск .one/
# cat "oneadmin:passWord" > one_auth
# один старт
OpenNebula поддерживает три технологии виртуализации: KVM, Xen и VMware. Нам также нужно указать OpenNebula, какую из них мы хотим использовать, и перезапустить одну, чтобы конфигурация вступила в силу:
# vi /etc/one/oned.conf
...
IM_MAD = [
имя = "im_xen",
исполняемый файл = "one_im_ssh",
аргументы = "ксен"]
ВМ_MAD = [
имя = "vmm_xen",
исполняемый файл = "one_vmm_ssh",
аргументы = "ксен",
по умолчанию = "vmm_ssh/vmm_ssh_xen.conf",
тип = "ксен"]
...
# одна остановка
# один старт
Установите и настройте узел (Compute Node)
На каждом узле должна быть установлена виртуальная среда Xen или KVM. Для получения подробной информации выполните поиск по ссылке: Установка и настройка Xen на CentOS и Установка и настройка KVM на CentOS Также требуется операционная среда Ruby:
# ням, установи руби
Обмен SSH-ключом
Поскольку связь между OpenNebula Front и узлами осуществляется через SSH, между фронтом и узлами необходимо настроить вход без пароля по SSH, чтобы избежать ввода пароля, когда фронт запускает сценарии на узлах или клонирует изображения. Сначала настройте sshd на фронте и узлах. :
# vi /etc/ssh/sshd_config
RSAA-аутентификация да
PubkeyAuthentication да
# /etc/init.d/ssh перезапуск
Создайте ключ спереди (node00) и скопируйте его в узел (node01):
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub node01
Создайте ключ на одном узле (node01) и скопируйте его на передний план (node00):
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub node01
один хост
После того, как передняя часть сможет взаимодействовать с каждым узлом через ssh без пароля, вы можете использовать команду onehost create на передней панели, чтобы присоединиться к узлам один за другим, и использовать список onehost, чтобы проверить, успешно ли создание:
# onehost создать node01 im_xen vmm_xen tm_ssh
# список одного хоста
ID ИМЯ КЛАСТЕР RVM TCPU FCPU ACPU TMEM FMEM СТАТ
1 node01 по умолчанию 0 400 400 400 3.8G 383M вкл.
Если при выполнении команды onehost create сообщается об ошибке, проверьте журнал oned.log и найдите слова sudo: извините, для запуска sudo у вас должен быть tty. Причина в том, что OpenNebula требует удаленного ssh/sudo для выполнения команд и sudo CentOS. опция requiretty включена по умолчанию. ssh Для выполнения требуется tty, поэтому удаленный sudo вызовет ошибку:
# onehost создать node01 im_xen vmm_xen tm_ssh
# хвост /var/log/one/oned.log
Вт, 22 февраля, 11:08:58 2011 г. [InM][I]: Ошибка выполнения команды: 'if [ -x "/var/tmp/one/im/run_probes" ]; then /var/tmp/one/im/run_probes хен 172.16.39.111; иначе выход 42;
Вт, 22 февраля, 11:08:58 2011 г. [InM][I]: следует STDERR.
Вт, 22 февраля, 11:08:58 2011 г. [InM][I]: sudo: извините, для запуска sudo у вас должен быть tty
Вт, 22 февраля, 11:08:58 2011 г. [InM][I]: Ошибка при выполнении xen.rb
Решение состоит в том, чтобы отключить (закомментировать) требуемую строку:
# chmod 600 /etc/sudoers
# vi /etc/sudoers
#Требования по умолчанию
Поскольку два сервера VPSee используют HTTP-прокси для доступа в Интернет, OpenNebula прочитала системную переменную среды http_proxy и обнаружила ошибку HTTP-ответа в журнале sched.log. На данный момент http_proxy необходимо закрыть:
# cat /var/log/one/sched.log
Вт, 22 февраля, 14:27:39 2011 г. [HOST][E]: возникло исключение: невозможно передать XML на сервер и получить обратно XML-ответ: 504.
Вт, 22 февраля, 14:27:39 2011 г. [ПУЛ][E]: не удалось получить информацию о пуле из ONE.
# отключить http_proxy
Создайте и отредактируйте файл конфигурации виртуальной сети, затем создайте виртуальную сеть OpenNebula:
#ви small_network.net
ИМЯ = "Маленькая сеть"
ТИП=ФИКСИРОВАННЫЙ
МОСТ = br0
АРЕНДА = [ip="192.168.0.5"]
АРЕНДА = [IP="192.168.0.6"]
АРЕНДА = [IP="192.168.0.7"]
# onevnet создать small_network.net
# список оневнета
ИДЕНТИФИКАТОР ИМЯ ПОЛЬЗОВАТЕЛЯ ТИП МОСТ P #LEASES
0 oneadmin Малая сеть Фиксированный br0 N 0
оневм
Создайте и отредактируйте файл конфигурации запуска виртуальной машины. Centos.5.5.x86.img можно скачать с http://stacklet.com/ (за дополнительную плату) или создать его самостоятельно с помощью инструментов Xen:
# wget http://stacklet.com/sites/default/files/centos/
centos.5.5.x86.img.tar.bz2
# tar jxvf centos.5.5.x86.img.tar.bz2
# mv centos.5.5.x86.img /srv/cloud/one/var/images/
# ви centos.one
ИМЯ = центос
ЦП = 1
ПАМЯТЬ = 256
ДИСК = [
источник = "/srv/cloud/one/var/images/centos.5.5.x86.img
цель = "СДА1",
клон = "да",
только для чтения = «нет»]
NIC = [MAC = "00:16:3E:00:02:64", мост = xenbr0]
ОС = [загрузчик = "/usr/bin/pygrub"]
Используйте команду onevm create, чтобы запустить указанный выше файл конфигурации виртуальной машины, и виртуальная машина будет создана на узле 01. Используйте список onevm для проверки, и вы увидите статус prol, указывающий, что процесс создания продолжается. После завершения создания. , статус изменится на «Выполнено»:
# onevm создаем centos.one
# список оневм
ИД ИМЯ ПОЛЬЗОВАТЕЛЯ СТАТ ЦП ПАМЯТЬ ИМЯ ХОСТА ВРЕМЯ
1 oneadmin centos prol 0 0K node01 00 00:09:09
# список оневм
ИД ИМЯ ПОЛЬЗОВАТЕЛЯ СТАТ ЦП ПАМЯТЬ ИМЯ ХОСТА ВРЕМЯ
1 запущен oneadmin centos 0 0K node01 00 00:22:17
Таким образом, мы развернули минимальное облако на двух серверах: node00 (передний) и node01 (узел) и запустили экземпляр виртуальной машины на базе Xen на node01.
Источник статьи: http://www.vpsee.com/2011/02/install-opennebula-on-centos/