Сначала новость: Ubuntu 12.04 доступна в качестве шаблона для установки в облаке Селектел. Ubuntu 12.04 является новой LTS (то есть версией с расширенным сроком поддержки — 5 лет в отношении серверной версии).
Вместо того, чтобы разводить из этой фразы пресс-релиз, я лучше покажу вам статистику популярности разных дистрибутивов.
Я знаю, что в отсутствие arch, gentoo и slackware, данные не совсем репрезентативны, так что можете считать это данными о популярности дистрибутивов, поддерживающих автоматическую установку.
Selectel Storage — облачное объектное хранилище данных на базе OpenStack Swift.
Для чего?
Для удобного, простого и дешевого хранения резервных копий файлов и раздачи статичных файлов (изображения, аудио, видео, js, css) для веб-сайтов и приложений.
Одна из идей, в рамках которой развивается облако Селектел, является максимальная свобода администратора при работе с облачной машиной. Различия с реальным сервером должны быть минимальны, а все новые функции не должны нарушать ощущения «настоящей» машины.
Сейчас мы сделали очень крупный шаг для реализации этого — реализовали интерфейс управления загрузкой. До этого момента эксперименты с загрузкой (разные версии ядер, опции загрузки и т.д.) могли привести к нерабочей машине, и исправление этой проблемы было проблемным (отключать диск, подключать его обратно и т.д.).
Теперь эта проблема решена. Я думаю, эти два скриншота объяснят возможности системы больше, чем тестовое описание:
Исторически так сложилось, что мы предоставляем в аренду выделенные серверы только фиксированых конфигураций. Из-за этого нам не удавалось удовлетворить требования всех пользователей — за время существования услуги мы получили большое количество запросов «добавить памяти», «добавить SSD», «уменьшить количество дисков», «заменить SATA на SAS» и т.п. Например, кому-то нужны были серверы с большим количеством дисков чтобы хранить на нем резервные копии, а кому-то с большим количеством памяти для баз данных.
Сегодня, мы с радостью готовы предложить вам новую услугу «Выделенные серверы произвольной конфигурации». Теперь вы самостоятельно можете сформировать для себя выделенный сервер, который будет в полной мере отвечать вашим потребностям.
abstract: Этот пост описывает организацию системного диска на машинах в облаке и объясняет, почему именно так.
Предисловие: Всё написанное тут касается системных дисков создаваемых при установке виртуальных машин. Пользователи имеют полное право делать что хотят с этими дисками, и уж, тем паче, решать самостоятельно, как организовывать место на дополнительных дисках.
Мотивация
Мы должны предоставлять диски системы в таком виде, который даст пользователям достаточную свободу делать «что хочешь», и в то же время обеспечивать достаточную простоту и удобство для пользователей, которым нужно «просто работать». Хотя проблема чуть более сложная, поскольку речь идёт не об удобном пульте телевизора, а об инструменте в работе, так что правильнее говорить про удобство типовых сценариев и возможность реализовывать свои собственные.
Вот проблемы, которые возникают в связи с этим:
Возможность изменить размер диска и корневой файловой системы
Возможность создать дополнительные разделы
Возможность подключить диски от одной машине к другой
После того, как мы запустили консоль прошёл почти год. За этот год хром обновился, сменил версию websockets. И консоль осталась рабочей только в Firefox и Opera, обидев заодно и пользователей Mac, у которых основным браузером является Safari (внутри Safari тот же «движок», что и в Хроме — WebKit). Плюс, консоль была не особо быстрой.
Пришло время исправить эту проблему. Компонент под названием selecon-web (это не безграмотность, это сокращение от Selectel Console) был переписан на haskell, в результате чего у нас значительно снизилось потребление процессора, а у пользователей улучшилась скорость работы консоли. Заметим, скорость фактического вывода осталась прежней (т.к. консоль это всё-таки последовательный порт, скорость вывода у него фиксированная, но ускорилось время открытия консоли и время, за которое буква с порта виртуальной машины оказывалась в браузере у клиента).
Summary: Пост рассказывает о том, что такое снапшоты в облаке, как их использовать, и как они устроены.
Одна из самых заметных новых фич в облаке, появившаяся в этом году — снапшоты. Всё, что мы делаем, делится на три категории — то, что полезно нам (биллинг, сервисные утилиты и т. д.), то, что полезно клиентам, но визуально не заметно (например, СХД, смена версий гипервизора, уже ранее запущенных серверов), и то, что полезно клиентам и визуально заметно — и вот снапшоты как раз из этой третьей категории).
Хочу предупредить, что статья будет очень сложная. Я сначала расскажу про простые вещи — как с этим работать и какая от этого польза, а потом расскажу как это устроено внутри. И если с удобством и понятностью на «пользовательском» уровне мы, я надеюсь, справились, то вот с описанием устройства… Так сказать, мужайтесь или пропускайте.
Как использовать снапшоты?
Самым типовым применением снапшотов является создание резервных копий на случай ошибки в настройке машины. Сразу хочу предупредить, это важно: снапшоты хранятся там же, где и диски. Это означает, что если на нас упадёт метеорит или придёт другое стихийное бедствие федерального значения, то снапшоты будут утеряны одновременно с дисками, то есть для полноценных резервных копий следует использовать другое, географически от нас удалённое, место хранения. Мы совершенно не планируем терять диски клиентов или допускать стихийные бедствия в серверную, но предупредить я всё-таки обязан.
Снапшот может быть выполнен в любой момент времени, на включенной или выключенной машине. В момент выполнения снапшотов дисковая активность машины слегка приостанавливается (речь идёт о чём-то порядка секунды), после чего продолжается «как ни в чём ни бывало».
ДЦ Берзарина — наш единственный дата-центр в Москве. Организован он аналогично остальным нашим дата-центрам — холодный коридор, откуда оборудование забирает холодный воздух, неконтролируемое по температуре пространство вокруг (горячий коридор), откуда кондиционеры забирают воздух для охлаждения (осушения чистки и т.д. — всё это и есть «кондиционирование») и выпускают обратно в холодный.
Состоит из одной очень длинной серверной, внутри которой находится длинный холодный коридор (2x40 шкафов). Этим он несколько отличается от устройства остальных ДЦ, где коридоров несколько.
Серверная на Цветочной имеет очень высокий потолок. Благодаря этому там находится довольно значительный объём прохладного воздуха. Наш НЗ, так сказать.
На этой фотографии видна высота потолков. На фотографии — бесперебойники, точнее, их силовая часть. Аккумуляторы находятся в другом помещении. Три белых ящика посередине — электрические коммутационные узлы, которые позволяют вывести из эксплуатации любой из источника питания (оба ввода городской электрической сети, упсы, дизели) без остановки работы. Я откровенно плаваю в такой электротехнике, но во время профилактики я в них (издалека) заглядывал — внутри огромной толщины медные шины — в палец толщиной, шириной в ладонь.
На фотографии ниже можно видеть как именно выглядит холодный коридор — в относительно тесном Технодоме не было возможности увидеть его целиком, на Цветочной — можно. Каждая такая «комнатка» распределяет холодный воздух для двух рядов стоек для серверов. Эта фотография сделана через «смотровое окошко для клиентов» не во время основной фотосессии, так что зал находится в совершенно непарадном виде: половина освещения выключена (экономим, угу), виден след от ежедневной влажной уборки.