![](https://habrastorage.org/webt/rs/dy/lh/rsdylhwmq3hv0iubrsaf0djpkok.png)
Недавно компания Apple представила Mac с процессорами Apple Silicon M1, которые произвели настоящий фурор. Мы решили изучить, как «домашний» Mac может поселиться в дата-центрах.
![](https://habrastorage.org/webt/kw/qc/qk/kwqcqkbc9qnd-1iz7erkxrvin_s.png)
Какие сложности?
Для большинства повседневных рабочих задач хватает серверов на Linux и Windows Server. Но, если вы вовлечены в разработку под macOS или iOS, то сервер сборки должен быть на macOS. Единственный Mac, который устанавливается в стойку — Mac Pro, который может быть избыточным. Подходящий вариант — более бюджетный Mac Mini, но официальных стоечных решений для него нет.
Mac Mini предлагает скромные возможности для модернизации: заменить можно только SSD-накопитель и оперативную память; платы расширения PCIe можно подключить в ThunderBolt-адаптеры. Более того, Mac Mini не предоставляет интерфейсов для удаленного управления платформой (BMC, IPMI), что значительно усложняет эксплуатацию Mac Mini в условиях дата-центра. Mac Mini также предоставляет «вредный» для безопасности в дата-центре Bluetooth и Wi-Fi.
Тем не менее, Mac Mini используют в дата-центрах.
Доступные решения
Высота корпуса Mac Mini — 3.6 сантиметра, что позволяет ему занять один юнит стойки, который составляет 4.44 сантиметра. Стоечные корпусы для Mac Mini достаточно разнообразны. Самые простые — это полки, на которых располагаются Mac. Более сложные — это корпусы с переходником ThunderBolt — PCI Express, позволяющие устанавливать карты расширения.
![](https://habrastorage.org/webt/-b/ev/ks/-bevksqazdwlohdn20vjhcfjkuy.png)
Подобные решения хороши, когда серверов Mac мало. Но что делать, когда их количество превышает сотни и тысячи?
Как это сделано в Облаке?
Недавно у одного известного облачного провайдера стали доступны Mac Mini в качестве «bare metal» инстансов (пока только на Intel, без Apple Silicon).
Так как в Selectel мы активно развиваем выделенные серверы, нам стало интересно посмотреть как это реализовано в железе.
Готового шасси для Mac Mini нет, поэтому провайдеру его потребовалось разрабатывать с нуля самостоятельно. Примечательно, что Wi-Fi и Bluetooth в ОС недоступны. Согласно статье на iFixIt соответствующий модуль распаян на плате и его нельзя просто отключить. Можно предположить, что его отключают аппаратно или через конфиг FW.
Следующий интересный момент — удаленное управление. Каждый провайдер решает эту проблему по-своему. Mac Mini сообщает, что к нему подключен монитор D-1, но в клиентской панели нет доступа к KVM-сервера. Можно сделать вывод, что это используется исключительно для внутренних нужд. Для доступа к рабочему столу клиентам предлагается использовать SSH и VNC.
Команда для включения VNC-сервера через SSH в macOS
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -allowAccessFor -allUsers -privs -all -clientopts -setmenuextra -menuextra yes
Конечному пользователю доступно только управление питанием. В данном шасси управление питанием производится через сервопривод, который нажимает на кнопку включения.
Дальше еще интереснее, посмотрим как им удалось интегрировать в облачную инфраструктуру Mini, который нельзя ни переконфигурировать, ни подключить к нему карты расширения. В шасси установлена I/O-карта собственной разработки, выполняющая эти функции. Физически к Mac она подключается через Thunderbolt, а наружу смотрит сетевыми портами.
Этот модуль обеспечивает подключение виртуальных (!) дисков в виде блочных устройств. Подключенные накопители видны в системе как физические PCIe-диски, а внутренний SSD по умолчанию не используется. Получается, что на I/O-карте работает некая прошивка, которая подключается по сети в инфраструктуру провайдера, забирает оттуда виртуальные диски и отдает их в Mac через эмуляцию PCIe-диска. На рынке мы естественно не нашли подобных готовых решений, но технология очень похожа на NVMe over Fabric, которую предоставляют несколько вендоров продвинутых сетевых карт. Пишите в комментариях идеи, как бы вы это реализовали сами?
![](https://habrastorage.org/webt/o-/tg/rb/o-tgrbrhc5iwgj2qjwz2k4wxajy.png)
Один виртуальный диск создается вместе с инстансом и используется для размещения операционной системы. Все виртуальные диски отображаются на соответствующей вкладке в ПУ и их функциональность полностью такая же как и для обычных виртуальных инстансов.
Помимо дисков эта же I/O Card реализует в себе сетевую карту на 25 Гбит/с, которая используется для подключения к локальным сетям и интернету. Максимум, который нам удалось получить — 7 Гбит/с на загрузку. Однако, нельзя быть уверенным в том, что узкое место находится со стороны облачного провайдера, так как другие ближайшие серверы Speedtest показывали худшие результаты.
![](https://habrastorage.org/webt/oo/87/-w/oo87-wyis8ljklm0wzny5o2rayi.png)
Заключение
Эксплуатация Mac Mini в дата-центрах сопряжена с определенными трудностями. Но, при должном подходе из них можно сделать платформы, незначительно отличающиеся по использованию от привычных серверных или даже облачных решений.
![](https://habrastorage.org/webt/o6/wz/wz/o6wzwz5ocihzi90gd8by0o_m8qw.png)
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Хотели бы вы Mac Mini на M1 в дата-центре?
26.19% Да, для разработки33
23.02% Да, для тестирования и QA29
1.59% Да, напишу в комментарии2
49.21% Не интересно62
Проголосовали 126 пользователей. Воздержались 37 пользователей.