2024 年 05 月 09 日
ELevate を使ったマイグレーションの注意点:インプレースでのメジャーバージョン移行方法
さて 前記事 では RHEL 派生ディストリビューションでのメジャーバージョン移行を可能にするプロジェクトである ELevate(Leapp) を用いた CentOS Linux 7 から AlmaLinux 8 へのマイグレーションに関して、必要な手順を一通り紹介しました。これからはマイグレーションを行う際の注意点やまだテスト中の Leapp の機能について紹介します。
Leapp を使ったマイグレーションに関する注意点
マイグレーションを行うにあたっては、いくつかの制約事項があります。
例えば筆者の確認したところ、LUKS( インストーラーでも設定できる標準的な暗号機能です ) によるストレージ暗号化がされているパーティションなどが検出されると、アップグレードは阻害されます。暗号化されているのが、ルートパーティションの場合はアンマウントすることもできないため、 leapp でマイグレーションすることはできません。
Risk Factor: high (inhibitor) Title: LUKS encrypted partition detected Summary: Upgrading system with encrypted partitions is not supported Key: 293787482fb5e0c0d3b482df0b2a3a6dd45dd301
この検査項目はソースコードで示すと この部分 にあります。
これは参考情報ですが、inhibitor を出す可能性がある検査項目はソースコードを検索する限り、49 箇所ありました。( 検査項目そのものはもっと多数存在します )
プロダクション環境で使用する場合は同じ環境を用意して、マイグレーションが成功すること、アップグレードしたあと、システムが期待する通りに動くかどうかをテストするなども重要です。逆にクリーンインストールしたあと一から構築しなおすのではなく、マイグレーションした場合はどのような不都合が起きるのか挙動を観察し、メジャーバージョン移行による違いを把握するという使い方もできるかもしれません。
また、再起動なしでのマイグレーションもできませんし、標準リポジトリに収録されていないパッケージは原則としてアップグレードできず、マイグレーションにあたって、パッケージがアンインストールされます。( データ側でリポジトリがマッピングされている場合はこの例外に当たります )
例えば RPM Fusion から ffmpeg をインストールしていたとします。RPM Fusion は第三者によって提供されているリポジトリであり、マッピングもされていないため、 leapp によるマイグレーションを行うと ffmpeg はアンインストールされます。広く使われているかどうかに関わらず、標準リポジトリ以外からインストールしているパッケージは別途検討が必要になるでしょう。
将来的な機能拡充
とはいえ、ELevate Project では従来非対応だった、EPEL(Extra Packages for Enterprise Linux) リポジトリのサポートを行う機能拡充なども進んでいます。
EPEL は標準リポジトリには含まれないものの、 Fedora Project の SIG(Special Interest Group) によってメンテナンスされており、標準リポジトリに収録されていない機能を補えるため、広く使われています。
2024 年の 3 月段階では ELevate Project がリリースしている安定版では EPEL はサポートされていませんが、Testing Guide で案内されている手順に従って elevate-testing.repo を有効化すると EPEL に含まれるパッケージのマイグレーションをテストすることができます。こういった機能拡充を進めていくには、ユーザーの皆さんが実際にテストをしてみて、うまく行くかどうか試す、うまく行かなかったときはそのケースを報告するなどの貢献 ( コントリビューション ) が頼りになります。貢献者が多くなればマイグレーションできる範囲がさらに広がることが期待できます。この記事を読んで気になった方は是非テスト版も試してみてほしいです。