第4章 RHEL 6 から RHEL 7 へのシステムのアップグレード

Preupgrade Assistant が報告するすべての問題を修正したら、Red Hat Upgrade Tool を使用してシステム RHEL 6.10 から RHEL 7.9 にアップグレードできます。必要なインストール後の作業を必ず行い、システムを最新の状態にして、アップグレード関連の問題を防ぎます。

重要

このアップグレードプロセスは、非本番稼働システムでテストしてから、本番稼働システムで実行してください。

前提条件

手順

  1. 以下のいずれかの場所で、RHEL 7 パッケージでソースリポジトリーまたはメディアを準備します。

    • RHEL 7 パッケージをダウンロードする DVD ISO から作成したインストールリポジトリー (RHEL 7.9 パッケージを含む FTP サーバーや HTTPS サイトなど)詳細は、「インストールソースの準備」を参照してください。
    • マウントされたインストールメディア
    • ISO イメージ

      上記のオプションのいずれかで、Red Hat が提供するカスタムリポジトリーと追加リポジトリーを設定できます。たとえば、RHEL 6 Base システムで利用可能な特定のパッケージは、RHEL 7 Extras リポジトリーで提供されており、RHEL 7 DVD にはありません。

      システムに、RHEL 7 Base リポジトリーにないパッケージが必要な場合は、別の RHEL 7 システムをインストールして、FTP または HTTP で必要なパッケージを提供する yumリポジトリーとして機能させることができます。

      アップグレード中に使用できる追加のリポジトリーを設定する場合は、『更新用のローカルリポジトリーを作成する方法』の手順に従います。次に、redhat-upgrade-tool コマンドで --addrepo=REPOID=URL オプションを指定します。

  2. アクティブなリポジトリーを無効にして、RHEL のさまざまなメジャーリリースのパッケージを組み合わせた場合の問題を防ぎます。

    1. yum-utils パッケージをインストールします。

      # yum install yum-utils
    2. アクティブなリポジトリーを無効する

      # yum-config-manager --disable \*

      詳細は「Can I install packages from different versions of RHEL」を参照してください。

  3. Red Hat Upgrade Tool を実行して RHEL 7 パッケージをダウンロードし、パッケージのインストールを準備します。Red Hat Enterprise Linux 7 パッケージの場所を指定します。

    • インストールリポジトリー

      # redhat-upgrade-tool --network 7.9 --instrepo ftp-or-http-url --cleanup-post
    • マウントされたインストールメディア

      # redhat-upgrade-tool --device device_path --cleanup-post

      デバイスパスを指定しないと、Red Hat Upgrade Tool は、マウントされているすべてのリムーバブルデバイスをスキャンします。

    • ISO イメージ

      # redhat-upgrade-tool --iso iso_path --cleanup-post
      重要

      3 つの場所すべてに、redhat-upgrade-tool コマンドで以下のオプションを使用できます。

      • --cleanup post: 置き換える RHEL 7 がない Red Hat 署名パッケージを自動的に削除します。推奨。--cleanup-post オプションを指定しない場合は、インプレースアップグレード後に、残りの RHEL 6 パッケージをすべて削除して、お使いのシステムが完全にサポートされるようにする必要があります。
      • --snapshot-root-lv および --snapshot-lv: システムボリュームのスナップショットを作成します。アップグレードに失敗した場合に、RHEL システムのロールバックを実行するには、スナップショットが必要です。詳細は「RHEL 6 から RHEL 7 へのアップグレード後のロールバックとクリーンアップ」を参照してください。
  4. 要求されたら、システムを再起動します。

    # reboot

    アップグレードしているパッケージの数によっては、このプロセスが完了するのに最大数時間かかることがあります。

  5. アップグレード前の評価結果で説明されているアップグレード後のタスクを手動で実行します。
  6. システムアーキテクチャーが 64 ビット Intel の場合は、GRUB Legacy から GRUB 2 にアップグレードします。詳細は、『システム管理者ガイド』を参照してください。
  7. アップグレードしたホストに Samba がインストールされている場合は、testparm ユーティリティーを実行して、/etc/samba/smb.conf ファイルを確認します。ユーティリティーが設定エラーを報告した場合は、Samba を開始する前に修正する必要があります。
  8. 任意: Red Hat Upgrade Tool の実行時に --cleanup-post を指定しなかった場合は、孤立した RHEL 6 パッケージをクリーンアップします。

    # rpm -qa | grep .el6 &> /tmp/el6.txt
    # rpm -e $(cat /tmp/el6.txt) --nodeps
    警告

    RHEL 7 と互換性のあるカスタムパッケージを誤って削除しないように注意してください。

    警告

    孤立したパッケージを削除するために rpm を使用すると、一部の RHEL 7 パッケージで依存関係が壊れる可能性があります。これらの依存関係エラーを修正する方法は、『依存関係エラーの修正』を参照してください。

  9. 新しい RHEL 7 パッケージを最新バージョンに更新します。

    # yum update
    # reboot

検証手順

  1. システムが RHEL 7 の最新バージョンにアップグレードされていることを確認します。

    # cat /etc/redhat-release
    Red Hat Enterprise Linux Server release 7.9 (Maipo)
  2. システムが RHEL 7 に自動的に再サブスクリプションされていることを確認します。

    # yum repolist
    Loaded plugins: product-id, subscription-manager
    repo id                             repo name                                  status
    rhel-7-server-rpms/7Server/x86_64   Red Hat Enterprise Linux 7 Server (RPMs)   23,676

    リポジトリーリストに RHEL リポジトリーが含まれていない場合は、次のコマンドを実行してシステムのサブスクライブを解除し、システムを RHEL 7 システムとして再サブスクライブして、必要なリポジトリーを追加します。

    # subscription-manager remove --all
    # subscription-manager unregister
    # subscription-manager register
    # subscription-manager attach --pool=poolID
    # subscription-manager repos --enable=repoID

インプレースアップグレードの実行中または実行後に問題が発生した場合は、「トラブルシューティング」を参照してください。