RHEL 派生 Linux ディストリビューションから RHEL へのサポート対象外の変換を実行する方法
Table of Contents
このドキュメントでは、別の Linux ディストリビューションから Red Hat Enterprise Linux (RHEL) へのサポート対象外のオペレーティングシステム変換を実行する方法について説明します。
変換は、GitHub で入手できる Convert2RHEL
ユーティリティーを使用して実行します。これらのシナリオでは、変換は Red Hat のサポート対象外です。
CentOS Linux および Oracle Linux から RHEL 7 および 8 への変換は、Red Hat によってサポートされています。詳細は、Converting from an RPM-based Linux distribution to RHEL を参照してください。Convert2RHEL Support Policy も併せて参照してください。
重要:
Red Hat では、変換プロセスをスムーズに行えるようにするために、Red Hat コンサルティングサービス のサポートを利用することを推奨しています。
変換に成功したシステムの一部としてインストールされる Red Hat パッケージは、自動的に Red Hat サポート対象となります。変換プロセスで変更されないサードパーティーパッケージには、Red Hat サポートが提供されない場合があります。サードパーティーソフトウェアのサポートに関するRed Hat ポリシー を参照してください。
Convert2RHEL
ユーティリティーで問題が発生した場合は、GitHub で問題 を報告してください。
OS 変換の仕組み
実行中のシステムで自動変換プロセスが実行されます。Convert2RHEL
ユーティリティーにより、元の Linux ディストリビューションのすべての RPM パッケージを RHEL バージョンに置き換えられます。このプロセスの最後には、RHEL カーネルを起動するためにシステムを再起動する必要があります。
注記:
元のディストリビューションでのみ使用可能で、RHEL リポジトリーに対応するパッケージがないパッケージ、または元の Linux ディストリビューションにも RHEL にも由来しないサードパーティーパッケージは、変換の影響を受けません。
サポート対象の変換とサポート対象外の変換の違い
Red Hat では、いくつかの異なる RHEL 派生オペレーティングシステムから RHEL への変換が可能です。ただし、サポート対象外の変換は、Red Hat によってテストされていないため、お客様の責任のもとで実行していただく必要があります。サポート対象の変換は、リリース前に Red Hat によって十分にテストされています。
サポート対象またはサポート対象外の変換として、さまざまな変換パスを利用できます。たとえば、CentOS Linux 6 から RHEL 6 への変換はサポート対象外ですが、CentOS Linux 7 から RHEL 7 への変換はサポート対象です。サポート対象外の変換パスの完全なリストについては、以下の表をご覧ください。サポート対象の変換パスの完全なリストについては、Converting from an RPM-based Linux distribution to RHEL ガイドの Supported conversion paths を参照してください。
サポート対象外の変換を実行する場合は、このナレッジベースの記事で、システムを準備し、変換を実行する方法を参照してください。サポート対象の変換を実行する場合は、Converting from an RPM-based distribution to RHEL ガイドを使用する必要があります。サポート対象の変換の手順を使用してサポート対象外の変換を実行した場合、またはその逆を行った場合、変換プロセス中に問題が発生する可能性があります。
利用可能なサポート対象外の変換パス
現在、以下の表にリストされている Linux ディストリビューション、アーキテクチャー、およびバージョンから、RHEL の対応するメジャーバージョンの最新のマイナーバージョンへのサポート対象外のシステム変換を実行することができます。
ソース OS | ターゲット OS | アーキテクチャー |
---|---|---|
CentOS Linux 6 | RHEL 6 | 64 ビットアーキテクチャー |
Oracle Linux 6 | RHEL 6 | 64 ビットアーキテクチャー |
Scientific Linux 7 | RHEL 7 | 64 ビットアーキテクチャー |
Alma Linux 8 | RHEL 8 | 64 ビットアーキテクチャー |
Rocky Linux 8 | RHEL 8 | 64 ビットアーキテクチャー |
重要:
Convert2RHEL ユーティリティーバージョン 1.1 は、RHEL 6 への変換を可能にする最後のリリースです。
上記のサポート対象外の変換パスに加えて、CentOS Linux および Oracle Linux 7 および 8 から RHEL 7 および 8 へのサポート対象の変換を実行することもできます。サポート対象の変換については、Converting from an RPM-based Linux distribution to RHEL を参照してください。
RHEL 6 は、ライフサイクル のメンテナンスサポート 2 フェーズにあります。変換後に RHEL 7 にアップグレード できない、または RHEL 8 にアップグレード できない場合で、サポート終了日以降も RHEL 6 のメンテナンスを継続する必要がある場合は、延長ライフサイクルサポートアドオン (ELS) の購入が推奨されます。
Scientific Linux から RHEL 8 に直接変換することはできません。代わりに、Scientific Linux から RHEL 7 に変換してから、RHEL 8 へのインプレースアップグレードを実行できます。インプレースアップグレードについては、Upgrading from RHEL 7 to RHEL 8 を参照してください。
重要な影響 (IMPORTANT IMPACT)
特定のシステム設定は、現時点では変換がサポートされていません。詳細は、既知の問題 を参照してください。
前提条件
- システムをバックアップし、システムを復元できることを確認します。
- 標準カーネルが起動したカーネルであることを確認します。
- Oracle Linux: Red Hat Compatible Kernel (RHCK)
- CentOS Linux: 標準の CentOS Linux カーネル
- Scientific Linux: 標準の Scientific Linux カーネル
起動するカーネルが標準カーネルではない場合 (Oracle Linux Unbreakable Enterprise Kernel (UEK) や CentOS リアルタイムカーネルなど) は、デフォルトカーネルを標準カーネルに変更してシステムを再起動します。詳細は、Making Persistent Changes to a GRUB 2 Menu Using the grubby Tool を参照してください。
-
Convert2RHEL ユーティリティーをインストールします。
-
Red Hat GPG キーをダウンロードします。
# curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://www.redhat.com/security/data/fd431d51.txt
-
Convert2RHEL リポジトリーを含む https://cdn.redhat.com サーバーの SSL 証明書をダウンロードします。
# curl --create-dirs -o /etc/rhsm/ca/redhat-uep.pem https://ftp.redhat.com/redhat/convert2rhel/redhat-uep.pem
-
Convert2RHEL リポジトリーファイルをインストールします。
# curl -o /etc/yum.repos.d/convert2rhel.repo https://ftp.redhat.com/redhat/convert2rhel/<version_number>/convert2rhel.repo
version_number は、OS の適切なメジャーバージョン (6 など) に置き換えます。
注記:
変換は、最新バージョンの Convert2RHEL リポジトリーファイルを使用して実行する必要があります。以前のバージョンのリポジトリーファイルがインストールされている場合は、以前のバージョンを削除して、最新バージョンをインストールしてください。-
Convert2RHEL
ユーティリティーをインストールします。# yum -y install convert2rhel
注記:
Convert2RHEL のすべての依存関係は、ソース OS の標準リポジトリーで利用できます。ただし、サポート終了を迎えた CentOS Linux 6 では利用できません。CentOS Linux 6 リポジトリーは Vault にアーカイブされます。CentOS Linux 6 リポジトリーを Vault に再設定して、Convert2RHEL の依存関係を利用できるようにしてください。 -
-
次のいずれかの方法で RHEL パッケージにアクセスできることを確認します。
- Red Hat Subscription Manager (RHSM) を介した Red Hat コンテンツ配信ネットワーク (CDN)。RHSM にアクセスするには、Red Hat アカウントと適切な RHEL サブスクリプションが必要です。OS は、適切なメジャーバージョンに対応する RHEL の最新のマイナーバージョンに変換されることに注意してください。
- フルサポートまたはメンテナンスサポートがあるバージョンの Red Hat Satellite。詳細は、Red Hat Satellite Product Life Cycle を参照してください。
注記
Satellite サーバーが以下の条件を満たすことを確認します。- Satellite に、RHEL リポジトリーをインポートしたサブスクリプションマニフェストがある。詳細は、Red Hat Satellite の特定のバージョン (バージョン 6.8 など) を選択し、Content Management Guide の Managing Subscriptions の章を参照してください。
- 以下のリポジトリーが有効になっていて、最新の更新と同期され、Satellite で公開されている。OS の適切なメジャーバージョンに対して、少なくとも以下のリポジトリーを有効にします。
- Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server
- Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server
- Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8.7
- Red Hat Enterprise Linux 8 for x86_64 - BaseOS RPMs 8.7
- Satellite でアクティベーションキーを作成し、上記のリポジトリーをキーに割り当てている。詳細は、Managing Activation Keys を参照してください。
/etc/yum.repos.d/
ディレクトリーに設定され、RHEL ISO、FTP、または HTTP などを参照するカスタムリポジトリー。ローカルネットワークまたはポータブルメディアにしかアクセスできないため、RHSM を介して Red Hat CDN にアクセスできないシステムには、カスタムリポジトリーを使用します。OS は、これらのリポジトリーが提供する RHEL のバージョンに変換されることに注意してください。ダウングレードと変換の失敗を防ぐためにも、RHEL マイナーバージョンが元の OS マイナーバージョンと同じか、またはそれ以降のバージョンであることを確認します。詳細は、Creating a Local Repository and Sharing With Disconnected/Offline/Air-gapped Systems を参照してください。
-
Red Hat Satellite サーバーで RHEL パッケージにアクセスする場合は、コンシューマー RPM を /usr/share/convert2rhel/subscription-manager/ ディレクトリーにダウンロードします。
# curl --insecure --output /usr/share/convert2rhel/subscription-manager/katello-ca-consumer-latest.noarch.rpm https://<satellite.example.com>/pub/katello-ca-consumer-latest.noarch.rpm
satellite.example.com を Satellite サーバーのホスト名に置き換えます。
-
ウイルス対策ソフトウェアを一時的に無効にして、変換が失敗しないようにします。
-
元の OS から、システムからアクセス可能なリポジトリーで利用可能な最新バージョンにパッケージを更新し、システムを再起動します。
# yum update -y # reboot
この手順を完了しないと、ロールバック 機能が正しく機能しなくなります。また、任意のフェーズで変換を終了すると、システムが機能しなくなる可能性があります。
システムの変換
Red Hat CDN、または RHSM 経由で Satellite を使用して RHEL パッケージにアクセスする場合に、移行時のシステムの登録、サブスクライブ方法には 2 種類あります。
-
組織 ID とアクティベーションキーを指定する方法。この方法は、多くのシステムを移行する場合や、スクリプトを使用して移行プロセスを自動化する場合に推奨されます。アクティベーションキーを作成するには、組織の管理者である必要があります。RHSM で Satellite を使用して RHEL パッケージにアクセスする場合は、この方法を使用する必要があります。詳細は、Satellite ドキュメントの Managing activation keys および RHSM ドキュメントの Understanding activation keys を参照してください。
-
ユーザー名、パスワード、およびプール ID を指定する方法。RHSM から Red Hat CDN を使用して RHEL パッケージにアクセスする場合は、この方法を使用できます。
-
Convert2RHEL
ユーティリティーを起動します。
Convert2RHEL は RHSM またはカスタムリポジトリーのいずれかで使用できます。使用可能なすべてのオプションを表示するには、--help
(-h
) オプションを使用します。# convert2rhel -h
-
組織 ID とアクティベーションキーを使用して RHSM で変換するには、次の手順を実行します。Satellite を使用して RHEL パッケージにアクセスする場合は、この方法を使用する必要があります。
-
アクティベーションキーを含む設定ファイルを作成し、ファイルを
.ini
ファイル形式で保存します。[subscription_manager] activation_key = <activation_key>
activation_key は、Red Hat CDN を使用している場合は Red Hat カスタマーポータルからのアクティベーションキー、Red Hat Satellite を使用している場合は Satellite Web UI からのアクティベーションキーに置き換えます。
-
Convert2RHEL
ユーティリティーを起動します。# convert2rhel --org <organization_ID> --config-file <config_file_name>
organization_ID は、Red Hat CDN を使用している場合は Red Hat カスタマーポータル からの組織 ID、Red Hat Satellite を使用している場合は Satellite Web UI からの組織 ID に置き換えます。config_file_name を、作成した設定ファイルの名前 (
convert2rhel.ini
など) に置き換えます。
注記:
Satellite を使用して RHEL パッケージにアクセスしていて、システムがインターネットにアクセスできない場合は、--keep-rhsm
オプションを追加します。convert2rhel
コマンドを実行する際には、subscription-manager
およびkatello-ca-consumer
パッケージがすでにインストールされている必要があり、組織 ID とアクティベーションキーを提供する必要があることに注意してください。 -
-
ユーザー名、パスワード、およびプール ID を使用して RHSM で変換するには、次の手順を実行します。
-
パスワードを含む設定ファイルを作成し、ファイルを
.ini
ファイル形式で保存します。[subscription_manager] password = <password>
password は、Red Hat アカウントのパスワード認証情報に置き換えます。
-
Convert2RHEL
ユーティリティーを起動します。# convert2rhel --username <username> --config-file <config_file_name> --pool <pool_id>
username は、Red Hat アカウントのユーザー名認証情報に置き換えます。config_file_name を、作成した設定ファイルの名前 (
convert2rhel.ini
など) に置き換えます。pool_id は、システムに割り当てるサブスクリプションのプール ID に置き換えます。プール ID がわからない場合は、--pool
オプションを省略して、アカウントで利用できるサブスクリプションの一覧を生成します。
-
-
カスタムリポジトリーを使用して変換するには、
Convert2RHEL
ユーティリティーを起動します。# convert2rhel --no-rhsm --enablerepo <RHEL_RepoID1> --enablerepo <RHEL_RepoID2>
*RHEL_RepoID * を、
/etc/yum.repos.d/
ディレクトリーで設定したカスタムリポジトリー (例:rhel-7-server-rpms
またはrhel-8-baseos
およびrhel-8-appstream
) に置き換えます。
-
-
Convert2RHEL
が元のディストリビューションのパッケージを RHEL パッケージに置き換える前に、以下の警告メッセージが表示されます。The tool allows rollback of any action until this point. By continuing all further changes on the system will need to be reverted manually by the user, if necessary.
この時点で
Convert2RHEL
によって加えられた変更は自動的に元に戻されます。変換プロセスを続行することを確定してください。 -
Convert2RHEL
により、RHEL パッケージがインストールされるまで待ちます。 -
推奨手順: 変換にカスタムリポジトリーを使用している場合は、RHEL システムをサブスクライブして更新します。
- subscription-manager コマンドラインユーティリティーをインストールします。
# yum install subscription-manager -y
- システムを登録してサブスクライブします。詳細は、How to register and subscribe a system to the Red Hat Customer Portal using Red Hat Subscription-Manager を参照してください。
- システムを更新します。
# yum update -y
-
この時点で、システムは RAM に読み込まれている元のディストリビューションカーネルで稼働します。システムを再起動して、新たにインストールした RHEL カーネルで起動します。
# reboot
-
変更されていない元の OS からサードパーティーパッケージを削除します (通常は、RHEL 対応がないパッケージ)。このようなパッケージの一覧を表示するには、以下を実行します。
# yum list extras --disablerepo="*" --enablerepo=<RHEL_RepoID>
RHEL_RepoID は、リポジトリー ID に置き換えます。
-
必要な場合は、変換後にシステムサービスを再構成します。
トラブルシューティング
ログ
Convert2RHEL
ユーティリティーは、convert2rhel.log
ファイルを /var/log/convert2rhel/
ディレクトリーに保存します。その内容は、標準出力に出力される内容と同じです。
--no-rpm-va
オプションを使用しない限り、自動的に実行される rpm -Va
コマンドの出力は、デバッグ目的で /var/log/convert2rhel/rpm_va.log
ファイルに保存されます。
ロールバック
Convert2RHEL
ユーティリティーは、制限されたロールバック機能を提供します。ユーザーが変換をキャンセルした場合や、変換が失敗した場合、ユーティリティーは、以下の条件下で変換プロセス中に加えられた変更のロールバックを実行します。
-
元に戻すことができるのは、
Convert2RHEL
が元のディストリビューションのパッケージを RHEL パッケージに置き換えるまで実行された変更のみです。この時間は警告メッセージで表示されます。The tool allows rollback of any action until this point. By continuing all further changes on the system will need to be reverted manually by the user, if necessary.
これには、プロセスを続行すべきかどうかの質問が続きます。
-
元のディストリビューションのパッケージを提供するリポジトリーにアクセスする必要があります。特に ベース リポジトリーの場合、
Convert2RHEL
はツールの実行が変換の初期段階で停止しても、システムを元の状態に復元できなくなります。これは、Convert2RHEL
が変換プロセス中に特定のパッケージを削除し、ロールバックの場合に元のリポジトリーからこれらを事前にダウンロードする必要があるためです。 -
ロールバックは、元の OS のすべてのパッケージが、システムからアクセス可能なリポジトリーで利用できる最新バージョンに更新されているシステムでのみ実行可能です。したがって、変換プロセスを開始する前に
yum update
コマンドを使用します。
注記: -y
オプションを指定すると、自動ロールバックが不可能であるときを示す質問がスキップされます。
警告: Convert2RHEL
がパッケージ置き換えフェーズを開始した後に変換プロセスがキャンセルされたり失敗したりすると、システムは機能しなくなる可能性があります。そのような場合は、手動の修正が必要になります。サポートが必要な場合は、Red Hat コンサルティングサービス までお問い合わせください。
既知の問題
- UEFI ベースのシステムは RHEL 6 に変換できません。(BZ#1898314)
- ファイルが
/mnt/
ディレクトリーに直接マウントされている、または/sys/
ディレクトリーが読み取り専用としてマウントされている場合は、変換が停止します。 - 現在、Red Hat またはサードパーティーの高可用性クラスターソフトウェアを使用するシステムは、RHEL への変換に対応していません。Red Hat は、新規インストールした RHEL システムに移行してこのような環境の整合性を確保することを推奨します。
- RHEL カーネルモジュールに存在しないカーネルモジュールを使用するシステムは、現時点では移行に対応していません。対応していないカーネルモジュールには以下が含まれます。
- 特殊なアプリケーション、GPU、ネットワークドライバー、またはストレージドライバー用のカーネルモジュール
- DKMS によってビルドされたカスタムコンパイルカーネルモジュール
Red Hat は、外部カーネルモジュールを無効化またはアンインストールしてから移行し、移行が済んでからこのカーネルモジュールを有効化または再インストールすることを推奨します。
-
HTTP プロキシーサーバーを使用してインターネットに接続するシステムは、RHSM を介して Red Hat CDN または Satellite を使用して変換できません。この問題を回避するには、yum の HTTP プロキシーを有効にし、RHSM の HTTP プロキシーを設定します。
- How to enable Proxy settings for Yum Command on RHEL? で説明されているように、HTTP プロキシーを使用するように yum を設定します。
- Oracle Linux 変換の場合は、
https://vault.centos.org/6.10/contrib/$basearch/
を参照するリポジトリーを定義して有効にします。 - subscription-manager パッケージをインストールします。
- How to configure HTTP Proxy for Red Hat Subscription Management の説明に従い、RHSM の HTTP プロキシーを設定します。
-
変換中に設定ファイルが削除されないようにします。
chattr +i /etc/rhsm/rhsm.conf
-
RHEL への変換を実行します。
(BZ#1965487)
サポートの利用
重要:
CentOS Linux 6 および Oracle Linux 6 から RHEL 6 への変換、Scientific Linux 7 から RHEL 7 への変換、Alma Linux 8 および Rocky Linux 8 から RHEL 8 への変換は、現在 Red Hat によってサポートされていません。CentOS Linux 7、8 および Oracle Linux 7、8 から RHEL 7、8 への変換は、Red Hat によってサポートされています。サポート対象の CentOS Linux および Oracle Linux の変換に関する詳細は、Converting from an RPM-based Linux distribution to RHEL を参照してください。
Convert2RHEL
のバグを報告するには、GitHub で問題 を報告してください。
関連情報
Converting from an RPM-based Linux distribution to RHEL
Red Hat Enterprise Linux technology capabilities and limits
Red Hat Enterprise Linux documentation
Migration planning guide - migration to RHEL 6
Migration planning guide - migration to RHEL 7
Upgrading from RHEL 6 to RHEL 7
Considerations in adopting RHEL 8
Upgrading from RHEL 7 to RHEL 8
How to create a local mirror of the latest update for Red Hat Enterprise Linux 5, 6, 7, 8 without using Satellite server?
Blog post: Converting from CentOS to RHEL with Convert2RHEL and Satellite
Comments