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



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

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


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


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

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

    Что делать


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

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

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


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



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



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



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


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

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

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

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

    Планы


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

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

    На сегодня все, спасибо за внимание. Будем рады ответить на вопросы в комментариях. Подписывайтесь на наш блог — в следующих постах мы продолжим рассказывать о различных аспектах построения и оптимизации хостинг-инфраструктуры.
    • +10
    • 10.3k
    • 6
    1cloud.ru
    286.63
    IaaS, VPS, VDS, Частное и публичное облако, SSL
    Share post

    Comments 6

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

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


      Ожидал именно технического описания в статье…
        –1
        «Создать виртуальный сервер за 2 минуты»

        Что-то мне это напоминает… А проверяли, что за 2, а не за 3 минуты? :)

        Фактически реализованы только скрипты (+gui) поверх vCloud? Или что-то ниже уровнем таки делалось?
          0
          И что же напоминает? И что должно было делаться?
            0
            Вот я и спрашиваю потому, что не понял из статьи, что же именно было сделано. Может, какие-то интересные действия над хранилищами уровнем ниже были проделаны, которые не стыдно было бы утащить к себе
              0
              Ну просто интересно стало, что напомнило конкретно :) Про хранилища да, интересно
                0
                Судя по реакции людей, шутка оказалась несмешная, усугублять не буду

        Only users with full accounts can post comments. Log in, please.