Как собирается облачный сервер? — разбираемся с Selectel
Вместе с Selectel разбираемся, как собирается облачный сервер после того, как вы его покупаете.
6К открытий6К показов
Интересно проникнуть туда, куда обычно не пускают — в лабораторию, на завод, в «Зону 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.
6К открытий6К показов