Я использую SmartOS на своих серверах, и мне это очень нравится, особенно после того, как они запустили свои «зоны под брендом LX». Это позволяет нам запускать приложения Linux в «зоне» SmartOS с максимальной производительностью без гипервизора.
Когда я создаю зону с брендом LX, мне нужно написать файл манифеста, который включает kernel_version
свойство. В примере, который Joyent предоставляет на своем веб-сайте, kernel_version имеет значение 3.13.0, см. https://wiki.smartos.org/display/DOC/LX+Branded+Zones.
Однако «настоящий» Ubuntu поставляется с ядром 3.16.
Мои вопросы:
kernel_version
, действительно ли это изменит функции ядра Linux, которые эмулирует SmartOS? Или это просто «информативное» значение, которое будет возвращено пользовательским приложениям, работающим в зоне LX, когда они запросят версию ядра?kernel_version
поддерживаются в текущей SmartOS? "Текущий" на момент написания - joyent_20150612T210440Z.Я тщательно проверил массу документации от Joyent и провел обширное исследование в Интернете, но не нашел ответов на свои вопросы выше.
Любая помощь приветствуется.
Ответ на обе части вашего вопроса одинаковый. Версия ядра, указанная в полезной нагрузке JSON для создания зоны бренда LX, представляет собой просто текстовую строку и на самом деле не имеет значения. Это просто ценность release
структуры, возвращаемой uname(2)
. На самом деле это все равно сплошная выдумка. Предоставленные системные вызовы не меняются в зависимости от указанной версии ядра Linux. Он никоим образом не меняет поведение эмулируемого (linux) или реального (SmartOS) ядра. Таким образом, вы можете установить это так, как вам нужно.
В Joyent Public Cloud я видел значения от 3,1 до 3,18, в зависимости от эмулируемого дистрибутива (например, debian-7, ubuntu-14, centos-6 или docker).