Как собирается облачный сервер? — разбираемся с Selectel


Как собирается облачный сервер? — разбираемся с Selectel

Интересно проникнуть туда, куда обычно не пускают — в лабораторию, на завод, в «Зону 51». Сегодня не придётся штурмовать заборы: давайте заглянем в инфраструктуру Selectel и узнаем, как собирается облачный сервер.

Узнать подробнее об аренде облачного сервера Selectel можно на сайте компании.

Но сначала давайте пробежимся по основным понятиям — проверьте, всё ли вы знаете.

Ссылка на резюме

Для отправки формы требуется ваше согласие

Я соглашаюсь на передачу персональных данных согласно политике конфиденциальности и пользовательскому соглашению

Спасибо за участие! Нам потребуется немного времени, чтобы обработать все ответы. Свяжемся с тобой в ближайшее время.

Как организован облачный сервер?

Облачный сервер собирается поверх инфраструктуры мощных физических машин провайдера и может предоставлять свои ресурсы и управляться посредством API.

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

Облачные серверы отличаются:

  • экономичностью — платите только за тот объем ресурсов, который используете (Pay-as-you-go);
  • масштабируемостью — ваш облачный сервер — часть виртуальной инфраструктуры, которая объединена в единую сеть. В этой сети можно легко взять дополнительные ресурсы.

Это все интересно, но как собирается облачный сервер?

Вкратце, вот так:

Сборка начинается с запроса пользователя

Чтобы выделить ресурсы из всего объема облака, нужно понять конфигурацию будущего сервера. Её выбирает пользователь в панели управления. Пользователь может выбрать регион, в котором будет располагаться сервер, операционную систему (ОС), CPU, RAM, объём диска и другие параметры.

Эти данные вместе с информацией об аккаунте превращаются в запрос, который запустит сборку облака — процесс, в результате которого пользователю будет предоставлена виртуальная машина с выбранными параметрами.

Облако изнутри — набор интерфейсов и программ

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

Пользователю важно, чтобы облачный сервер запустился как можно быстрее. Поэтому Облако запускает необходимые действия параллельно, задействуя отдельные сервисы, которые предоставляют компоненты: диск, образ ОС, сетевой профиль и т. д.

Чтобы развернуть виртуальную машину, которая и является будущим сервером, нужен гипервизор — ПО, которое управляет физическими ресурсами и распределяет их между операционными системами, позволяя запускать их одновременно.

Так, гипервизор выделяет ресурсы и запускает Linux-процесс, в котором исполняется экземпляр эмулятора QEMU — Quick Emulator. Благодаря QEMU всё взаимодействие происходит очень близко к железу, а значит — быстро. Внутри этого процесса запускается VM, которая и станет вашим сервером.

Сервисы внутри облака: Cinder, Glance, Neutron

Ну а как собрать облачный сервер без облака? Именно оно отвечает за сборку — отправляет запросы на выделение ресурсов и оркестрирует процесс. Но есть и другие сервисы, которые отвечают за отдельные компоненты будущего сервера.

  • Cinder. Отвечает за организацию дискового хранилища Ceph, по запросу выделяет кусок кластера и реплицирует его для отказоустойчивости.
  • Glance. Хранит у себя все образы ОС и их версий, которые могут пригодиться. По запросу, в котором указана конкретная ОС, сервис предоставляет образ, и ОС устанавливается на виртуальную машину.
  • Neutron. Знает всё про сети, через него можно получить порт. Даже если мы сделаем виртуалку недоступной извне, ей все равно будет нужен сетевой интерфейс, чтобы с ней можно было обмениваться запросами. У Neutron есть много «железных» роутеров и маршрутизаторов, поверх которых развёрнуты виртуальные сети. При этом структура физической сети остается постоянной — это оставляет меньше вариантов отказа или сбоя, а на уровне виртуальных сетей позволяет гибко их перестраивать.

Эти сервисы ничего не знают о VM и сложном процессе её создания. Всё, что они делают — выдают ресурсы по запросу облака. И дальше уже оно передаёт их виртуальной машине.

Обмен запросами между облаком и отдельными сервисами происходит асинхронно — это позволяет увеличить скорость сборки.

Что делать с собранными данными и ресурсами?

Виртуальной машине нужно сообщить все данные, которые вы собрали: сетевые адреса, расположение диска, аккаунт владельца и многое другое. Для этого запускается специальный процесс cloud-init, который сообщает установщику ОС собранные данные.

ОС запускается и видит конкретную конфигурацию сервера, например модель CPU, как если бы она была установлена на физическом железе.

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

Вот мы и разобрались, как собирается облачный сервер. Остались вопрос? Пишите в комментариях.

Selectel — настоящие профи в том, что касается облачной инфраструктуры. У них можно арендовать сервер с заранее собранными параметрами или создать решение под себя. Дата-центры Selectel расположены в Москве, Санкт-Петербурге и Ленинградской области, а специалисты компании помогут с переездом. Узнать подробности и арендовать облачный сервер можно на сайте Selectel.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *