クラシック・インフラストラクチャーからの仮想サーバーのマイグレーション
クラシック・インフラストラクチャーから仮想サーバー・インスタンスをマイグレーションして、 IBM Cloud VPC のインフラストラクチャー要件を満たすことができます。 その後、インスタンスからイメージ・テンプレートを作成し、VPC環境にデプロイすることができます。
Classicインフラストラクチャからの仮想サーバーインスタンスの移行は、 LinuxONE ( s390x プロセッサーアーキテクチャ)ではサポートされていません。
開始前に
始める前に、以下の前提条件が満たされていることを確認してください。
- IBM Cloud® Object Storage のインスタンスが利用可能でなければならない。
- イメージサービス for VPC が IBM Cloud Object Storage のイメージにアクセスできるように、認証を作成する必要があります。 詳しくは、イメージをインポートするための IBM Cloud Object Storage へのアクセス権限の付与を参照してください。
クラシック・インフラストラクチャーからの仮想サーバーのマイグレーション
Classic インフラストラクチャの仮想サーバーに関連付けられているイメージテンプレートを IBM Cloud VPC インフラストラクチャに移行するには、以下の手順を実行します。 カスタム・イメージが IBM Cloud VPC で使用可能な場合、それを使用して仮想サーバーを作成できます。
以下のリストは移行手順の概要である。
- IBM Cloud VPC インフラストラクチャーにマイグレーションする仮想サーバーのイメージ・テンプレートを作成します。 以下のマイグレーション・ステップに進む前に、イメージ・テンプレートを作成する必要があります。
- イメージ・テンプレートから、バックアップ・インスタンスとして使用する仮想サーバーをプロビジョンします。
- バックアップ仮想サーバーをカスタマイズして、 IBM Cloud VPCにデプロイするための要件を満たすようにします。
- 変更した仮想サーバーのイメージテンプレートを作成します。
- イメージ・テンプレートを IBM Cloud Object Storage にエクスポートします。
- IBM Cloud VPC インフラストラクチャーへカスタム・イメージをインポートします。
- カスタムイメージを使用して、 IBM Cloud VPC に仮想サーバーを作成します。
シェルスクリプトを使用した仮想サーバーの移行についての詳細は、vpc-tutorials を参照してください。 Classic から IBM Cloud VPC への移行の詳細については、VPC+ Cloud Migration を参照してください。
ステップ1 - 移行する仮想サーバーの特定とイメージテンプレートの作成
IBM Cloud VPC インフラストラクチャーにマイグレーションするイメージ・テンプレートは、クラシック・インフラストラクチャー内の仮想サーバーから作成できます。 イメージ・テンプレートは、既存の仮想サーバーのイメージを取り込みます。 イメージ・テンプレートに関する以下の情報について理解しておいてください。
- IBM Cloud VPC インフラストラクチャにインポートできるのは、単一のプライマリブートボリューム(またはディスク)と関連ファイルを持つイメージテンプレートのみです。
- イメージ・テンプレートには、1 次ブート・ディスク上のオペレーティング・システムや、インストールしたアイテム (PHP や Python など) が含まれています。 イメージ・テンプレートは10GBから250GBのデータ量に対応する。 10GB未満の画像は10GBに切り上げられます。
- IBM Cloud VPC でインポートしたカスタムイメージを使用して仮想サーバーを作成すると、新しいプロ ファイルを選択し、SSH キーを割り当て、ユーザーデータを指定し、ネットワークインターフェ イスを設定することができます。
イメージテンプレートをカスタムイメージとして IBM Cloud VPC にインポートする場合、イメージテンプレートのセカンダリディスクとその関連ファイルはサポートされません。
以下の手順を実行して、移行する仮想サーバーのイメージテンプレートを作成します。
- IBM Cloud コンソールのダッシュボードから、 ナビゲーション メニューの
> インフラストラクチャー > クラシック インフラストラクチャー > デバイス > デバイス リストをクリックして、イメージ テンプレートを作成します。
- 使用する仮想サーバーをクリックします。
- **「アクション」メニューから「イメージ・テンプレートの作成」**を選択します。 わかりやすい名前を付けてください。 詳しくは、イメージ・テンプレートの作成を参照してください。
ステップ2:イメージテンプレートを探し、仮想サーバーをプロビジョニングする
作成したイメージ・テンプレートから、仮想サーバーをプロビジョンします。 このインスタンスはバックアップです。 このバックアップ仮想サーバーをカスタマイズして、IBM Cloud VPC の要件を満たすようにします。
以下の手順を実行して、イメージテンプレートから新しい仮想サーバーを作成します。
- 「デバイス」>「管理」>「イメージ」 をクリックして、作成したイメージ・テンプレートを見つけます。
- イメージテンプレートの
クリックし、 Order Public virtual server instance を選択して、イメージテンプレートから仮想サーバーをプロビジョニングします。
ステップ3:仮想サーバーのカスタマイズ IBM Cloud VPC
以下のカスタマイズを実行して、 IBM Cloud VPC インフラストラクチャー用のイメージを準備します。 カスタマイズ要件の一部は、Classicインフラストラクチャの仮想サーバーインスタンスですでに満たされているかもしれません。
Linux 仮想サーバーのカスタマイズ
Linux カスタム・イメージの作成 の手順に従って、 Linux インスタンス上でカスタマイズします。 インスタンスは以下の要件を満たす必要があります。
- カーネルのコマンドラインには以下の引数がある:
nomodeset
nofb
,vga=normal
,console=ttyS0
. - Virtio ドライバー がインストールされ、Virtio に必要なコードもインストールされます。
- cloud-init 対応のイメージである。
- マウントされる補助ストレージボリュームには、 fstab エントリ
nofail
を含める必要がある。
Windows インスタンスのカスタマイズ
Windows 仮想サーバー上で以下のカスタマイズを行い、 IBM Cloud VPC 用のイメージを準備します。
-
リモートデスクトップを使用して、クラシックWindowsサーバーにアクセスします。
-
このサーバーに Windows VirtIO ドライバーをダウンロードしてインストールします。
virtio-win
のドライバーファイルは、以下の手順に従って、既存の IBM Cloud VPC 仮想サーバーから取得することができます。Red Hat から入手したドライバーは Microsoft によって認定されているため、Microsoft では、ライセンス交付を受けた RHEL バージョン 8 または 9 のインスタンスからドライバーを入手することを推奨しています。 推奨される Red Hat virtio-win パッケージの最小バージョンは
virtio-win-1.9.24
です。 ただし、最新のパッケージを使用することをお勧めします。Red Hat
virtio-win-1.9.24
ISO には、以下の特定のドライバー・バージョンが含まれています。100.84.104.19500 oem10.inf \vioprot.inf_amd64_af0659efdaba9e4b\vioprot.inf 100.90.104.21400 oem11.inf \viofs.inf_amd64_c6f785e21f3f6f80\viofs.inf 100.85.104.20200 oem12.inf \viogpudo.inf_amd64_b19dcf9947e73e5a\viogpudo.inf 100.85.104.19900 oem13.inf \vioinput.inf_amd64_4505a789e17b5f89\vioinput.inf 100.81.104.17500 oem14.inf \viorng.inf_amd64_ef304eab276a3e61\viorng.inf 100.85.104.19900 oem15.inf \vioser.inf_amd64_cb4783c018c10eba\vioser.inf 100.90.104.21500 oem2.inf \vioscsi.inf_amd64_02a46a7a223648d1\vioscsi.inf 100.90.104.21500 oem3.inf \viostor.inf_amd64_520417bbc533faba\viostor.inf 100.85.104.20700 oem4.inf \balloon.inf_amd64_afa8c93081df5458\balloon.inf 100.90.104.21400 oem5.inf \netkvm.inf_amd64_0efff05c07fcee39\netkvm.inf 100.85.104.19900 oem6.inf \pvpanic.inf_amd64_b7028360ef636f8b\pvpanic.inf 10.0.0.21000 oem9.inf \qxldod.inf_amd64_6199f9ecf2339133\qxldod.inf
-
IBM Cloud VPCで既存の RHEL 仮想サーバーをプロビジョニングするか、それにアクセスして、必要な virtio-win ドライバーを取得します。
-
IBM Cloud VPCでプロビジョンした RHEL 仮想サーバーで、以下のコマンドを実行して
virtio-win
パッケージをインストールします。 この例では、virtio-win パッケージが RHEL バージョン 8 にインストールされています。yum install virtio-win ``` {: pre} The output looks like the following example. ```text {: screen} Installed: virtio-win-1.9.24-2.el8_5.noarch
-
/usr/share/virtio-win
ディレクトリーにある virtio-win の ISO にアクセスします。cd /usr/share/virtio-win/
-
WinSCP ユーティリティーを使用して、
virtio-win-1.9.24.iso
などのvirtio-win
ISO ファイルを RHEL VPC サーバーからクラシック Windows サーバーにコピーします。 -
ダウンロードした ISO を見つけ、ダブルクリックしてマウントします。
-
マウントしたISOから
virtio-win-guest-tools.exe
、インストールを完了する。- ダウンロードした ISO を見つけ、ダブルクリックしてマウントします。
- マウントしたISOから
virtio-win-guest-tools.exe
、インストールを完了する。
-
-
Cloudbase-Init インストール・パッケージから cloudbase-init をインストールして構成します。
-
cloudbase-init.conf
ファイル (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf
) を以下の値に一致するように変更します。 ファイルから他のコンテンツを削除しないでください。[DEFAULT] # "cloudbase-init.conf" is used for every boot config_drive_types=vfat,iso config_drive_locations=hdd,partition activate_windows=true kms_host=kms.adn.networklayer.com:1688 mtu_use_dhcp_config=false real_time_clock_utc=false bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\ debug=true log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ log_file=cloudbase-init.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, # enabled plugins - executed in order plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin, cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.userdata.UserDataPlugin, cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
カスタム・イメージに独自のライセンスを導入する場合は、
cloudbase-init.conf
ファイルから以下の行を削除してください。activate_windows=true kms_host=kms.adn.networklayer.com:1688
-
cloudbase-init-unattend.conf
ファイル (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init-unattend.conf
) を以下の値に一致するように変更します。 ファイルから他のコンテンツを削除しないでください。[DEFAULT] # "cloudbase-init-unattend.conf" is used during the Sysprep phase username=Administrator inject_user_password=true first_logon_behaviour=no config_drive_types=vfat config_drive_locations=hdd allow_reboot=false stop_service_on_exit=false mtu_use_dhcp_config=false bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\ debug=true log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ log_file=cloudbase-init-unattend.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, # enabled plugins - executed in order plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin, cloudbaseinit.plugins.windows.createuser.CreateUserPlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin, cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
-
Unattend.xml
ファイル (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml
) を変更し、PersistAllDeviceInstalls
値をfalse
に設定します。 -
コマンド・プロンプトから以下のコマンドを使用して、
Sysprep
を実行します。C:\Windows\System32\Sysprep\Sysprep.exe /oobe /generalize /shutdown "/unattend:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml"
このコマンドは、システムをシャットダウンします。
ステップ 4-カスタマイズした仮想サーバーのイメージ・テンプレートの作成
バックアップ仮想サーバーでカスタマイズが完了したら、以下の手順を使用して新しいイメージ・テンプレートを作成します。
- IBM Cloud コンソールのダッシュボードから、 メニュー
> インフラストラクチャー > クラシック インフラストラクチャー > デバイス > デバイス リストをクリックして、イメージ テンプレートを作成します。
- 以前にカスタマイズしたバックアップ仮想サーバーをクリックします。
- **「アクション」メニューから「イメージ・テンプレートの作成」**を選択します。 以下のステップに進む前に、イメージ・テンプレートを作成する必要があります。
ステップ5 - 画像テンプレートのエクスポート IBM Cloud Object Storage
変更した仮想サーバーから作成したイメージテンプレートを IBM Cloud Object Storage にエクスポートするには、以下の手順を実行します。
- Devices > Manage > Imagesをクリックして、 Image Templates ページで作成した新しいイメージテンプレートを見つけます。
- 画像テンプレートページで、エクスポートする画像テンプレートをクリックし、 IBM Cloud Object Storage にエクスポートを選択します。 詳しくは、IBM Cloud Object Storage へのイメージのエクスポートを参照してください。
ステップ6 - IBM Cloud VPC インフラストラクチャにカスタムイメージをインポートする
- IBM Cloudコンソールで、ナビゲーションメニューアイコン
インフラストラクチャ
コンピュート>イメージをクリックします。
- 「カスタム・イメージ」 タブで、 「カスタム・イメージのインポート」 をクリックします。 詳しくは、カスタム・イメージのインポートを参照してください。
ステップ 7-カスタム・イメージを使用した IBM Cloud VPC での仮想サーバーの作成
インポートしたイメージが 「Images for VPC」 ページの「 Custom images 」タブで利用可能になると、そのイメージを使用して IBM Cloud VPC インフラストラクチャに仮想サーバーインスタンスを作成できます。
- Custom images タブで、インポートしたカスタムイメージの名前を確認し、Actions
クリックし、 New virtual server を選択します。
- IBM Cloud コンソールで、ナビゲーションメニュー アイコン
インフラストラクチャ
コンピュート > 仮想サーバーインスタンス に移動します。
- 「仮想サーバー・インスタンス」 ページで、「アクション」
をクリックします。 仮想サーバーにアクセスする前に、仮想サーバーを停止してから始動します。
- RDP トラフィック・ポート 3389 へのアクセス権限を付与するために、インバウンドおよびアウトバウンドのセキュリティー・グループを作成します。 詳しくは、 リソースのセキュリティー・グループのセットアップ を参照してください。
- 浮動 IP を使用した Windows および RDP へのアクセスを許可するためのパスワードを生成するには、 Windows インスタンスへの接続 を参照してください。