IBM Cloud Docs
クラシック・インフラストラクチャーからの仮想サーバーのマイグレーション

クラシック・インフラストラクチャーからの仮想サーバーのマイグレーション

クラシック・インフラストラクチャーから仮想サーバー・インスタンスをマイグレーションして、 IBM Cloud VPC のインフラストラクチャー要件を満たすことができます。 その後、インスタンスからイメージ・テンプレートを作成し、VPC環境にデプロイすることができます。

Classicインフラストラクチャからの仮想サーバーインスタンスの移行は、 LinuxONE ( s390x プロセッサーアーキテクチャ)ではサポートされていません。

開始前に

始める前に、以下の前提条件が満たされていることを確認してください。

クラシック・インフラストラクチャーからの仮想サーバーのマイグレーション

Classic インフラストラクチャの仮想サーバーに関連付けられているイメージテンプレートを IBM Cloud VPC インフラストラクチャに移行するには、以下の手順を実行します。 カスタム・イメージが IBM Cloud VPC で使用可能な場合、それを使用して仮想サーバーを作成できます。

以下のリストは移行手順の概要である。

  1. IBM Cloud VPC インフラストラクチャーにマイグレーションする仮想サーバーのイメージ・テンプレートを作成します。 以下のマイグレーション・ステップに進む前に、イメージ・テンプレートを作成する必要があります。
  2. イメージ・テンプレートから、バックアップ・インスタンスとして使用する仮想サーバーをプロビジョンします。
  3. バックアップ仮想サーバーをカスタマイズして、 IBM Cloud VPCにデプロイするための要件を満たすようにします。
  4. 変更した仮想サーバーのイメージテンプレートを作成します。
  5. イメージ・テンプレートを IBM Cloud Object Storage にエクスポートします。
  6. IBM Cloud VPC インフラストラクチャーへカスタム・イメージをインポートします。
  7. カスタムイメージを使用して、 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 にインポートする場合、イメージテンプレートのセカンダリディスクとその関連ファイルはサポートされません。

以下の手順を実行して、移行する仮想サーバーのイメージテンプレートを作成します。

  1. IBM Cloud コンソールのダッシュボードから、 ナビゲーション メニューのメニュー アイコン > インフラストラクチャー > クラシック インフラストラクチャー > デバイス > デバイス リストをクリックして、イメージ テンプレートを作成します。
  2. 使用する仮想サーバーをクリックします。
  3. **「アクション」メニューから「イメージ・テンプレートの作成」**を選択します。 わかりやすい名前を付けてください。 詳しくは、イメージ・テンプレートの作成を参照してください。

ステップ2:イメージテンプレートを探し、仮想サーバーをプロビジョニングする

作成したイメージ・テンプレートから、仮想サーバーをプロビジョンします。 このインスタンスはバックアップです。 このバックアップ仮想サーバーをカスタマイズして、IBM Cloud VPC の要件を満たすようにします。

以下の手順を実行して、イメージテンプレートから新しい仮想サーバーを作成します。

  1. 「デバイス」>「管理」>「イメージ」 をクリックして、作成したイメージ・テンプレートを見つけます。
  2. イメージテンプレートのアクションアイコンを クリックし、 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 用のイメージを準備します。

  1. リモートデスクトップを使用して、クラシックWindowsサーバーにアクセスします。

  2. このサーバーに 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
    
    1. IBM Cloud VPCで既存の RHEL 仮想サーバーをプロビジョニングするか、それにアクセスして、必要な virtio-win ドライバーを取得します。

    2. 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
      
    3. /usr/share/virtio-win ディレクトリーにある virtio-win の ISO にアクセスします。

      cd /usr/share/virtio-win/
      
    4. WinSCP ユーティリティーを使用して、 virtio-win-1.9.24.iso などの virtio-win ISO ファイルを RHEL VPC サーバーからクラシック Windows サーバーにコピーします。

    5. ダウンロードした ISO を見つけ、ダブルクリックしてマウントします。

    6. マウントしたISOから virtio-win-guest-tools.exe 、インストールを完了する。

      1. ダウンロードした ISO を見つけ、ダブルクリックしてマウントします。
      2. マウントしたISOから virtio-win-guest-tools.exe 、インストールを完了する。
  3. Cloudbase-Init インストール・パッケージから cloudbase-init をインストールして構成します。

  4. 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
    
  5. 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
    
  6. Unattend.xml ファイル (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml) を変更し、 PersistAllDeviceInstalls 値を false に設定します。

  7. コマンド・プロンプトから以下のコマンドを使用して、 Sysprep を実行します。

    C:\Windows\System32\Sysprep\Sysprep.exe /oobe /generalize /shutdown "/unattend:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml"
    

    このコマンドは、システムをシャットダウンします。

ステップ 4-カスタマイズした仮想サーバーのイメージ・テンプレートの作成

バックアップ仮想サーバーでカスタマイズが完了したら、以下の手順を使用して新しいイメージ・テンプレートを作成します。

  1. IBM Cloud コンソールのダッシュボードから、 メニューアイコン > インフラストラクチャー > クラシック インフラストラクチャー > デバイス > デバイス リストをクリックして、イメージ テンプレートを作成します。
  2. 以前にカスタマイズしたバックアップ仮想サーバーをクリックします。
  3. **「アクション」メニューから「イメージ・テンプレートの作成」**を選択します。 以下のステップに進む前に、イメージ・テンプレートを作成する必要があります。

ステップ5 - 画像テンプレートのエクスポート IBM Cloud Object Storage

変更した仮想サーバーから作成したイメージテンプレートを IBM Cloud Object Storage にエクスポートするには、以下の手順を実行します。

  1. Devices > Manage > Imagesをクリックして、 Image Templates ページで作成した新しいイメージテンプレートを見つけます。
  2. 画像テンプレートページで、エクスポートする画像テンプレートをクリックし、 IBM Cloud Object Storage にエクスポートを選択します。 詳しくは、IBM Cloud Object Storage へのイメージのエクスポートを参照してください。

ステップ6 - IBM Cloud VPC インフラストラクチャにカスタムイメージをインポートする

  1. IBM Cloudコンソールで、ナビゲーションメニューアイコン メニューアイコン インフラストラクチャ VPCアイコン コンピュート>イメージをクリックします。
  2. 「カスタム・イメージ」 タブで、 「カスタム・イメージのインポート」 をクリックします。 詳しくは、カスタム・イメージのインポートを参照してください。

ステップ 7-カスタム・イメージを使用した IBM Cloud VPC での仮想サーバーの作成

インポートしたイメージが 「Images for VPC」 ページの「 Custom images 」タブで利用可能になると、そのイメージを使用して IBM Cloud VPC インフラストラクチャに仮想サーバーインスタンスを作成できます。

  1. Custom images タブで、インポートしたカスタムイメージの名前を確認し、Actions More Actions アイコンを クリックし、 New virtual server を選択します。
  2. IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン コンピュート > 仮想サーバーインスタンス に移動します。
  3. 「仮想サーバー・インスタンス」 ページで、「アクション」 「その他のアクション」アイコン をクリックします。 仮想サーバーにアクセスする前に、仮想サーバーを停止してから始動します。
  4. RDP トラフィック・ポート 3389 へのアクセス権限を付与するために、インバウンドおよびアウトバウンドのセキュリティー・グループを作成します。 詳しくは、 リソースのセキュリティー・グループのセットアップ を参照してください。
  5. 浮動 IP を使用した Windows および RDP へのアクセスを許可するためのパスワードを生成するには、 Windows インスタンスへの接続 を参照してください。