【OLVMアップグレード】アップグレード方法の種類

みなさん、こんにちは！
今回は、OLVMのアップグレードについてご紹介していきます。

OLVMについての他の記事は下記からご覧いただけます。
そもそもOLVMって何？という方や、OLVMについて知りたい！という方は、こちらから読んでいただくのがおすすめです。
■基本シリーズ
第1回：[Oracle Linux KVMとOLVMについて](https://qiita.com/ReQ_HY/items/bc6cb0d909bfa0fcdae6)
第2回：[Oracle Linux KVM 要件と構築について](https://qiita.com/ReQ_HY/items/b7f8ea4fde65f4dc7a34)
第3回：[OLVM構築 - セルフホステッドエンジン方式](https://qiita.com/ReQ_HY/items/82ad79dc48c7253c53fa)
第4回：[OLVM構築 - スタンドアロン方式](https://qiita.com/ReQ_HY/items/ebba85d163a5dba62790)
第5回：[OLVM - Oracle Linux KVM追加・設定](https://qiita.com/ReQ_HY/items/94158cca701e0cae28be)
第6回：[OLVM - 仮想マシン作成](https://qiita.com/ReQ_HY/items/5a0c4d554c5e3b7d6514)

■番外シリーズ
第1回：[OLVMとen_US.UTF-8](https://qiita.com/ReQ_HY/items/651f208c6c4478bfba2b)
第2回：[NFSを使用したOLVMデプロイ検証記](https://qiita.com/ReQ_HY/items/6f778a7b1d779d8f4c53)
第3回：[OLVM4.5のリリース](https://qiita.com/ReQ_HY/items/8113f6c767e281d24989)

## OLVMのバージョンと対応OSについて
アップグレードするOLVMのバージョンによっては、KVMホストのOSアップグレードも併せて実施する必要があります。
そのため、まず始めに、OLVMのバージョンと、それに対応するKVMホストのOSバージョンについてご紹介します。

現在OLVMは、4.2 / 4.3 / 4.4 / 4.5 の4つのバージョンがリリースされています。
対応OSは、Oracle Linuxのみで、対応バージョンについては次の通りです。
| OLVMバージョン | KVMホストのOSバージョン |
|:-|:-|
| OLVM4.2  | Oracle Linux 7 (7.6以降)  |
|  OLVM4.3 | Oracle Linux 7 (7.6以降)  |
| OLVM4.4  | Oracle Linux 8 (8.5以降)  |
| OLVM4.5  |  Oracle Linux 8 (8.8以降) |

異なるバージョンのOSに対応するOLVMへアップグレードする際は、KVMホストのOSアップグレードも併せて必要です。
＜KVMホストのOSアップグレードが **必要なケース** の例＞
**OLVM4.2 or 4.3 → OLVM4.4 or 4.5** へアップグレードする場合

反対に、同じバージョンのOSに対応するOLVMの場合は、KVMホストのOSアップグレードは不要です。
＜KVMホストのOSアップグレードが **不要なケース** の例＞
**OLVM4.2 → OLVM4.3** へアップグレードする場合
**OLVM4.4 → OLVM4.5** へアップグレードする場合
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/3661b288-546a-4884-9c03-36a7e6e4b3e5.png)
＜OSアップグレードの要不要早見表＞
－：OSアップグレードが不要　　〇：OSアップグレードが必要

## アップグレード方法
今回は、OLVM4.3 / 4.4 / 4.5の3つを対象に、それぞれ「OLVM4.3からOLVM4.4」「OLVM4.4からOLVM4.5」へのアップグレードについてご紹介します。
### OLVM4.3からOLVM4.4
OLVM4.3からOLVM4.4へのアップグレードは、KVMホストのOSをOracle Linux 7 からOracle Linux 8 へアップグレードする作業が含まれるため、手順がやや複雑です。
OSのアップグレード方法としては、下記の2通りがサポートされており、それぞれの方法に合わせてOLVMのアップグレード手順が用意されています。
①クリーンインストール
②Leappを使用したインプレースアップグレード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/3f85a5d3-3623-453b-a786-e95e9933a036.png)
2つの方法については、この記事の後半で紹介します。
また、それぞれの手順の流れや注意点については、第2回と第3回で紹介する予定です。

### OLVM4.4からOLVM4.5
OLVM4.4からOLVM4.5へのアップグレードは、KVMホストのOSアップグレードが不要でパッケージの更新が主なため、比較的手軽に行うことができます。
なお、OLVM4.3からOLVM4.5へ直接アップグレードすることはできません。必ず先にOLVM4.4へアップグレードする必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/02af2f10-ba7d-44fe-a2f2-9243c3cd5dd4.png)
こちらの手順の流れや注意点については、第4回で紹介する予定です。

## クリーンインストールとLeapp(インプレースアップグレード)
前述の通り、OLVM4.3からOLVM4.4へのアップグレードは、KVMホストのOSアップグレード方法によって2通りの方法があります。
ここでは、それぞれの方法について比較も行いつつご紹介します。

### ①クリーンインストールによるアップグレード
クリーンインストールは、その名の通りKVMサーバのOSをISOイメージから新規にインストールします。
OS設定は、適宜手動で再度設定する必要がありますが、手順が新規構築に近く、比較的シンプルで容易な点が特長です。
また、アップグレード後のOLVM4.4用のストレージドメインを新規に用意する必要がある点に注意が必要です。

### ②Leapp(インプレースアップグレード)
Leappとは、Linuxをインプレースアップグレードするためのツールで、Oracleの公式Yumサーバでパッケージが提供されています。
OS設定を保ったままアップグレードできるため、NW設定が複雑で再設定に手間がかかる場合や、KVMホストの台数が多い場合などがユースケースとして挙げられます。クリーンインストールと異なり、アップグレード用に新規ストレージドメインを用意する必要がなく、既存環境のOLVM4.3用を引き続き使用できる点も特長のひとつです。
ただし、手順が多く複雑な点と、通常のOLVMの要件に加えてLeappを実行するための要件を満たす必要がある点に注意が必要です。
また、アップグレード前にシステムがアップグレード可能な状態かチェックするコマンドを実行する際、生成されたレポートに問題が出力されていた場合は随時対処する必要があり、環境によって手順に差異が生じることもあります。
サポート対象の環境や要件など、Leappの詳細情報については下記のOracle Linuxドキュメントをご確認ください。
[Upgrading Systems With Leapp - 1 About Leapp](https://docs.oracle.com/en/operating-systems/oracle-linux/8/leapp/leapp-AboutLeapp.html#about-leapp)

上記を踏まえて、両者をいくつかの観点で比較してみます。
より優れていると考えられる内容を<font color="red">**太字**</font>で記載しましたが、それぞれに強みがあることがお分かりいただけるかと思います。
| 比較項目 | OSクリーンインストール | Leapp(インプレースアップグレード) |
|:-|:-|:-|
| ストレージドメイン  | OLVM4.4用の新規ストレージドメインが必要  | <font color="red">**既存のOLVM4.3用を引き続き使用可能**</font>  |
|  OS設定 | 再度設定が必要  | <font color="red">**既存環境を引き継ぐ**</font>  |
| 選択可能なOSバージョン  | <font color="red">**メディアを用意すればどのバージョンにもアップグレード可能**</font>(OLVM対応バージョンに限る)  | Leappの機能の制限を受ける  |
| 手順の複雑さ  | <font color="red">**新規構築に近くシンプル**</font>、既存環境のOS設定を復元する手間がかかる  | 手順が多く、時間がかかる、アップグレード前チェックで問題が発見された場合は随時対処する必要がある  |
| 制限事項  | 環境がOLVM4.4の要件を満たしていること  | 環境がOLVM4.4の要件を満たしていること、環境がLeappの要件を満たしていること  |

両方のアップグレード方法で検証した感想としては、基本的にOSクリーンインストールがおすすめという印象です。
Leappと比べると、OSクリーンインストールは手順がシンプルで汎用性が高く、想定外が起きにくい安定感があり、実際にやるとなったときに、これらの特長はかなりありがたく感じました。

## おわりに
OLVMのアップグレードについて、どのような種類があるのかをご紹介しました。
一口に「OLVMのアップグレード」といっても、アップグレードするバージョンや選択する方法によって、手順や考慮すべき点に違いがあるため、目的や環境に合わせて適切な方法を選択することが大切です。

次回は「OSクリーンインストールによるOLVM4.3からOLVM4.4へのアップグレード」について、大まかな流れや注意点についてご紹介しますので、ぜひそちらも併せてご覧ください！