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

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

私が知っている限り、Linuxカーネルをアップグレードするには再起動が必要です。自宅のコンピュータを再起動することは問題ではありませんが、サーバーの場合はそうではありません。

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

答え1

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

実行中のカーネルをパッチすることも可能です。赤い帽子 斑点例えば。私が知る限り、これを行うと、データ構造は変更されません。

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

答え2

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

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

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

関連情報