Red Hat Training
A Red Hat training course is available for RHEL 8
15.2. Boom で別のバージョンへのアップグレード
Boom に加え、以下の Red Hat Enterprise Linux コンポーネントが、このアップグレードプロセスで使用されます。
- 論理ボリュームマネージャー (LVM)
- GRUB 2 ブートローダー
-
Leapp
アップグレードツール
この手順では、boom
コマンドを使用して、Red Hat Enterprise Linux 7 から Red Hat Enterprise Linux 8 にアップグレードする方法を説明します。
前提条件
boom
パッケージをインストールしている。# yum install lvm2-python-boom
lvm2-python-boom
パッケージのバージョンがboom-0.9
以上であることを確認します (理想的にはboom-1.2
)。注記Red Hat Enterprise Linux 8 に
boom
パッケージをインストールする場合は、以下のコマンドを実行します。# yum install boom-boot
スナップショットには十分な領域がある。次のコマンドを使用して、ボリュームグループおよび論理ボリューム上の空き領域を検索します。
# vgs VG #PV #LV #SN Attr VSize VFree rhel 4 2 0 wz--n- 103.89g 29.99g # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root rhel -wi-ao--- 68.88g swap rhel -wi-ao--- 5.98g
ここで、rhel はシステムのボリュームグループに、root と swap はシステムの論理ボリュームです。
マウントした論理ボリュームをすべて検索しておく。
# mount | grep rhel /dev/mapper/rhel-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
注記複数のエントリーが存在し、追加のエントリーのマウントポイントに '/usr' または '/var' が含まれる場合は、追加の手順を実行せずに上記の手順は実行できません。ただし、この追加の手順は本書のユーザーストーリーの対象外となっています。
-
Leapp
パッケージがインストールされ、ソフトウェアリポジトリーが有効になっている。詳細は、アップグレード用の RHEL 7 システムの準備 セクションを参照して、アップグレードに必要なパッケージをダウンロードしてください。
手順
root 論理ボリュームのスナップショットを作成します。
root ファイルシステムがシンプロビジョニングを使用する場合は、シンスナップショットを作成します。
シンスナップショットを作成している間は、スナップショットのサイズを定義することができません。スナップショットは、シンプールから割り当てられます。
# lvcreate -s rhel/root -n root_snapshot_before_changes
ここでは、以下のようになります。
-
-s
は、スナップショットの作成に使用します。 -
RHEL/root
は、論理ボリュームにコピーされるファイルシステムです。 -
-n
root_snapshot_before_changes は、スナップショットの名前になります。
-
root ファイルシステムがシックプロビジョニングを使用する場合は、シックスナップショットを作成します。
シックスナップショットを作成する際は、アップグレード中にすべての変更を保持できるスナップショットサイズを定義します。
# lvcreate -s rhel/root -n root_snapshot_before_changes -L 25g
ここでは、以下のようになります。
-
-s
は、スナップショットの作成に使用します。 -
RHEL/root
は、コピーされるファイルシステムです。 -
-n
root_snapshot_before_changes は、スナップショットの名前になります。 -L
25g はスナップショットのサイズです。このスナップショットは、アップグレード中にすべての変更を保持できるサイズでなければなりません。重要スナップショットを作成した後には、追加のシステム変更は含まれていません。
-
プロファイルを作成します。
# boom profile create --from-host --uname-pattern el7
注記Red Hat Enterprise Linux 8 で
boom
プロファイルを作成する場合は、el8
を uname-pattern として使用します。元のブートイメージのバックアップコピーを使用して、元のシステムのスナップショットブートエントリーを作成します。
boom-1.2
以降の場合:# boom create --backup --title "Root LV snapshot before changes" --rootlv rhel/root_snapshot_before_changes
ここでは、以下のようになります。
-
--title
Root LV snapshot before changes は、ブートエントリーの名前で、システムの起動時に一覧に表示されます。 -
--rootlv
は、新しいブートエントリーに対応する root 論理ボリュームです。
-
boom-1.1
以前のバージョンの場合:# cp /boot/vmlinuz-$(uname r) /boot/vmlinuz$(uname -r).bak # cp /boot/initramfs-$(uname r).img /boot/initramfs$(uname -r).img.bak # boom create -title "Root LV snapshot before changes" --rootlv rhel/root_snapshot_before_changes --linux /boot/vmlinuz$(uname r).bak --initrd /boot/initramfs$(uname -r).img.bak
初めて
boom create
コマンドを実行すると、次のメッセージが表示されます。WARNING - Boom configuration not found in grub.cfg WARNING - Run 'grub2-mkconfig > /boot/grub2/grub.cfg' to enable
GRUB 2 で Boom を有効にするには、次のコマンドを実行します。
# grub2-mkconfig > /boot/grub2/grub.cfg
Leapp
ユーティリティーを使用して Red Hat Enterprise Linux 8 にアップグレードします。# leapp preupgrade
leapp preupgrade
コマンドのレポートで表示されたブロッカーを確認して対処します。アップグレード前のレポートで特定されたブロックの解決後に、
--reboot
オプションを指定してアップグレードコマンドを再実行します。# leapp upgrade --reboot
このコマンドは、
leapp
ユーティリティーで作成したアップグレード済みのブートエントリーで再起動し、Red Hat Enterprise Linux 8 へのインプレースアップグレードを実行します。この reboot 引数は、アップグレードプロセス後に自動システムの再起動を開始します。再起動時に GRUB 2 画面が表示されます。
注記Red Hat Enterprise Linux 8 システムを使用している場合は GRUB2 ブート画面の Snapshot サブメニューは利用できません。
検証手順
RHEL Upgrade initramfs エントリーを選択して、ENTER を押します。アップグレードが続行し、新しい Red Hat Enterprise Linux 8 RPM パッケージがインストールされます。アップグレードが完了すると、システムが自動的に再起動し、アップグレードして利用可能なシステムと古いバージョンで利用可能なシステムが GRUB 2 画面に表示されます。アップグレードされたシステムバージョンがデフォルトの選択です。
さらに、ブートエントリーの 変更前に作成されたルート LV スナップショット が存在するので、アップグレードする前のシステムの状態に即時にアクセスできます。
関連情報
-
man ページの
boom
- What is BOOM and how to install it?ナレッジベース記事。
- ナレッジベースの記事 How to create a BOOM boot entry
- ナレッジベースアーティクル RHEL 7 から RHEL 8 へのインプレースアップグレード時に Leapp ユーティリティーで必要なデータ