web-dev-qa-db-ja.com

Linuxカーネルのバージョンが複数あるのは良いですか?

かつて、私はいくつかのカーネルパッチをインストールしていましたが、数百のクライアントが存在するライブサーバーに問題が発生しました。システムには1つのカーネルしかありませんでした。そのため、サーバーがしばらくダウンし、ライブCDを使用してシステムを稼働させ、さらに修復作業を行いました。

さて、私の質問:カーネルのバージョンが2つあるのはいい考えです。カーネルが壊れた場合、いつでも別の利用可能なカーネルで再起動できますか?私にお知らせください。

また、同じカーネルの2つのバージョンを持つことは可能ですか?カーネルが破損しているときに別のカーネルを選択できるようにするにはどうすればよいですか?

Edited:
My Server Details:
2.6.32-431.el6.x86_64
CentOS release 6.5 (Final)

このカーネルの同じコピーをどのようにして入手できますか?私のカーネルが破損したときに、バックアップカーネルを開始できますか?

14
Mani

RedHatとDebianベースのディストリビューションはどちらも、デフォルトでyumまたは_apt-get_を使用して新しいバージョンをインストールすると、カーネルのいくつかのバージョンを保持します。これは良い習慣と考えられており、あなたが説明する場合のために正確に行われます:最新のカーネルで何か問題が発生した場合、常に再起動でき、GRUBで以前のカーネルのいずれかを使用して起動することを選択できます。

RedHatディストリビューションでは、_/etc/yum.conf_設定で_installonly_limit_に保持するカーネルの数を制御します。新しいCentOS 7をインストールすると、デフォルトで5に設定されます。

また、RedHatでRPMパッケージから新しいカーネルをインストールする場合は、_rpm -ivh_ではなく_rpm -Uvh_を使用する必要があります。前者は古いカーネルをそのまま維持し、後者は置き換えます。

Debianは古いカーネルを保持しますが、それらを自動的に削除しません。ブートパーティションを解放する必要がある場合は、古いカーネルを手動で削除する必要があります(以前のカーネルの少なくとも1つを残すことを忘れないでください)。すべてのカーネルインストールパッケージとカーネルヘッダーパッケージを一覧表示するには、dpkg -l | egrep "linux-(im|he)"を使用します。

あなたの質問に答える-また、同じカーネルの2つのバージョンを持つことは可能ですか?-はい、それは可能です。現在、CentOS 6.5では確認できませんが、CentOS 7では、_/boot_ディレクトリのカーネル関連ファイルを複製してgrubメニューを再構築するだけで、目的の結果を得ることができました。

_cd /boot

# Duplicate kernel files; 
# "3.10.0-123.el7" is a substring in the name of the current kernel
ls -1 | grep "3.10.0-123.el7" | { while read i; \
    do cp $i $(echo $i | sed 's/el7/el7.backup/'); done; }

# Backup the grub configuration, just in case
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup

# Rebuild grub configuration
grub2-mkconfig -o /boot/grub2/grub.cfg

# At this point you can reboot and see that a new kernel is available 
# for you to choose in GRUB menu
_
18
golem

はい、それは可能であり、私は賢明でさえ言うでしょう。代わりの方法を提供するには、起動プロセスを設定する必要があります。通常、これはブートローダー構成で行われます。通常、そこにあるエントリを複製して、カーネルイメージのファイル名とブートメニューエントリのラベルを変更できます。

本番サーバーでは通常これは問題になりませんが、カーネルをアップグレードするときは常にバックアップを用意しておくことをお勧めします。一部のLinuxディストリビューションでは、パッケージの更新時にロールバック(通常はファイルシステムのスナップショット機能によってバックアップされます)を提供して、プロセスをできるだけ簡単にしますが、そのような場合でも、バックアップを準備しておく傾向があります。

同じカーネルのいくつかのコピーを持つことについては-それは理にかなっていますが、@ goldilocksが以下のコメントで指摘しているように、カーネルが破損した場合は、ハードウェアの交換を検討する必要があります。一方、別の物理HDDに複製を配置すると、いくつかのトラブルを回避できる場合があります。ただし、カーネルイメージファイルはeverのみがブート時に使用されることに注意してください。

7
peterph