Opennebula установка и настройка debian

Обновлено: 08.07.2024

Возможности OpenNebula

  • Front-end — сервис OpenNebula (требует Ruby);
  • Hosts — узлы содержащие гипервизоры (требует ssh и настроенный гипервизор);
  • База данных — используется для хранения параметров OpenNebula (поддерживается MySQL или SQLite).

Каждый компонент OpenNebula содержит определенные требования, все они достаточно хорошо расписаны в документации, которую также следует отметить особо.
Осталось добавить, что ядро написано на С++, утилиты управления написаны на Ruby и Shell.

Установка OpenNebula в Ubuntu 12.04

Актуальной на момент написания этих строк является версия 4.0.1. Релиз имеет ряд улучшений и ориентирован на производственные среды, поэтому разработчики рекомендуют в любом случае обновиться. К слову все релизы называются в честь звездных туманностей (англ. nebula). Проект предлагает готовые пакеты для установки на 64 битные версии Ubuntu, Debian, openSUSE и RHEL/CentOS (для openSUSE и CentOS есть свой репозиторий), и исходные тексты при помощи которых можно установить OpenNebula в других дистрибутивах. Сам процесс установки любым способом не сложен, хотя именно в документации и Wiki расписан, как мне кажется, не очень подробно и возможно даже чуть запутано, а поэтому требует определенной внимательности. Для примера разберем установку и настройку OpenNebula на одну машину, как раз достаточно чтобы понять принципы и научиться работать. Настройка виртуального окружения хорошо расписана на многочисленных ресурсах в Интернет, поэтому этот момент пропущу.
Пакеты можно найти и в официальных репозиториях дистрибутивов, но не всегда самые актуальные.

Также доступны образы для VMware и KVM, предлагается и доступ к демооблаку, где можно познакомиться с OpenNebula без установки. Что примечательно, размер установочных файлов небольшой, например deb пакет для Ubuntu занимает всего 2.5 Мб.
Для управления сетью следует создать мост на каждом хосте. Ставим пакет bridge-utils:

Если сетевых карт несколько, то действия для каждой карты аналогичны.
Также обратите внимание на то, что хранилище образов находится в /var/lib/one/images, нужно позаботиться, чтобы места было достаточно.

Ставим пакеты для удовлетворения зависимостей (для каждой версии OpenNebula он свой, поэтому здесь могут быть уточнения):

Один компонент установим через gem.

На узлах для доступа необходим SSH сервер.

Для экспорта образов и настроек используется NFS.

И перезапускаем сервер.

Все готово для установки OpenNebula. Скачиваем deb-пакет и ставим.

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

Настраиваем окружение пользователя

В процессе установки будет создана учетная запись пользователя и группа oneadmin с домашним каталогом /var/lib/one/ и сгенерирован RSA ключ (без пароля, он не нужен). Нам остается только задать пароль.

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

Теперь регистрируемся как oneadmin и вводим ssh-keygen, оставляя все параметры по умолчанию.
В документации, также предлагается настроить переменные в

/.bash_profile. В версии 3.6 при установке при помощи deb пакета, необходимости в этом не было, переменные устанавливались автоматически, поэтому приведу для примера.
Специфика OpenNebula состоит в том, что многие команды следует отдавать от имени пользователя oneadmin, при использовании sudo могут быть проблемы. Чтобы не было путаницы в дальнейшем все команды отданные от имени oneadmin будут помечены приглашением “oneadmin$”.
Регистрируемся как oneadmin.

Далее необходимо обеспечить возможность аутентификации по SSH без пароля, для этого копируем ключи и создаем

Копируем каталог /var/lib/one/.ssh на каждый узел, после чего обязательно подключаемся к узлу, чтобы проверить, что соединение происходит без запроса пароля и узел добавлен в known host

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

/.one, в котором находятся файлы для авторизации. Если такого каталога нет, создаем вручную

Теперь прописываем пароль в открытом виде в файл

Редактируем конфигурационные файлы

Открываем конфигурационный файл демона one, настроек в нем много (сетевые, хранение образов, мониторинг, журналирование, конфигурация драйверов и т.п.), но в большинстве их можно пока не трогать. Нас интересует только подключение к базе данных. Редактируем, используя готовый шаблон.

Для запуска OpenNebula регистрируемся как oneadmin.

Запускаем любую команду, вывод не должен содержать ошибок. Например.

Должны получить список параметров, статус узла помечается как ON.
Более подробную информацию по конкретному узлу покажет команда «onehost show »

Учетные записи пользователей получаем такой командой.

Но вероятнее кому-то все эти операции при использования веб-интерфейса покажутся проще и наглядней.

Настройка интерфейсов

Настройки OpenNebula Sunstone указаны в /etc/one/sunstone-server.conf, который вообщем понятен и хорошо расписан в документации. Можно вообще ничего не трогать, просто запустить сервис.


Ошибки если таковые будут можно найти в /var/log/one/sunstone.log и sunstone.error.
В настройках по умолчанию Sunstone слушает 9869 порт, подключаемся к нему браузером и вводим логин/пароль oneadmin. Интерфейс сложным назвать нельзя, разобраться с ним проблем не будет, даже не смотря на отсутствие локализации. После регистрации пользователь попадает в Dashboard в котором показывается общая статистика по системе. Нажав кнопку «+» рядом можно настроить интерфейс (установить русский и включить SSL). Далее просто перемещаемся по меню. В System настраиваются учетные записи групп, пользователей и ACL. В Virtual Resources – виртуальные машины, образы и шаблоны образов. Управление виртуальной сетью, системами хранения, кластерами и хостами производится в Infrastructure. И наконец перейдя в MarketPlace можем скачать несколько готовых образов. По умолчанию производится анонимный доступ, но есть учетная запись в MarketPlace, соответствующие данные следует прописать в sunstone-server.conf.

Чтобы пользователи могли управлять VM, необходимо запустить сервис OCCI. Все настройки производятся в /etc/one/occi-server.conf, по умолчанию доступ возможен только с localhost, поэтому правим.

Остальное можно пока не трогать. Запускаем.

Для управления предлагается набор утилит “occi-*”, например список устройств хранения можно получить так.

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

OpenNebula - инновационный проект в сфере облачной обработки данных для предприятий, представляющий собой открытую и расширяемую платформу автоматизации работы ЦОД. OpenNebula позволяет развернуть IaaS-модель (предоставляет возможность использования облачной инфраструктуры для самостоятельного управления ресурсами обработки, хранения, сетями и другими фундаментальными вычислительными ресурсами), а также обеспечить работу гибридной схемы за счет комбинирования ресурсов локального дата-центра и внешних облачных провайдеров. В состав проекта входят средства для организации развёртывания виртуальных окружений, мониторинга, контроля доступа, обеспечения безопасности и управления хранилищем. Код системы полностью открыт под лицензией Apache. Готовые установочные пакеты доступны для Ubuntu, openSUSE, RHEL/CentOS и Debian.

Перспективы развития и усовершенствования OpenNebula:

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

Содержание

История


OpenNebula был впервые создан в качестве исследовательского проекта в 2005 году Игнасио М. Льоренте и Рубеном С. Монтеро. В марте 2008 года был первый релиз, программное обеспечение было выпущено в виде исходного кода, и по сей день проект также можно загрузить с полностью открытым кодом из репозитория коммерческих компаний с ведущими технологиями для управления облаком. Opennebula является результатом многолетних исследований и разработок в области эффективного и масштабируемого управления виртуальными машинами на массивных инфраструктурах, полученным в тесном сотрудничестве с сообществом пользователей и участниками рынка облачных вычислений. Множество инновационных функций были разработаны специально для бизнес-сценариев от ведущих компаний в различных отраслях в контексте ведущих международных проектов в области облачных вычислений. Технология OpenNebula достигла высот благодаря активному взаимодействию пользователей и разработчиков. На данный момент наблюдается экспоненциальный рост количества пользователей, различных проектов, исследовательских групп и компаний, создающих новые виртуализации и облачные компоненты с открытым кодом, для дополнения и расширения функционала инструментов облачных вычислений. В марте 2010 года основные авторы OpenNebula основали C12G Labs (теперь известные как Opennebula System), в которой на коммерческой основе пишутся программы под заказ для IT- предприятий, это позволяет проекту OpenNebula не быть привязанным исключительно к государственному финансированию.

Основные возможности:

Типы поддерживаемых Cloud-окружений:

  1. Приватные cloud-системы, доступные только внутри организации, полностью подконтрольные и выполненные на собственных мощностях. В качестве системы виртуализации поддерживается использование Xen, KVM и VMware;
  2. Публичные cloud-окружения, работающие в инфраструктуре внешних сервис-провайдеров, таких как Amazon EC2. Для доступа к публичным cloud-окружениям OpenNebula поддерживает такие API, как EC2 Query, OGF OCCI и vCloud;
  3. Гибридные cloud-системы, сочетающие элементы публичных и приватных cloud-систем. Например, определённая критически важная часть инфраструктуры может работать в приватном облаке, а вторичные системы вынесены во внешние облака, или изначально вся система построена как приватная, но при нехватке ресурсов в пиковые моменты к работе привлекаются мощности публичных сервисов.

Возможности для администратора, управляющего инфраструктурой:

  1. Динамическое изменение размера физической инфраструктуры через добавление или удаление узлов налету и разбиение кластера на виртуальные разделы, позволяющие выделять только необходимый объем ресурсов для функционирования определённого сервиса;
  2. Централизованный интерфейс для управления всеми элементами виртуальной и физической распределенной инфраструктуры. Управляющий web-интерфейс Sunstone для администраторов cloud-окружений, через который можно управлять работой инфраструктуры приватных и гибридных окружений, распределять виртуальные и физические ресурсы;
  3. Высокая степень задействования доступных ресурсов, возможность подключения внешних ресурсов, предоставления ресурсов в аренду или организации совместного использования инфраструктуры между несколькими департаментами;
  4. Сокращение издержек за счёт уменьшения числа физических серверов, уменьшение затрат на администрирование, обслуживание, энергоснабжение и охлаждение (вместо физических серверов предоставляются виртуальные серверы, которые более полно используют доступные физические ресурсы - например, группа мало загруженных серверов теперь может работать на одной физической машине);
  5. Возможность быстрого увеличения серверной мощности за счёт подключения ресурсов внешних cloud-сервисов в моменты пиковой нагрузки;
  6. Механизмы для обеспечения отказоустойчивости, реализована функция автоматического выполнения операций по восстановлению работоспособности окружений в случае сбоя в работе физического сервера или виртуальной машины;
  7. Поддержка управления квотами через задание определённым пользователям набора ограничений на использование ресурсов;
  8. Поддержка групп со своим набором пользователей и виртуальных ресурсов. Например, можно создать отдельное изолированное облако со своим набором пользователей и делегировать управление этим облаком определённой компании, обеспечив возможность работы нескольких провайдеров облачных услуг на базе одной инфраструктуры OpenNebula. В каждой группе может быть свой набор публичных ресурсов (шаблоны, образы виртуальных машин, виртуальные сети), не пересекающийся с другими группами;
  9. Гибкая система контроля доступа (ACL) и управления пользователями/группами, поддерживающая распределение ресурсов между ними, в том числе возможность выделения ресурсов для совместного использования несколькими пользователями или группами. В настоящее время поддерживается несколько типов пользователей: администратор (разрешено выполнение любых операций), обычный пользователь, публичный пользователь (только базовые возможности) и пользователь определённого сервиса;
  10. Возможность задания политики размещения ресурсов в дата-центре (Data Center Placement Policies). Поддерживаются 4 предопределённых набора правил: packing (используется минимальное число серверов для размещения VM, следовательно обеспечивается максимальная плотность и минимальная фрагментация), striping (VM равномерно распределяются по имеющимся серверам, обеспечивается максимальный запас по ресурсам для VM), load-aware (VM размещается на сервере с минимальной нагрузкой) и custom (размещение на основании вычисленного веса).
  11. Организация централизованного управления несколькими отдельными установками OpenNebula (oZones). Доступ к зонам организуется с использованием абстрактного понятия Виртуальный дата-центр, содержащий свой набор ресурсов (образы и шаблоны виртуальных машин, виртуальные сети и виртуальные машины) и пользователей, которые используют данные виртуальные ресурсы.

Возможности для пользователя, размещающего свои окружения:

  1. Более быстрое получение запрошенного сервиса (виртуальный сервер поднять значительно быстрее, чем купить и установить физический сервер);
  2. Поддержка развертывания гетерогенных операционных окружений в рамках единой совместно используемой инфраструктуры;
  3. Полный контроль за жизненным циклом виртуальных серверов. Ведение аккаунтинга и генерации отчётов об активности пользователей и серверов;
  4. Self-Service Portal - web-интерфейс для конечных пользователей, дополняющий ранее реализованные интерфейсы OpenNebula Sunstone (администрирование cloud-окружений) и OpenNebula Zones (управления несколькими зонами одного пользователя). Используя Self-Service Portal пользователи могут самостоятельно создавать, развёртывать и управлять различными ресурсами, в том числе хранением образов виртуальных машин, сетевыми ресурсами и виртуальными машинами;

Масштабируемая архитектура и интерфейсы API 4.2

OpenNebula специально разработана, чтобы легко адаптироваться к любой инфраструктуре и может легко быть расширена дополнительными компонентами. Результатом этого стала модульная система, которая может реализовать множество облачных архитектур и может взаимодействовать с несколькими data-центрами.


Cloud - интерфейсы

Cloud - интерфейсы позволяют управлять виртуальными машинами, сетями и изображениями с помощью простого и удобного в использовании REST API. Cloud - интерфейсы скрывают сложную часть облака дабы конечному пользователю не трудно было их освоить. OpenNebula реализует два различных интерфейса:

  1. EC2-Query API. OpenNebula реализует функциональные возможности, предлагаемые Amazon's EC2 API, в основном те, которые касаются управлением виртуальных машин. Таким образом, вы можете использовать любой инструмент EC2 Query, при доступе к OpenNebula Cloud.
  2. OCCI-OGF. Это веб-сервис позволяет запускать и управлять виртуальными машинами в OpenNebula, используя последнюю версия проекта OGF OCCI API.

Системные интерфейсы

OpenNebula XML-RPC интерфейс

Интерфейс XMl-RPC является основным интерфейсом для OpenNebula, и он представляет все функциональные возможности для взаимодействия программного агента OpenNebula. Через интерфейс XMl-RPC вы можете контролировать и управлять любым ресурсом OpenNebula, в том числе виртуальными машинами, сетями, изображениями, пользователями, хостами и кластерами. Используйте XMl-RPC интерфейс если вы разрабатываете специализированные библиотеки для облачных приложений или вам нужен низкоуровневый интерфейс с ядром OpenNebula.

OpenNebula Cloud API (ОСА)

OpenNebula Cloud API обеспечивает упрощенное и удобное взаимодействие с ядром OpenNebula. Интерфейсы OCA предоставляет те же функции, что и интерфейс XML-RPC. В ОСА поддерживается 2 языка: Ruby и JAVA. Используйте интерфейс ОСА, если вы разрабатываете усовершенствованные инструменты IaaS, которые нуждаются в полном доступе к функциональным возможностям OpenNebula.

Отладочный интерфейс OpenNebula

Взаимодействие между OpenNebula и облачной инфраструктурой выполняется специальными отладчиками в рамках каждой из частей:

  • Место хранения. Выполняется операции абстрактоного хранения (например, клонирование или удаление), которые реализуются с помощью специальных программ, которые могут быть заменены или модифицированы для взаимодействия с бэкапами и файловыми системами.
  • Виртуализация. Взаимодействие с гипервизором также реализованы с помощью пользовательских программ, для загрузки, остановки или переноса виртуальной машины. Это позволяет создавать уникальные виртуальные машины для каждого пользователя.
  • Мониторинг. Мониторинг информации также собирается внешними системами. Можно добавить дополнительные датчики для увеличения метрики пользовательского мониторинга, которые в дальнейшем могут быть использованы для выделения виртуальных машин или для целей бухгалтерского учета.
  • Авторизация. OpenNebula может быть также выполнена с возможностью использования внешних программ для авторизации запросов пользователей. Таким образом, вы можете реализовать любую политику доступа к облачным ресурсам.

Используйте отладчики если вам нужен OpenNebula интерфейс какой-либо конкретной системы хранения данных, виртуализации, мониторинга или авторизации, уже развернутых в data - центре или для настройки поведения стандартных отладчиков OpenNebula.

OpenNebula Data-центр

OpenNebula сохраняет свое состояние и выделенную информацию в постоянной базе данных. OpenNebula может использовать базу данных MySQL или SQLite, которые могут легко взаимодействовать с любым инструментом БД.

Установка OpenNebula Debian/Ubuntu

Добавить репозитории OpenNebula

Для начала необходимо добавить OpenNebula репозиторий как суперпользователь:

Добавим ссылку на скачку актуальной версии OpenNebula (на момент написания 5.2)

Установка программного обеспечения

Установим необходимые пакеты

Все доступные для установки пакеты:

  • opennebula-common: Предоставляет пользователя и общие файлы.
  • ruby-opennebula: Ruby API.
  • libopennebula-java: Java API.
  • libopennebula-java-doc: документация по Java API.
  • opennebula-node: Предоставляет узлы как opennebula-узлы.
  • opennebula-sunstone: Sunstone (графическая оболочка).
  • opennebula-tools: Интерфейс командной строки.
  • opennebula-gate: OneGate сервер, который обеспечивает связь между виртуальными машинами и OpenNebula.
  • opennebula-flow: OneFlow управляет сервисами.
  • opennebula: OpenNebula Daemon.

Установка Ruby Runtime

Некоторым компонентам OpenNebula необходимы библиотеки Ruby. OpenNebula предоставляет скрипт, который устанавливает необходимые gems, а также необходимые пакеты для библиотек разработки.

Предыдущий скрипт подготовлен для обнаружения распространенных дистрибутивов Linux и установки необходимых библиотек. Если не удается найти пакеты, необходимые в вашей системе, вручную установите следующие пакеты:

  • sqlite3 development library
  • mysql client development library
  • curl development library
  • libxml2 and libxslt development libraries
  • ruby development library
  • gcc and g++
  • make

Запуск OpenNebula

После установки gems система автоматически создает нового пользователя oneadmin, теперь все следующие действия необходимо выполнять от этого пользователя:

Для установки пароля для этого пользователя используйте:

Теперь зайдя под пользователем oneadmin Замете /var/lib/one/.one/one_auth будет создано с помощью произвольно сгенерированного пароля. Он должен содержать следующее: oneadmin: <пароль> . Не забудьте поменять пароль перед запуском OpenNebula. Например:

Все готово для запуска OpenNebula:

Или для старых Linux систем:

Проверка установки

После запуска OpenNebula в первый раз, вы должны проверить, что команды могут подключаться к Daemon OpenNebula. Вы можете сделать это в CLI Linux или в графическом интерфейсе пользователя: Sunstone.

big

Приветственная страница OpenNebula.jpg

После входа в систему Вас встретит Панель инструментов

Dashboard.jpg

Установка OpenNebula KVM Node

Прежде, чем устанавливать, необходимо точно быть уверенным, что ваш сервер может поддерживать виртуализацию, можно прописать в терминале

Если в результате будет написано

Следовательно проблем не будет, и сервер поддерживает аппаратную виртуализацию, без нее нельзя будет создавать виртуальные машины, с пакетом Qemu-KVM Opennebula не работает Если же на выходе получается:

То сервер не сможет взаимодействовать и поддерживать виртуальные машины через Opennebula, несмотря на то, что через Qemu-KVM виртуальные машины можно поднимать. Необходимо проверить в настройках BIOS, вероятно, там отключена аппаратная виртуализация. Если на сервере не стоит KVM, то установить можно так:

Добавить репозитории OpenNebula

Установка программного обеспечения

Настройка SSH

OpenNebula взаимодействует с собственными нодами с помощью SSH протоколов, поэтому необходимо раздать всем машинам общий ключ пользователя oneadmin всех машин в файл /var/lib/one/.ssh/authorized_keys . В этом примере воспользуемся scp протоколом передачи. Для простоты на каждой машине для пользователя oneadmin зададим пароли, которые в последствии будем использовать для scp. После создаем ключи

Подразумевается что <Адрес машины в общей сети> После создания ключей, их необходимо распространить среди машин:

Для проверки правильности проделанных шагов проверим, не запрашивается ли пароль при обращении через SSH по пользователю oneadmin

Стоить отметить важный момент, дело в том, что когда OpenNebula будет общаться с машинами, то будет использовать scp при этом, она будет указывать свой собственный адрес, к примеру

И тут может возникнуть ошибка, когда машина не дает доступа к себе, хотя мы и проверяли это на предыдущем шаге, дело в том, что в нашей машине ее название debian ссылается не на тот адрес, на который мы ранее выдавали SSH ключ, для того чтобы избежать такой ошибки необходимо в hosts прописать свой настоящий адрес сети:

Типичная картина (имя компьютера debian, без доменов)

Как можно видеть принцип прост: <Адрес в сети> <Домен в сети> <Краткое имя> Допишем в этот файл адреса всех машин и присвоим им имена, чтобы каждый раз не искать по реестру адреса:


Россия
  • размер шрифта уменьшить размер шрифтаувеличить размер шрифта
  • Печать
  • Эл. почта
  • Станьте первым комментатором!

Установка OpenNebula на Astra Linux. Альтернатива Hyper-V под Linux. Часть 1.

Сегодня мы рассмотрим установку системы облачной виртуализации OpenNebula , которую можно использовать как альтернативу Hyper-V под Astra Linux .

OpenNebula – облачная платформа, главным элементом которой является кластер. К кластеру можно подключить до 1024 улов (node). Вы можете использовать множество кластеров и управлять ими из одной панели управления. Управление кластерами, узлами, виртуальными машинами и сетями, и всеми элементами возможно, как из командной строки, так и с помощью удобного web-интерфейса.

При этом OpenNebula не потребляет много ресурсов, сама служба управления кластером - FrontEnd потребует около 1Гб оперативной памяти, и на одном сервере вы можете установить сервер управления кластерами и узел, на котором будут работать виртуальные машины.

Мы будем использовать общее (shared) хранилище и таким образом избавимся от необходимости использовать SSH, что позволит почти мгновенно запускать и останавливать виртуальные машины на нашем локальном узле (host).

Сегодня мы рассмотрим установку OpenNebula на один сервер, и создадим и запустим виртуальную машину под Astra Linux .

Предварительная настройка сети

Для работы с OpenNebula на сервере нам потребуется как минимум два сетевых интерфейса. Это обязательное требование!

eth0 – интерфейс управления – management, через него будет производится управление и доступ к серверу.

eth1 – интерфейс на котором будут автоматически создаваться сетевые мосты (bridge) для виртуальных сетей.

Если вы настраиваете тестовый стенд, например, на ноутбуке, я рекомендую подключить usb-сетевой адаптер.

Для начала настроим сеть, если сеть у вас уже настроена, проверьте настройки на соответствие:

Для сервера нужно задавать статический сетевой адрес, чтобы в дальнейшем не возникло проблем в случае, если DHCP -сервер выйдет из строя или раздаст ip-адрес сервера другому устройству!

Обратите внимание! На интерфейсе eth1 мы не прописываем ip адрес, так как он будет включен в автоматически создаваемый сетевой мост (bridge) для виртуальных машин.

Добавление репозитория OpenNebula в apt

В стандартном репозитории Astra Linux отсутствуют пакеты для OpenNebula , так что придется пользоваться официальным репозиторием:

Вы можете получить ошибку:

Она связана с истекшим корневым сертификатом LetsEncrypt и и все еще всплывает на некоторых серверах!

Давайте её исправим.

Как временное решение можно временно отключить проверку сертификатов в apt.

И добавим в конец файла строки:

Теперь эта ошибка должна исчезнуть.

Добавим GPG ключи для репозитория OpenNebula .

Добавление GPG ключей для репозитория OpenNebula

На этот раз обновление прошло без проблем!

Установка Node.js

Для работы OpenNebula необходим Node.js ! Его установку мы уже рассматривали в этой статье .

Установка пакетов OpenNebula

Дождемся окончания установки всех пакетов

Установка пароля администратора web-интерфейса OpenNebula

Во время установки OpenNebula был создан пользователь oneadmin . Создадим для него пароль. Его мы будем использовать для входа в админ панель!

Запуск служб

Запустим сервисы OpenNebula

Проверим что все работает нормально.

Обратите внимание! Запуск всех команд для работы с OpenNebula из консоли обязательно нужно запускать с использованием sudo!

Доступ к панели управления OpenNebula

Где 192.168.1.240 адрес нашего сервера

2021-10-18_12-35-03.jpg

Войдём используя логин и пароль:

2021-10-18_12-36-59.jpg

Вот мы и установили OpenNebula на наш сервер!

Установка узла OpenNebula

Для запуска виртуальных машин мы должны добавить хотя бы один узел (node) в кластер OpenNebula . Узлы так же называются хостами (host). Кластер автоматически создается при установке облачной платформы.

В одном кластере может быть до 1024 узлов!

На этом установка узла на локальный сервер закончена!

Добавление узла в кластер

Узлу потребуется некоторое время, для инициализации.

Локальный хост был успешно добавлен.

Настройка сети

Для начала мы просто создадим виртуальную сеть, через которую посредством сетевого моста, виртуальные машину смогут использовать ресурсы физической локальной сети и Интернет. Мы выделим этой сети пять адресов из нашей ЛВС.

Обратите внимание, что мы используем интерфейс eth1 .

Если вы укажите eth0 то этот интерфейс автоматом будет включен в сетевой мост и при запуске виртуальной машины вы потеряете соединение с сервером!

А так как сетевые мосты создаются и удаляются автоматически это приведет к непредсказуемым результатам! Поэтому, чтобы гарантировать доступ к управлению сервером, нужно использовать отдельный интерфейс для управления!

Создадим файл для шаблона сети:

Обратите внимание – OpenNebula не выдает IP адреса! Вместо этого каждой виртуальной машине присваивается свой MAC адрес, основанный на назначенном ip адресе! Поэтому вам в любом случае придется или настраивать статический ip-адрес на виртуальной машине или добавить её MAC на уже настроенный в ЛВС DHCP-сервер. Узнать назначенный виртуальной машине MAC-адрес можно в свойствах виртуальной машины.

В отдельной статье мы рассмотрим по какому принципу генерируются mac-адреса для виртуальных машин!

Создадим саму виртуальную сеть:

Скопируем iso-файл с образом Astra Linux на сервер в папку

Вы можете использовать любой удобный для вас способ.

Изменим права доступа и группу для файла с образом

Настройка общего хранилища

Так как облако будет работать на локальной машине нам нужно создать общее (shared) хранилище. В этом случае не будет использовать SSH и скорость работы с образами значительно вырастет!

Создадим системное (system) хранилище

Создадим файл настроек:

Создадим само хранилище:

Создадим хранилище для образов (image)

Создадим файл настроек:

Создадим хранилище для файлов (file)

Создадим файл настроек:

Вы можете удалить хранилища, созданные при установке:

ID хранилищам назначается автоматически, так что у вас они могут быть совсем другими!

Создание виртуального образа CD-ROM

Создадим cd-rom диск для установки операционной системы из образа:

Статус lock – LOCKED означает, что образ копируется в хранилище OpenNebula подождем, пока статус не изменится на rdy:

Образ скопирован, можно продолжать настройку.

Создание виртуального образа для HDD

Создадим HDD диск для самой операционной системы:

Все образы созданы и готовы к использованию.

Проверка кластера перед использованием

Перед созданием проверим, что наш кластер готов к развертыванию виртуальной машины:

В разделах HOSTS, VNETS не должно стоять значений 0!

В OpenNebula у нас есть возможность использовать текстовый файл, для описания всех свойств виртуальной машины.

Создадим виртуальную машину:

Так как мы используем файловую систему, то виртуальная машина стать доступна для доступа очень быстро!

Виртуальная машина запущена и готова к работе!

Определение MAC-адреса виртуальной машины

Прежде чем мы продолжим нам нужно узнать MAC-адрес виртуального сервера, для этого запустим:

MAC адрес нашей виртуальной машины 02:00:c0:a8:01:f1

Теперь просто настройте свой локальный DHCP -сервер для выделения ip-адреса нашей виртуальной машине.

Доступ к виртуальной машине через VNC

Так как мы использовали вариант вывода графики VNC мы сможем подключиться с помощью VNC клиента, использование VNC через браузер может не работать! Поэтому лучше использовать VNC-клиент.

При установке TightVNC выберите пользовательскую установку и установите только Viewer

Прежде чем продолжить, нам нужно узнать порт VNC для соединения с виртуальной машиной. Каждая виртуальная машина использует уникальный TCP порт для VNC .

Запустим TightVNC Viewer и укажем ip адрес сервера OpenNebula и порт:

2021-10-19_10-07-52.jpg

Откроется окно с нашей виртуальной машиной.

В моем случае операционная система уже установлена. Вы можете видеть приглашение к установке ОС и рабочий стол.

2021-10-19_10-09-25.jpg

2021-10-19_10-10-05.jpg

После установки операционной системы проверим наличие связи, если вы правильно указали mac-адрес в настройках вашего DHCP -сервера виртуальная машина должна получить ip-адрес!

Включение автозапуска служб

Когда у нас всё настроено включим автозапуск всех сервисов:

Заключение

Сегодня мы рассмотрели настройку сервера облачной виртуализации OpenNebula .

Настроили на сервере сеть.

Настроили репозитории apt и установили требуемые пакеты.

Задали пароль администратора.

Запустили службы и проверили доступность панели администратора.

Установили узел (node) на этот же сервер.

Добавили узел в кластер.

Настроили и добавили виртуальную сеть.

Создали виртуальный cd-rom с образом Astra Linux Orel и HDD для виртуальной машины

Создали шаблон для виртуальной машины и развернули его в кластере.

Подключились к виртуальной машине используя VNC -клиент и проверили наличие сети на виртуальной машине.

В следующей статье мы рассмотрим установку Windows Server на виртуальную машину.

(Если вы хотите добавить образ, вам нужно предоставить более 200 ГБ в / var / lib / one. Эта статья предназначена для совместного использования / var / lib / one для мониторинга. Принцип создания виртуальной машины с образом заключается в следующем: скопируйте изображение из хранилищ данных платформы управления opennebula в хранилища данных хоста, и изображение необходимо загрузить из приложения, а созданное вами изображение не распознается, поэтому веб-страница не используется для создания виртуальной машины

systemctl disable firewalld

yum -y install epel-release (Должна быть библиотека расширений, иначе установка opennebula сообщит об ошибке в зависимости от rubygem-nokogiri и т. д.)


Увеличение opennebulaИсточник

Источник yum Opennebula:

yum install -y *libxslt-dev* *libxml2-dev* openssl openssl-devel


gem update - обновление системы rubygems

Обновить рубин(Для более позднего камня требуется рубиновая версия)

tar -zxf ruby-2.2.4.tar.gz;cd ruby-2.2.4

Установить переменные среды

yum install opennebula* -y

Установка может сообщать об ошибке зависимости


yum install opennebula* -y --skip-broken

Установите различные пакеты зависимостей в соответствии с подсказками

Мне нужно установить следующие пакеты

yum install -y atlas blas genisoimage glusterfs glusterfs-api glusterfs-client-xlators glusterfs-libs gperftools-libs gssproxy keyutils lapack libbasicobjects libcollection libevent libini_config libiscsi libnfsidmap libpath_utils librbd1 libref_array libtalloc libtevent libtirpc libunwind libusal libverto-tevent nfs-utils numpy python-backports python-backports-ssl_match_hostname python-nose python-setuptools qemu-img quota quota-nls rpcbind tcp_wrappers xmlrpc-c

yum install opennebula* -y

Во время этого процесса будут установлены многие компоненты:
Например:

Как запустить opennebula в Redhat 7:
/bin/systemctl start opennebula.service

systemctl start rpcbind.service

systemctl start nfs.service


gem instal sinatra

Краткое описание процесса установки:

При установке будет создан пользователь-администратор для opennebula, имя пользователя - opennebula

Когда пакет установлен,

1. Сначала измените файл паролей.

2. Измените one.conf, чтобы изменить базу данных на mysql.

3. Создайте библиотеку mysql (opennebula)

5. SSH без секретов

6, измените значение хранилища данных и измените файл конфигурации DATASTORE_LOCAL

1.2 Установка базы данных:

В хранилище данных OpenNebula по умолчанию используется sqlite, если вам нужно использовать MySQL, вам нужно сделать следующее

Установите репозиторий MySQL:

Установите MySQL Server, клиент MySQL уже включен в пакет сервера:

Автоматически запускать mysql при загрузке

Создать базу данных

mysql> ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА opennebula. * TO'oneadmin 'ИДЕНТИФИЦИРОВАНО ПО'password';

mysql> flush privilege

Измените файл конфигурации следующим образом [Пользователь, порт, пароль, имя библиотеки и фактическая ситуация изменяются соответствующим образом

DB = [ backend = "mysql",

Пароль пользователя здесь - это пользователь и пароль, созданные при создании базы данных выше.

Измените IP-адрес прослушивания по умолчанию для sunstone: (5.0 больше не нужно изменять)

Вот адрес входа в переднюю часть консоли, IP: порт.


Китаизация

Официальный пакет выше версии 4.2 поддерживает китайский язык по умолчанию



или же

Измените хранилище данных (нет необходимости изменять версию выше 5)

Opennebula по умолчанию использует Shared Transfer Driver. Этот режим больше подходит для быстрого развертывания и горячей миграции, но необходимо настроить сетевую файловую систему. Если у вас нет сетевой файловой системы и вы не хотите выполнять «горячую» миграцию, вы можете переключиться на метод развертывания драйвера передачи SSH:

ID NAME SIZE AVAIL CLUSTER IMAGES TYPE DS TM STAT

0 system - - DEV-vlan55-1 0 sys - ssh on

1 default 140G 34% - 6 img fs ssh on

2 files 140G 34% DEV-vlan55-1 0 fil fs ssh on

]$ onedatastore update 0

TM_MAD = "ssh" вот способ ssh. Таким образом, цель нашего собственного окружения.

Если этот метод передачи не используется, то созданный зеркальный диск виртуальной машины и т. Д. Создается локально на opennebla. После использования этого метода вы можете перенести диски, зеркала и т. Д. На физическую машину, которую хотите создать.

Добавить каталог общего хранилища NFS

systemctl start rpcbind.service

systemctl start nfs.service

Добавить общедоступный ключ SSH

Изменить права доступа к файлам

Изменить пароль oneadmin

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

Установка узла: где хранится виртуальная машина kvm.

yum –y install opennebula-node-kvm

/bin/systemctl start messagebus.service

/bin/systemctl start libvirtd.service

systemctl enable messagebus.service

systemctl enable libvirtd.service

Подключите системную сетевую карту

Смонтируйте общую папку nfs во внешнем интерфейсе:

Запишите в таблицу разделов следующее:

192.168.55.225:/var/lib/one/ /var/lib/one/ nfs soft,intr,rsize=8192,wsize=8192 0 0

Затем смонтируйте: mount -a проверьте монтирование.

Здесь построен базовый .

2.1 Внутренняя работа

Вот краткое введение в некоторые функции.

Добавьте хост-машину на платформу:

onehost create 192.168.55.62 -i kvm -v kvm -n dummy

Введение команды: добавить 192.168.55.62, параметр -i указывает тип драйвера виртуализации как kvm, -v указывает тип виртуализации как kvm, а -n указывает тип сети виртуальной машины как фиктивный, то есть режим моста используется дефолт.

ID NAME CLUSTER RVM ALLOCATED_CPU ALLOCATED_MEM STAT

5 192.168.55.72 DEV-vlan5 3 600 / 1000 (60%) 18G / 31.3G (57%) on

6 192.168.55.73 DEV-vlan5 4 700 / 1000 (70%) 20G / 31.3G (63%) on

7 192.168.55.74 DEV-vlan5 4 900 / 1000 (90%) 24G / 31.3G (76%) on

В процессе создания хост находится в двух состояниях: сначала запускается (инициализация), а затем (загрузка).

Запишите файл конфигурации добавляемой сети; NAME - это имя, BRIDGE - это сетевой режим, TYPE - это тип, IP - это только начальный IP-адрес сети, а SIZE - количество IP в файле конфигурации сети. . Этот файл означает IP-адреса из диапазона 192.168.55.100–192.168.55.129 .

Есть много команд для фоновых операций, таких как добавление изображений, добавление шаблонов и создание виртуальных машин. Их можно найти в Интернете. На задней панели также есть PDF-файл, поэтому я не буду их подробно описывать.

2.2 Введение в интерфейсную часть

Введите прослушиваемый IP-адрес и порт, которые мы установили в браузере. Затем найдите файл конфигурации пользователя и пароля в oneadmin и войдите на веб-страницу.


Вышеупомянутые изображения - это созданный интерфейс opennebula. Для получения подробной информации о том, как работать на странице, вы можете обратиться к PDF-файлу opennebula.Теперь я представлю несколько важных и необходимых моментов.

Предполагая, что мы уже знаем о создании виртуальных машин, мы должны обратить внимание на следующие проблемы, а также на проблемы, не упомянутые в PDF:

Ключ 1: автоматически генерировать настройки сетевой карты.


Opennebula может автоматически создать сетевую карту для виртуальной машины, так каким же образом создается сетевая карта?

Прежде всего, в шаблоне образа kvm должен быть установлен пакет: one-context_4.10.0.rpm

Этот пакет обеспечивает взаимодействие между контекстом opennebula и зеркалом, в нем может автоматически создаваться сетевая карта и так далее.

Посмотреть в гостевой квм:

-rwxr-xr-x. 1 root root 4433 Jan 15 2015 00-network

-rwxr-xr-x. 1 root root 1991 Jan 15 2015 01-dns

-rwxr-xr-x. 1 root root 1550 Jan 15 2015 02-ssh_public_key

-rwxr-xr-x. 1 root root 28 Jan 15 2015 03-selinux-ssh

-rwxr-xr-x. 1 root root 15 Jan 15 2015 04-mount-swap

-rwxr-xr-x. 1 root root 614 Jan 15 2015 05-hostname

-rwxr-xr-x. 1 root root 297 Jan 15 2015 99-execute-scripts

Желтый фон - это файл конфигурации для создания сети.

Просмотрите добавленный сетевой адрес на машине opennebula:

context.sh deployment.0 transfer.0.prolog

Таким образом создается способ настройки автоматического создания сети.

Ключевой момент 2: Старайтесь не использовать следующую конфигурацию в процессе создания шаблона:


Основное значение этой конфигурации можно увидеть в Baidu, но они в основном используются для физических машин.Это приводит к тому, что мы не можем выполнять горячее подключение или параметры питания в среде виртуальной машины, а иногда это вызывает это на главной машине. Сообщите об ошибке. Некоторые из них все еще являются конфигурациями для Windows.

Уже KVMВиртуальная машина добавлена.


Щелкните хост после загрузки


После добавления он появится в списке виртуальных машин.

Читайте также: