10.2. Boom Boot Manager を使用した別のバージョンへのアップグレード
Boom Boot Manager を使用して、Red Hat Enterprise Linux オペレーティングシステムのアップグレードを実行します。
前提条件
- Red Hat Enterprise Linux 8.8 または 8.10 が実行されている。
-
最新バージョンの
boom-boot
パッケージ (バージョン boom-boot-1.3-2.el8 以降) がインストールされている。 - スナップショットに使用できる十分な領域がある。元のインストールのサイズに基づいてサイズを推定します。マウントされているすべての論理ボリュームをリストします。
-
leapp
パッケージがインストールされている。 - ソフトウェアリポジトリーが有効になっている。
追加のファイルシステムとして、/usr または /var が含まれている場合があります。
手順
root 論理ボリュームのスナップショットを作成します。
root ファイルシステムがシンプロビジョニングを使用する場合は、シンスナップショットを作成します。
# lvcreate -s rhel/root -kn -n root_snapshot_before_changes Logical volume "root_snapshot_before_changes" created.
ここでは、以下のようになります。
-
-s
はスナップショットを作成します。 -
rhel/root
はファイルシステムを論理ボリュームにコピーします。 -
-kn
はブート時に LV を自動的にアクティブ化します。 -n root_snapshot_before_changes
はスナップショットの名前を示します。シンスナップショットを作成している間は、スナップショットのサイズを定義することができません。スナップショットは、シンプールから割り当てられます。
-
root ファイルシステムがシックプロビジョニングを使用する場合は、シックスナップショットを作成します。
# lvcreate -s rhel/root -n root_snapshot_before_changes -L 25g Rounding up size to full physical extent 25 GiB Logical volume "root_snapshot_before_changes" created.
このコマンドでは、以下が行われます。
-
-s
はスナップショットを作成します。 -
rhel/root
はファイルシステムを論理ボリュームにコピーします。 -
-n root_snapshot_before_changes
はスナップショットの名前を示します。 -L 25g
はスナップショットのサイズです。元のインストールのサイズに基づいてサイズを推定します。シックスナップショットを作成する際は、アップグレード中にすべての変更を保持できるスナップショットサイズを定義します。
重要作成されたスナップショットには、追加のシステム変更は含まれません。
-
プロファイルを作成します。
プロファイルを作成するには、
kexec-tools
またはkdumpctl
とboom
間のインタラクションを回避するために、アーキテクチャー別の回避策が必要です。アップグレード中に、更新されたkexec-tools
パッケージが、更新されたcrashkernel
設定によってすべてのブートエントリーの変更を試行します。これにより、エントリーで使用されるブートイメージが削除されます。これは、RHEL 9 のcrashkernel
設定を RHEL 8 プロファイルのオプションに追加することで回避できます。Intel 64 または AMD64 (x86_64)、または IBM Z (s390x) アーキテクチャーの場合:
# boom profile create --from-host --os-options "root=%{root_device} ro %{root_opts} rhgb quiet crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M" Created profile with os_id 43747d3: OS ID: "43747d3888b663d2bc88efd35d0813159a84d291", Name: "Red Hat Enterprise Linux", Short name: "rhel", Version: "8.9 (Ootpa)", Version ID: "8.9", Kernel pattern: "/vmlinuz-%{version}", Initramfs pattern: "/initramfs-%{version}.img", Root options (LVM2): "rd.lvm.lv=%{lvm_root_lv}", Root options (BTRFS): "rootflags=%{btrfs_subvolume}", Options: "root=%{root_device} ro %{root_opts} rhgb quiet crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M", Title: "%{os_name} %{os_version_id} (%{version})", Optional keys: "", UTS release pattern: "el8"
64 ビット ARM (AArch64) アーキテクチャーの場合:
# boom profile create --from-host --os-options "root=%{root_device} ro %{root_opts} rhgb quiet crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M"
IBM POWER リトルエンディアン (ppc64le) アーキテクチャーの場合:
# boom profile create --from-host --os-options "root=%{root_device} ro %{root_opts} rhgb quiet crashkernel=2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G" --optional-keys "grub_users grub_arg grub_class id"
ppc64le では、
grub2-mkconfig
コマンドによってステップ 10.2.3 で正しいブートエントリーを生成するために、--optional-keys
引数が必要です。詳細は、RHEL-36180 を参照してください。
元のブートイメージのバックアップコピーを使用して、元のシステムのスナップショットブートエントリーを作成します。
# boom create --backup --title "Root LV snapshot before changes" --rootlv rhel/root_snapshot_before_changes WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom' Created entry with boot_id c919f89: title Root LV snapshot before changes machine-id b1dcec73886b45218892b1a7bbfa0dee version 4.18.0-513.24.1.el8_9.x86_64 linux /vmlinuz-4.18.0-513.24.1.el8_9.x86_64.boom0 initrd /initramfs-4.18.0-513.24.1.el8_9.x86_64.img.boom0 options root=/dev/rhel/root_snapshot_before_changes ro rd.lvm.lv=rhel/root_snapshot_before_changes rhgb quiet crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M
ここでは、以下のようになります。
-
--title "Root LV snapshot before changes"
は、システム起動時にブートエントリーリストに表示されるブートエントリーの名前です。 --rootlv
は、新しいブートエントリーに対応する root 論理ボリュームです。前の手順を完了すると、アップグレード前の元のシステムにアクセスできるブートエントリーが作成されます。
"WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'" は無視してください。詳細は、RHEL-35983 を参照してください。
ppc64le アーキテクチャーのシステムでは、ブートエントリーを更新します。
# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Generating boot entries from BLS files... done
-
Leapp ユーティリティーを使用して Red Hat Enterprise Linux 9 にアップグレードします。
# leapp upgrade ==> Processing phase `configuration_phase` ====> * ipu_workflow_config IPU workflow config actor ==> Processing phase `FactsCollection` ... ============================================================ REPORT OVERVIEW ============================================================ Upgrade has been inhibited due to the following problems: 1. Firewalld Configuration AllowZoneDrifting Is Unsupported 2. Possible problems with remote login using root account HIGH and MEDIUM severity reports: 1. Remote root logins globally allowed using password 2. GRUB core will be automatically updated during the upgrade Reports summary: Errors: 0 Inhibitors: 2 HIGH severity reports: 2 MEDIUM severity reports: 0 LOW severity reports: 1 INFO severity reports: 3 Before continuing consult the full report: A report has been generated at /var/log/leapp/leapp-report.json A report has been generated at /var/log/leapp/leapp-report.txt ============================================================ END OF REPORT OVERVIEW ============================================================
leapp upgrade
コマンドのレポートで表示されたブロッカーを確認して解決します。レポートの詳細な説明については、アップグレード前のレポートの確認 参照してください。アップグレードブートエントリーで再起動します。
# leapp upgrade --reboot ==> Processing phase `configuration_phase` ====> * ipu_workflow_config IPU workflow config actor ==> Processing phase `FactsCollection` ...
GRUB ブート画面から Red Hat Enterprise Linux Upgrade Initramfs エントリーを選択します。
注記GRUB ブート画面の Snapshots サブメニューは、Red Hat Enterprise Linux 9 では使用できません。
検証
- アップグレードが完了すると、システムが自動的に再起動します。GRUB 画面に、使用可能なオペレーティングシステムのアップグレードされたバージョン (Red Hat Enterprise Linux 9) と以前のバージョンが表示されます。アップグレードされたシステムバージョンがデフォルトの選択です。
関連情報
-
システム上の
boom(1)
man ページ - What is BOOM and how to install it?(Red Hat ナレッジベース)
- How to create a BOOM boot entry (Red Hat ナレッジベース)