オンプレ ESXi から GCP へ RHEL VM をインポートする

GCP

今回は ESXi で作成した VM を GCP へ移行する手順をメモしておきます。移行対象の VM には Red Hat Enterprise Linux を使います。

スポンサーリンク

大まかな流れ

  1. ESXi で RHEL VM を作成
  2. RHEL VM をセットアップ
  3. GCP でアップロード用のリソースを作成
  4. GCP へ RHEL VM ディスクをアップロード
  5. GCP で VM ディスクをイメージ化

事前準備

1. ESXi で RHEL VM を作成

まずは ESXi で移行元の VM を準備します。Red Hat 開発者用サブスクリプションであれば RHEL の ISO イメージをサイトからダウンロードできるので、利用するバージョンの OS を準備しておきます。

GCP では無料枠の中に 30 GB の標準永続ディスクが含まれているので、イメージも 30 GB に変更しています。

ESXi で作成したあとは VM を起動します。

2. RHEL VM をセットアップ

起動した RHEL をセットアップします。基本的にはウィザードに従うのでそこまで迷いませんが、次の点だけ注意します。

  • ネットワーク インタフェースは DHCP 構成にする
  • ソフトウェア構成は 「Minimal Install」にする

Boot ISO ではセットアップ時に Red Hat サブスクリプションの登録が必須になり、Binary DVD の場合はセットアップ後にあらためて登録できる、ということになっていると思います。

作成したらホスト名の変更や必要なツールをインストールしておきます。

vmname='VM 名'
hostnamectl set-hostname $vmname

コマンドでの Red Hat サブスクリプション有効化手順

インストーラーでサブスクリプションを登録しなかった場合は、SSH などで接続して次のコマンドで登録します。実行すると Red Hat のユーザー名とパスワードを要求されるので入力します。

subscription-manager register

正常に登録できると次のようになります。

# subscription-manager register
Registering to: subscription.rhsm.redhat.com:443/subscription
Username: <ユーザー名>
Password:
The system has been registered with ID: ********-****-****-****-************
The registered system name is: <ホスト名>

登録が完了したら、アクティベートに必要な情報を取得します。次のコマンドでサブスクリプションの詳細情報を取得します。

subscription-manager list --available

表示されたものの中から「Pool ID」の値を確認します。

# subscription-manager list --available
+-------------------------------------------+
    Available Subscriptions
+-------------------------------------------+
   (---sniped---)
Subscription Name:   Red Hat Developer Subscription for Individuals
   (---sniped---)
Contract:
Pool ID:             ***********************************
Provides Management: No
   (---sniped---)

確認した値をもとに VM をアクティベートします。

subscription-manager subscribe --pool=<Pool ID の値>

次のコマンドでサブスクリプションの登録状態を確認し、Subscribed となっていることを確認します。

subscription-manager list
# subscription-manager list
+-------------------------------------------+
    Installed Product Status
+-------------------------------------------+
Product Name:   Red Hat Enterprise Linux for x86_64
Product ID:     479
Version:        8.5
Arch:           x86_64
Status:         Subscribed
Status Details:
Starts:         06/08/2021
Ends:           06/08/2022

正常にアクティベートと準備が終わったら VM を停止し、ESXi で VMDK ファイルをエクスポートします。

3. GCP でアップロード用のリソースを作成

GCP にディスク イメージをアップロードするためのリソースを作成します。次のコマンドで GCP にログインします。

gcloud auth login

次のコマンドで Google Cloud Storage (GCS) にバケットを新規作成します。

gsutil mb gs://<バケット名>

4. GCP へ RHEL VM ディスクをアップロード

次のコマンドで GCS へ VM ディスク ファイルをアップロードします。

gsutil cp <VMDK ファイルのパス> gs://<バケット名>

5. GCP で VM ディスクをイメージ化

アップロードが完了したら、次のコマンドでイメージ化を実行します。Red Hat 開発者用サブスクリプションには Cloud Access の権利がついているので BYOL で利用できるよう、--os=rhel-8-byol オプションを付与しています。BYOL にする場合は事前にイメージ側でサブスクリプション

デフォルトの VPC ネットワークが削除されていると失敗するので、その場合は代替の VPC ネットワークを作成する必要があります。

gcloud compute images import <イメージ リソース名> --source-file=gs://<バケット名>/<VMDK ファイル名> --guest-environment --os=rhel-8-byol

実行にはほぼクリーン インストール状態でも 40 分程度かかりました。

イメージ化が完了すると、イメージの一覧に表示されるので、このイメージをもとに VM を作成します。

今回は以上です。

コメント

タイトルとURLをコピーしました