私はサーバーでSmartOSを使用していますが、特に「LXブランドのゾーン」を立ち上げて以来、非常に熱心に取り組んでいます。これらにより、ハイパーバイザーなしでベアメタルパフォーマンスでSmartOS「ゾーン」でLinuxアプリケーションを実行できます。
LXブランドのゾーンを作成するときは、kernel_version
プロパティを含むマニフェストファイルを作成する必要があります。 JoyentがWebサイトで提供している例では、kernel_versionは3.13.0に設定されています。 https://wiki.smartos.org/display/DOC/LX+Branded+Zones を参照してください。
ただし、「実際の」Ubuntuには3.16カーネルが付属しています。
私の質問:
kernel_version
に異なる値を指定すると、SmartOSがエミュレートするLinuxカーネル機能が実際に変更されますか?それとも、カーネルバージョンを照会したときに、LXゾーンで実行されているユーザーランドアプリに返されるのは、単なる「有益な」値ですか?kernel_version
の値は何ですか?執筆時点での「現在」はjoyent_20150612T210440Zです。Joyentからの大量のドキュメントを徹底的にチェックし、広範なWeb調査を行いましたが、上記の質問に対する回答は見つかりませんでした。
どんな助けでも大歓迎です。
あなたの質問の両方の部分への答えは同じです。 LXブランドゾーンを作成するためにJSONペイロードにリストされているカーネルバージョンは単なるテキスト文字列であり、実際には重要ではありません。これは、uname(2)
によって返される構造体のrelease
の値にすぎません。現実は、とにかくそれは完全な製造です。提供されるシステムコールは、報告されたLinuxカーネルのバージョンに基づいて変更されません。エミュレートされた(linux)カーネルまたは実際の(SmartOS)カーネルの動作はまったく変更されません。したがって、これをニーズに合ったものに設定できます。
Joyent Public Cloudでは、エミュレートされているディストリビューション(debian-7、ubuntu-14、centos-6、dockerなど)に応じて、3.1から3.18の範囲の値が表示されます。