То, что выглядит как забавная шутка, иногда оказывается вполне серьезным проектом. Это редко, но случается. Буквально на этой неделе было анонсировано техническое превью гипервизора 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.