Linuxサーバーが再起動せずにカーネルを更新する方法


13

私の情報によると、Linuxカーネルのアップグレードには再起動が必要です。家庭用コンピュータの再起動は問題ではありませんが、サーバーの場合と同じだとは思いません。

Linuxディストリビューションを使用するサーバーは、カーネルのアップグレード後に再起動しますか、それとも起動を回避するために何らかのトリックを使用しますか?

回答:


8

カーネルを変更すると再起動します。カーネルをインストールすることができ、場合によっては、異なるカーネルのモジュールを挿入および削除できますが、お勧めしません。

サーバーがクラスターの一部である場合、サーバーは再起動され、サービスは影響を受けません。ファイアウォール/ルータークラスターを作成して、集中障害点(SPOF)がなくなるようにすることもできます。これを行うには、複数のシステムで共有されるいわゆる仮想IP(VIP)を使用します。

このアイデアを試したい場合は、QEMUまたはVirtualBoxなどを使用して仮想ネットワークを作成できます。


8
ライブカーネルパッチについてはどうですか?
jiggunjer 2017

質問はマイナーパッチに固有のものではありませんでしたが、メジャーバージョンのアップグレードを意味する「アップグレード」について言及しています。したがって、2.6-> 3.0から「アップグレード」するには、アップグレード作業を開始する前に、負荷からマシンをドロップすることをお勧めします。カーネルの変更を投稿したら、再起動します。grub / liloは変更が必要になる可能性が高いので、とにかく礼儀正しく再起動することをお勧めします。
Ed Neville、

15

はい、「再起動」しますが、kexec_loadシステムコールを実行して新しいカーネルをプリロードできます。

実行中のカーネルにパッチを適用する可能性もあります(たとえば、redhat kpatch)。私が知っている、これを行うすべてのことは、データ構造を変更することはできません。

もちろん、lispマシンは、前世紀に実行中のカーネルにパッチを当てることができました。


1
kexec新しいカーネルをただちに起動するだけのvanillaもあります。「再起動」の定義によっては、これが非再起動カーネルアップグレードと見なされる場合があります。
Patrick
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.