company_banner

Новые процессоры в новом пуле облака

    С некоторыми задержками, но мы запускаем новый пул на новых процессорах. Старые процессоры Xeon L5520, новые — Xeon E5-2630.


    Вот мнение Intel о том, как различаются процессоры: http://ark.intel.com/compare/64593,40201
    Ключевые позиции:
    • Удвоение размера кеша
    • Полуторакратный рост числа операций с системной шиной в секунду
    • Поддержка дополнительных инструкций процессора AVX
    • 68% рост скорости работы оперативной памяти

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

    Вместе с этими изменениями происходят и крупные изменения в тулстеке облака:
    • переход на более новую версию гипервизора (3.4 -> 4.1) (чейнжлог для 4.1, 4.0)
    • Поддержку storage motion (крупный шаг для поддержки живой миграции между пулами)
    • мажорное обновление xapi (changelog)

    … и ещё множество локальных улучшений. А под шумок ещё убрали из списка доступных шаблонов в этом пуле ubuntu 10.04 в силу… м… ээ… потери рыночной актуальности.

    Скажем честно, 90% из этих изменений — задел на будущее. Некоторые из них:
    1. Storage Motion позволит переносить диски между хранилищами и пулами на ходу, без прерывания работы
    2. Новый гипервизор (Xen 4.1) позволит принять pv_ops ядра (ванильные ядра linux) в продакт без каких-либо патчей (прощайте, -xen версии ядер)
    3. xapi окончательно избавился от детских болезней XenSever'а и значительно упрощает процесс балансировки виртуальных машин между хостами


    Почему такой долгий деплой?


    XCP 1.6, на котором основан новый пул, вышел в декабре 2012. А бета-версия третьего пула была выкачена в конце апреля 2013.

    Причин задержек несколько. Во-первых тесты. На тестах мы нашли несколько ошибочных сценариев в работе xapi (они не ошибочные с точки зрения XenServer'а, но совсем не интересны для работы в качестве облачного тулстека). Под это дело была написана система автоматического тестирования, которая выполняет множество операций над готовой копией пула с вариацией параметров. Самый длинный тест у нас занимает больше 5 часов, и выполняется на двух пулах по два хоста в каждом.

    Во-вторых адаптация нашей части тулстека под изменения xapi. Они кажутся косметическими, но каждое из них нам стоило несколько человеко-часов работы (сначала найти, потом адаптироваться). Консоли отдаются через TCP, а не через PTS, ряд атрибутов был потерян во время миграции операций с доменами из xapi в xenopsd и нам пришлось искать пути вокруг). Xen в свою очередь принёс изменения в ABI (потребовалось пересобирать/переписывать всю нашу обвязку, занимающуюся учётом SLA). Способность виртуальных машин хотя бы теоретически путешествовать между пулами потребовала серьёзных изменений в структуру базы данных (раньше у нас было простое и ясное отношение — «у каждой виртуальной машины есть uuid её пула», а теперь пул может меняться, да ещё несколько раз на дню). Отдельной проблемой был передел IP-адресов (свободных IPv4 адресов всё меньше и меньше).

    Источник
    Selectel
    184,28
    ИТ-инфраструктура для бизнеса
    Поделиться публикацией

    Похожие публикации

    Комментарии 14

      0
      И что делать с IPv4? Не будете подключать новые виртуальные машины, когда кончатся? Прощай DNS RR? Сервера с предбалансировкой? Можете дать процент трафика, идущего по IPv6?
      Простите, но остальные моменты в этом посте меня, как пользователя VPS, затронули мало, поэтому вопросы именно такие.
        +5
        Думаем. Очевидно, сценарий «больше машин не будет» не очень хороший. Варианты ещё есть, пока держимся.

        Процент трафика на ipv6… Очень маленький. Меньше процента, увы.
        +3
        Управляющий софт продолжаете писать на Хаскеле?
        Каковы впечатления от уже многолетнего опыта использования?
          +8
          К двухлетию начинания я напишу большую статью. Пока могу сказать:

          а) медленее (возможно, это связано с общим увеличением строгости процесса написания и code review)
          б) количество нелепых ошибок (NoneType has no method bla-bla-bla) уменьшилось в разы.
          в) Если ошибка обнаруживается, то чаще всего это ошибка понимания человеком ТЗ, ошибка в ТЗ или архитектурная ошибка, так что сложность устранения ошибок выросла в разы, если не хуже. Другими словами, ошибки стали ошибками человека, а не «опечатался», «не подумал о ветвлении» и т.д.
          г) В употреблении в продакте хаскель куда более комфортен, чем интерпретируемый язык. Нормальный ELF-файл позволяет его использовать любым удобным методом без сложных зависимостей и медленного старта.
            +3
            Круто. Статью буду ждать, спасибо.
          +2
          Сделайте возможность снятия ограничений у минимального образа debian. А то создав машину, произведя все настройки и запустив в продакшн, понимаешь что её ресурсов не хватает и вот хочешь изменить её профиль (как у амазона, например) а тебе тех. поддержка говорит: ограничения снять нельзя, создавайте новую машину.

          Мне кажется, что концепция облака подразумевает изменение доступных ресурсов при необходимости, а у вас как-то думают иначе?
            +2
            Это будет исправляться. Вероятнее всего мы добавим «manual install» режим (самому отвечать на вопросы инсталлера) и возможность отключить любые лимиты (кроме лимитов пула по максимуму ядер/памяти и т.д.).

            За фидбэк спасибо.
            –1
            А как это отразиться на старых клиентах облака?
              +1
              В настоящий момент для работающих машин никаких изменений нет. Для старых клиентов же в разделе «создать» появился ещё один пул и новые машины можно создавать в новом пуле.

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

                Спасибо за ответ. Хотелось бы воспользоваться возможностями нового пула, но создавать новую… переносить данные из старой… — как-то неохота. А спокойно переносить машину между пулами было бы неплохо.
              +3
              Может пригодится кому: muromec.org.ua/2013/05/ip6.
                0
                Спасибо.
                0
                То есть можно уже переползти в новый пул на более свежее ядро Linux? (последнего нет в ваших темплейтах)
                  +1
                  Увы, нет. Точнее, мы вам никаким образом не запрещаем пробовать запускать любые ядра, хоть 3.10rc1, но есть несколко моментов, решения которых у нас пока нет для ванильных ядер.

                  а) странное время в dmesg
                  б) Нюансы со временем при миграции
                  в) free показывает меньше памяти, чем выделено домену.

                  Собственно, третий пункт ключевой. Не смотря на то, что глубоко в dmesg можно увидеть реальный объём памяти, free показывает total меньше, чем на самом деле. В условиях динамического выделения памяти мне совсем не хочется отвечать на вопрос «почему у меня списали за 500 Гб*ч, а free показывает 950 Мб в течение 500 часов?».

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое