company_banner

VMware ESXi на Raspberry Pi: они реально это сделали


    То, что выглядит как забавная шутка, иногда оказывается вполне серьезным проектом. Это редко, но случается. Буквально на этой неделе было анонсировано техническое превью гипервизора VMware ESXi на архитектуре aarch64 под названием ESXi-Arm-Fling. В этой статье мы рассмотрим, зачем и кому это нужно.

    Последний год ARM часто становился темой наших статей. Традиционное представление о том, что ARM предназначен исключительно для встраиваемых систем и мобильных телефонов давно ушло в прошлое. Компания Huawei представила свои серверы Taishan с ARM-процессором Kunpeng 920 собственной разработки. Ampere анонсировала 128-ядерный процессор Altra Max, также на этой архитектуре. Даже Apple решила использовать ARM в своих новейших лэптопах. Не обошел тренд и крупных производителей ПО, которые были вынуждены обратить внимание на столь кардинальные изменения и своевременно на них отреагировать.

    В 2018 году на конференции VMworld в юмористической форме было анонсировано то, что ESXi может быть запущена на Raspberry Pi. Тогда многие восприняли это как шутку. Предлагаем взглянуть, как это было:


    И вот, спустя почти два года, когда об этом все забыли, выясняется, что это не было шуткой. Вопрос лишь один: зачем нужно пытаться запустить гипервизор на таком устройстве? Да, современная «малинка» — это полноценный компьютер, размером с кредитку, но его сложно назвать производительным. Любой гипервизор имеет весьма высокие требования к аппаратной начинке, так что тут кроется что-то большее, чем необходимость запуска виртуальных машин.

    Чтобы прояснить эти моменты, обратим внимание на то, как изменился подход к развитию программных и аппаратных технологий. Если раньше решение определенных задач требовало практически полностью аппаратной реализации, то сейчас здесь лидирует программное обеспечение. Именно оно создает дополнительные слои абстракции, трансформирующие IT-инфраструктуру в сторону программно-определяемых сред. Хранилища данных, сетевая инфраструктура, серверы и дата-центры — все становится программно-определяемым.

    С одной стороны, такой подход значительно упрощает построение сложных систем, используя абстракции как строительные блоки. Этим достигается максимальная совместимость и эффективное использование аппаратных мощностей. А вот с другой стороны — все не так радужно. Любые абстракции увеличивают потребление ресурсов, а это значит, что на них расходуется больше процессорного времени.

    Выход прост: для освобождения ресурсов центрального процессора следует отдавать часть вычислений непосредственно периферийным устройствам, например, сетевым картам. Концепция SmartNIC предполагает, что сетевая карта не будет отнимать драгоценное процессорное время и большую часть действий станет выполнять внутри себя.

    Источник изображения: blogs.vmware.com
    Есть три способа «скрестить ежа с ужом»:

    • ASIC. Будет работать шустро, но только по базовым сценариям. Сложно производить, зато относительно просто программировать. Стоимость высокая.
    • FPGA. Скорость, как у ASIC, справится с любым сценарием. Программировать крайне сложно, равно как и производить. Стоимость также высокая.
    • SoС. Производительность будет ниже, чем у ASIC или FPGA, однако средняя стоимость, гибкость и простота программирования сделали этот вариант более предпочтительным.

    В сухом остатке для создания SoC-варианта сетевой карты не требуется процессор с CISC-архитектурой, вполне достаточно ARM. Тут мы и подобрались максимально близко к ответу на главный вопрос статьи: зачем нужен гипервизор на Raspberry Pi? Все просто: это позволяет «обкатать» технологию работы ESXi на ARM-процессорах.

    Ведь для тех же SmartNIC-устройств требуется, чтобы гипервизор был запущен непосредственно внутри них. Популярные «малинки» — всего лишь среда для тестирования технологий, на которые VMware возлагает большие надежды. Ну а обычные пользователи и энтузиасты получат возможность бесплатно «гонять» несколько операционных систем на своей Raspberry Pi.

    Источник изображения: flings.vmware.com
    Техническое превью уже доступно для скачивания под именем ESXi-Arm Fling на flings.vmware.com. Там же есть детальная инструкция для установки на Raspberry Pi 4. Обратите внимание, что поддерживается только Raspberry Pi 4 B c объемом памяти 4 или 8 Гб. Версии с 1 Гб и 2 Гб не поддерживаются.

    Почему Fling? Все потому, что так называется программа VMware по предоставлению ПО на ранней стадии разработки. Оно не является общедоступным, а также не имеет технической поддержки, зато предлагает сообществу самые новейшие инструменты для оценки и тестирования. Обратная связь от участников сообщества позволяет сделать конечные продукты стабильнее и надежнее.
    Хотите протестировать весь функционал ARM-сервера на собственных задачах?
    Huawei TaiShan 2280v2 доступен в нашей Selectel Lab.
    Selectel
    ИТ-инфраструктура для бизнеса

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

      +5
      Буквально сегодня какой то умелец в твиттере завел ESXi на Nintendo Switch
      • НЛО прилетело и опубликовало эту надпись здесь
          +4
          Позволю предложить, что VMWare не в SmartNIC лезет, а в Kubernetes. С версии 7.0 ESX они встроили докер и позволяют запускать контейнеры на металле, предлагая единую среду управления как виртуальными машинами, так и контенерами. На будущих серверах в сотни АРМ ядер не будет виртуалок, там контейнеры будут разворачиваться, а запуск на малине — прообраз этих будущих серверов под контейнеры.
            +2
            Тем временем ARM занял уже 10% AWS (Processor-only instances).

              0
              В офисной части помещения суперкомпьютера IBM Summit установлен демонстрационный стенд с суперкомпьютером Tiny Titan из девяти Raspberry Pi Model B+.
              По для построения суперкомпьютера доступно на Гитхабе.
                +6
                Любой гипервизор имеет весьма высокие требования к аппаратной начинке

                Спорное утверждение. Гипервизор должен быть тонким и гибким, как минимальная плёнка клея. И достаточно умным, чтобы не быть лишним.
                  –1

                  Так то оно так, но реальность хужее. На VirtualBox гостевая Windows 10 показывает примерно в два раза меньшую производительность чем такая же Windows 10 на хосте. При том что образ гостевой лежит на NvMe SSD, машина с Core i5 и 16Гб ОЗУ.

                    +2
                    Так virtualbox и не полноценный гипервизор, он удобен когда требуется запустить одну ОС из другой, но не в продакшн же его.
                  +4

                  "В этой статье мы рассмотрим, зачем и кому это нужно."


                  Думал, что действительно расскажут, что это тем, у кого есть малина, но не знают ничего про эту иехнологию. В реальности лишь запостили свою рекламу в конце

                    0

                    Блог корпоративный, заполнить контентом надо :(

                    +4
                    Следующий шаг: запустить сервер 1С и SQL-сервер на разных виртуалках…
                      0

                      У 1С нету сборок под arm. А так хоть в виртуалках, хоть в контейнерах, где тут проблема?

                        0
                        У 1С есть клиент под МакОСь.
                        Эппл переезжает на АРМ.

                        Всего-то пару лет подождать и появится сборка под arm.
                        Вот с сервером другой вопрос…

                        PS: А вообще это сарказм был в моём комменте выше…
                          0

                          Ну под android у них уже что-то есть. И я не думаю что у них там много x86 специфичного кода. Так что возможно скоро тоже освоют сбору под arm. Но глядя как ворочается 1с с постгресом на ксеоне силвер и ссд, боюсь на малинке это будет тяжёлое зрелище. :)

                      +2
                      Хм. Читаю эту статью из под винды на ARM :)

                      Кстати возможность запустить виртуалку на Raspberry Pi тоже интересна, только недавно возникал вопрос как читать какую-то древнюю БД с устройства на Windows CE, клиентов которой для других платформ тупо нет.
                        0

                        WinCE запускается в qemu http://allsoftwaresucks.blogspot.com/2016/10/running-without-arm-and-leg-windows.html?m=1
                        Аппаратная виртуализация тут не нужна и даже вредна.

                          0
                          Идея была в том, что есть древний девайс с Windows CE, и к нему подключается Raspberry Pi которая читает базу событий с этого СЕ и шлет в Amazon iOT Cloud.

                          Формат базы sdf (Microsoft SQL Server Compact) и нативного клиента под Raspberry Pi найти не удалось, если бы на RPi запустить виртуалку, было бы проще.
                            0

                            Так попробуйте запусть в qemu на малинке. Аппаратная виртуализация не нужна для эмуляции старого arm'а. Вопрос только хватит ли производительности программной эмуляции для комфортной скорости работы.

                        +1

                        Ну смогли они таки за два года собрать свой ESXi под ARM. Ну молодцы и что? На 4Гб версии, ESXi съест всю доступную оперативную память и толку от него? При этом в KVM+QEMU аппаратная виртуализация работала уже на 3ей малинке и памяти им вместе с libvirt нужно меньше сотни мегабайт. Кому хотелось поиграться с виртуализацией на малинках(или вдруг действительно она была нужна, вместо контейнера или еще одной малинки рядом) уже давно могут это делать с KVM без гигабайт всякого интерпрайзного булшита.

                          0
                          Откатали портирование на доступном железе. Теперь оно легко масштабируется для реального использования.
                            0

                            Для обкатки есть более удобное и более приближенное к реальной аудитории железо(те-же хуавеи). А тут желание словить хайпа на популярности малинки в широких массах.

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

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