CentOS でパッケージを更新しても安全かどうかはどうすればわかりますか?

CentOS でパッケージを更新しても安全かどうかはどうすればわかりますか?

私はDRBD、Corosync、KVMをベースにしたシンプルな2ノードのCentOSクラスタを持っています。yum
でパッケージを更新しようとすると、次のようなものが表示されます。

Updating:
 clusterlib             x86_64    3.0.12.1-23.el6_2.1          updates     94 k
 corosync               x86_64    1.4.1-4.el6_2.3              updates    188 k
 corosynclib            x86_64    1.4.1-4.el6_2.3              updates    171 k
 drbd83-utils           x86_64    8.3.13-1.el6.elrepo          elrepo     223 k
 glibc                  x86_64    2.12-1.47.el6_2.12           updates    3.8 M
 glibc-common           x86_64    2.12-1.47.el6_2.12           updates     14 M
 kernel-firmware        noarch    2.6.32-220.23.1.el6          updates    6.3 M
 kernel-headers         x86_64    2.6.32-220.23.1.el6          updates    1.6 M
 kmod-drbd83            x86_64    8.3.13-1.el6.elrepo          elrepo     174 k
 libvirt                x86_64    0.9.4-23.el6_2.9             updates    1.5 M
 libvirt-client         x86_64    0.9.4-23.el6_2.9             updates    2.8 M
 libvirt-python         x86_64    0.9.4-23.el6_2.9             updates    308 k
 matahari               x86_64    0.4.4-12.el6_2               updates     18 k
 matahari-agent-lib     x86_64    0.4.4-12.el6_2               updates     40 k
 matahari-broker        x86_64    0.4.4-12.el6_2               updates     25 k
 matahari-host          x86_64    0.4.4-12.el6_2               updates     43 k
 matahari-lib           x86_64    0.4.4-12.el6_2               updates     43 k
 matahari-network       x86_64    0.4.4-12.el6_2               updates     36 k
 matahari-service       x86_64    0.4.4-12.el6_2               updates     51 k
 matahari-sysconfig     x86_64    0.4.4-12.el6_2               updates     32 k
 qemu-img               x86_64    2:0.12.1.2-2.209.el6_2.5     updates    338 k
 qemu-kvm               x86_64    2:0.12.1.2-2.209.el6_2.5     updates    1.2 M
 qpid-cpp-client        x86_64    0.14-14.el6_2                updates    996 k
 qpid-cpp-client-ssl    x86_64    0.14-14.el6_2                updates    106 k
 qpid-cpp-server        x86_64    0.14-14.el6_2                updates    990 k
 qpid-cpp-server-ssl    x86_64    0.14-14.el6_2                updates     58 k
 qpid-qmf               x86_64    0.14-7.el6_2                 updates    410 k

特定のパッケージを更新すると、何らかのダウンタイムが発生するかどうかをどのように判断すればよいでしょうか? (たとえば、VM またはマシン全体を再起動する必要があるかどうか)

答え1

サービスの再起動は、そのサービスを更新した後は必ず必要になります。
更新中に yum によってこの再起動が自動的に実行されるかどうか尋ねている場合、それを確認する確実な方法はありません (各パッケージの RPM プレインストール/ポストインストール スクリプトを抽出する以外)。RPM プレインストール/ポストインストール スクリプトは、何でも好きなように実行できます。

ベスト プラクティスとして、まず開発/テスト環境を本番環境と同等にし、最初にこれらの環境でこのようなテストを実行できるようにしておく必要があります。
これは、パッケージのアップグレードによってサービスが再起動されるかどうかを判断するのに役立つだけでなく、本番環境に移行する前に、発生する可能性のある非互換性や問題を見つけることもできます。

答え2

kmod-drbd83は DRBD カーネル モジュールです。この更新を有効にするには、これをアンロードする必要があります (つまり、drbd を停止します)。これにより、drbd のダウンタイムが発生します。

glibc-update の後も再起動する必要があります。

したがって、すべてのサービスを切り替えるかフェールオーバーし、更新プログラムをインストールし、再起動してフェールバックします。

答え3

リポジトリを手動で変更していない場合は、これらのアップデートをインストールしても安全です。インストール前のダウンタイムについては、yum がこれを通知します。または、少なくともインストール後に、何をすべきかを尋ねられます。

答え4

ほとんどの場合、サーバーを再起動する必要はありませんが、更新プロセスでサービスが再起動されます。そうは言っても、更新リストを見ると、カーネル更新があり、新しいカーネルをロードするにはほとんどの場合サーバーの再起動が必要であることがわかります。

関連情報