Управление дисковым пространством сервера на лету: опыт 1cloud

в 11:55, , рубрики: Блог компании 1cloud.ru, виртуальные серверы, диски, дисковое пространство, инфраструктура, ит-инфраструктура, управление хостингом, хостинг

Управление дисковым пространством сервера на лету: опыт 1cloud - 1

Мы продолжаем рассказывать о том, как строится фронтент и бэкенд инфраструктура хостинг-провайдера и описывать способы облегчения работы с ней для клиентов. В сегодняшнем топике речь пойдет о реализованной в системе 1cloud возможности динамического расширения и уменьшения дискового пространства виртуальных серверов.

В предыдущих сериях:

Проблема: расширить, но не уменьшить

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

Минусом всей этой конфигурации была невозможность «отката» назад (плюс упомянутая перезагрузка) — когда потребность в дополнительном дисковом пространстве отпадала (например, проведены работы по миграции или завершены работы, которые требовали дополнительного дискового пространства), отказаться от него было невозможно, и за все даже неиспользуемые ресурсы приходилось платить. Эту проблема нужно было решить.

Что делать

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

Разработка новой функциональности заняла не очень много времени (1,5 — 2 человеконедели в терминах управления проектами) и сопровождалась стандартным процессом внесения изменений — сначала были доработаны интерфейсы панели управления и внешнего сайта, затем наступила пора написания методов для работы с vCloud Director (создание, изменение, удаление дисков). Далее нужно было доработать обработчик заданий и тщательно протестировать работу системы (и, в частности, выявлению влияния новой функции на другие возможности системы вроде работы со снапшотами и бэкапами).

Как это работает

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

Управление дисковым пространством сервера на лету: опыт 1cloud - 2

Изначально виртуальный сервер можно создать и с SSD-диском.

Управление дисковым пространством сервера на лету: опыт 1cloud - 3

В процессе работы можно осуществлять миграцию сервера с SAS на SSD и обратно:

Управление дисковым пространством сервера на лету: опыт 1cloud - 4

Не все так просто

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

Очевидно, что в большинстве случаев не целесообразно переносить всю виртуальную машину на SSD, а гораздо эффективнее разбить ее на две части:

  1. Часть, которая не требует большого количества IOPS, как, например операционная система — ее можно разместить на SAS;
  2. Часть, которая чувствительна к IOPS, разместить в виде дополнительного диска на SSD.

Но, к сожалению, версия vCloud Director 5.5, которую мы сейчас используем, не позволяет задать отдельную StoragePolicy для конкретного диска, а только на уровне всей виртуальной машины. Соответственно, мы приняли решение выпустить релиз панели с возможностью миграции всей «виртуалки» на SSD.

Планы

Функция динамического расширения дискового пространства работает в «продакшне» не так давно, и еще остаются некоторые моменты, которые требуется улучшить.

В частности, для решения описанной выше проблемы невозможности заказа дополнительных SSD-дисков, запланировали работы по обновлению версии управляющего ПО до версии 5.6. Сразу после этого в панели 1cloud появится возможность заказа дополнительных дисков и на SAS, и на SSD.

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

Автор: 1cloud

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js