ElrepoからDRBD9.0をインストールしようとしているRHEL7.4サーバーを新しくインストールしました。
私のサーバーは最新のカーネルを実行しています:3.10.0-693.1.1.el7.x86_64
、それでもkmod-drbd90は依存関係としてカーネル3.10.0-514.26.2をインストールしたいと考えています。
---> Package kmod-drbd90.x86_64 0:9.0.8-1.el7.elrepo will be installed
--> Processing Dependency: kernel(crypto_alloc_ahash) = 0x035deac4 for
package: kmod-drbd90-9.0.8-1.el7.elrepo.x86_64
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-514.26.2.el7 will be installed
古いカーネルのインストールに問題はありません。その古いカーネルが最終的に置き換えられたときに何が起こるのだろうかと思っています。 DRBDは引き続き機能しますか?
DRBD 8.4もインストールしようとすると、同じことが起こります。
これは、DRDBや、特殊なカーネルモジュールを含む他のいくつかの製品で時々発生した問題です。最終的に、この問題に対する私の解決策は、予期しない破損を防ぐためにカーネルパッケージを保留することで常に終了しました。マイレージは、問題のディストリビューションがカーネルをパッケージ化する方法によって異なります。
一般に、これは依存関係の解決がその仕事をしている例であり、あなたはそれが言うことをするべきです。ただし、DRDBが時折わずかに古いカーネルに依存しても、必然的に新しいカーネルがインストールされ、Grubがそれらの新しいカーネルから起動するように自動的に構成されるのを防ぐことはできません。これにより、起動時にGrubを介して選択された古いカーネルが必要なシステムになります。これは、更新後に古いカーネルを保持するようにシステムが構成されている場合に簡単に実行できます。これはデフォルトです。これを避けるようにしてください。
したがって、このノードでDRDBを使用する場合は、これが発生しないようにカーネルパッケージを保持することは確実なアプローチです。これは、/etc/yum.conf
を編集して、[main]セクションの下に次の行を含めることで実行できます。
exclude=kernel*
これにより、yumを使用してそのパッケージを強制的に更新するか、excludeディレクティブを削除するまで、カーネルが更新されなくなります。このようにして、カーネルに敏感なワークロードでカーネルを更新する際により注意を払うことができます。