再起動せずにサーバーのカーネルをアップグレードするにはどうすればよいですか?


29

私はすでに知っているので、kspliceに非常に興味があるので、これはロードされた質問です。問題は、Oracleに買収されて以来、オファリングから多数のサーバーディストリビューションをプルすることを余儀なくされていることです。答えはかつてほど簡単ではありません。

Unix.SEで次のような質問に気付きまし

独自のkspliceパッチを構築して、独自のカーネルに動的にロードできます。

すばらしいです!しかし、どのように!?

kspliceデスクトップ上のリポジトリに無料パッケージをインストールしました(ksplice-uptrack非フリーではありません)。更新プログラムを生成して適用したいと考えています。プロセスは何ですか?プロセスを自動化するスクリプトはありますか?

さらに、再起動不要のアップグレードに必要なすべての機械がカーネル(およびkspliceパッケージ)に存在する場合、なぜ私たちはデフォルトでそれを利用しないのですか?


かなり最近kGraftが発表されました。それはほぼ同じ結果のようですので、それに関連する答えがあれば、私もそれで満足です。しかし、現在リリースされてから数ヶ月です。


注1: ksplice以外のソリューションには満足していますが、同じことを提供する必要があります:サーバーを再起動せずに適用できるカーネルへのローリング更新。

注2:もう一度言います。メインのksplice "サービス"はUbuntu Serverをサポートしていません。以前は使用されていましたが、現在は使用されていません。kspliceを使用したいという話をすると、kspliceパッケージに含まれるオープンソースツールについて話します。ksplice-uptrackこれが前述の「サービス」と直接統合される部分であるため、話す答えはおそらく私が望んでいるものではありません。

回答:



6

私はkspliceについてあまり知りませんが、それについて言及すると思いました-聞いたことはありkexecますか?これが必要な場合があります。

質問に関して、なぜこれをデフォルトのメカニズムとして採用しなかったのですか?さて、現在実行中のカーネルのメモリを上書きすると、潜在的な問題が発生する可能性があります。また、ハードウェアデバイスが明確に定義された状態にあることが期待されますが、これは常に可能ではありません。

あなたは見てとることができ、IBM開発者の作品のそれはあなたのニーズに合ったかどうかを決定するためにそれについての記事を。


5
+1ですkexecが、本質的にはホットリブートです-IEはカーネルが最初から再び読み込まれるため、initスクリプトなどが呼び出されます。これは技術的には再起動ではありませんが、実行中のサービスは停止します。
jackweirdy

ええ、私はそれを知っていますが、それがどう違うかを見つけるためにkspliceで何も読んでいません。
マルシンカミンスキー

1
en.wikipedia.org/wiki/Kspliceによるとksplice、実行中のカーネルがまだメモリにある間にバイナリ差分パッチを適用します
jackweirdy

2
興味深いので、これについてもう少し読む必要があります。では、リセットからどれだけのアップタイムを節約しようとしていますか?:D
マルチンカミンスキー

3

kspliceは、再起動を必要とせずにカーネルスワップを許可します。Uptrackはksplice内で動作し、/ etc / uptrack / uptrack.confに編集可能な構成ファイルがあります


2

メインラインLinuxカーネルに含めるために提出された、Kspliceに代わる完全にオープンソースの代替がいくつかあります。どちらがカーネルで終了するかを判断するのは時期尚早ですが、十分に勇気がある場合はまだ試してみることができます。

これらの両方について詳しくは、SUSE Posts kGraft、Red Hat Posts Kpatch Patchesをご覧ください。


1

Arch Linux wikiには指示がありました:https : //wiki.archlinux.org/index.php/ksplice

ディストリビューション固有と思われる唯一の部分は、ksplice自体のインストール方法です。あなたはすでにそれがそうであると理解しているので、これはあなたをあなたの道に導くはずだと思います。


1
これは理論的には質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
エリック

0

2015年7月16日以降、「Oracle KspliceはFedoraおよびUbuntu Desktop Editionで無料で提供されています。」、公式に。

ダウンロードした.debファイルインストールするだけで、ここから入手できます

しようとsudo dpkg -i ksplice-uptrack.debすると、依存関係を修正する必要があるかもしれませんsudo apt-get install -f

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.