AZURE

オンプレVMをAzure に複製してみた

AZURE

Hyper-V VHD を Azure にコピーして VM 複製

苦労したのは VHDファイルをAzureへのコピー作業 簡単には行かない

インフラまわり

オンプレ Hyper-V 仮想化ホスト Windows Server 2012 R2
Azure とは インターネットVPN構築済み
Azure 仮想ネットワーク ゲートウェイのSKU は Basic

概略手順イメージ

  1. オンプレのVM を整備:不要なファイル、アプリ、サービス等削除 VHDファイルの軽量化
  2. VHDファイルの準備:VM停止して「容量固定」のVHDに変換する
  3. Azure でオンプレからのVHDファイルの入れ物を準備する
  4. オンプレからAzureにVHDファイルのアップロード (これが難関だった)
  5. VHDから「イメージ」の作成
  6. 「イメージ」から VM の作成
  7. 複製された VM 起動して種々の確認・調整

詳細手順

オンプレのVM を整備

ルーティング テーブルの静的な固定ルートを削除

実際不要なルーティングがあったが、Azureでこのまま起動しても問題なさそうなのでAzureに複製後削除した

route print

その他

  • WinHTTPプロキシを削除 proxyの設定なかった
  • ディスク SAN ポリシーを Onlineall に設定
  • Windows の協定世界時 (UTC) の時刻を設定 Windows Time サービス (w32time) の起動の種類を Automatic に設定
  • 電源プロファイルを高パフォーマンスに設定
  • 環境変数の TEMP と TMP を既定値に設定
  • コマンドプロンプトで C:\Users\Administrator>chkdsk /f 再起動時にチェック

実際大変なのでルーティングのチェックと chkdsk /f 以外はやらなかった
不要なアプリとかファイルは削除した。VHDファイルサイズを小さくする為

VHDファイルの準備 仮想ディスクを容量固定のVHDに変換

VM停止
Hyper-V マネージャーを使用してディスクを変換する
左側のローカル コンピューターを選択。コンピューター リストの上で、 [アクション] > [ディスクの編集]

[仮想ハード ディスクの場所] ページで、お使いの仮想ディスクを選択

[アクションの選択] ページで、 [変換] > [次へ] の順に選択

[VHD] > [次へ]

容量可変ディスクから変換するには、 [容量固定] > [次へ]

新しい VHD ファイルの保存先となるパスを見つけて選択

[完了] を選択

変換の状況が表示されます

Azure でオンプレからのVHDファイルの入れ物を準備する

新しいコンテナーの作成

VM を過去に作成したことがあるのでストレージアカウントは既存でそれを使った

コンテナーが追加された

後の Azure Storage Explorer で 「ストレージアカウント名」と「キー」が必要なので確認しておく

オンプレからAzureにVHDファイルのアップロード(これが難関)

Azure Storage Explorer のインストール

インストール途中で .NET Framework のインストールが必要→再起動となるので再起動しても問題ないマシンでAzure Potal を立ち上げて作業することが望ましいかもしれない

ストレージアカウント 「Explorer で開く」 ダウンロードをうながされるので従う

「ダウンロード中 >」をクリックするとダウンロードが始まる

インストール完了後 再度 ストレージアカウント 「Explorer で開く」

「ストレージアカウント名とキーを使用する」をチェック

入力

「接続」クリック

VHDファイルのアップロード

Azure Storage Explorer 管理コンソールが開く
左ペインの先に用意したコンテナーをクリック 「アップロード」クリックすると「ファイルのアップロード」ダイアログが開くのでローカルの準備したVHDファイルを選択 「BLOB の種類」は「ページ BLOB」を選択した
転送中の様子

転送完了にて VHDファイルがコンテナーに追加された

VHDから「イメージ」の作成

「リソースの作成」

検索ボックスに「Image」で検索

「作成」クリック

「ストレージ BLOB」に参照から URLでVHDファイル指定 その他指定後「作成」

「イメージ」から VM の作成

「すべてのリソース」 作成したイメージを選択

「VM の作成」クリック

デプロイが進行中

「デプロイに失敗しました」となってしまった
「詳細については、ここをクリックしてください→」をクリック

エラーログが表示された

「割り当てられた時間内に、VM の OS のプロビジョニングが完了しませんでした。・・・正常に完了する可能性があります。後で・・・確認ください。」

時間掛かるとこのエラー表示になるということか?
一応後で確認したら 一応VMは作成されていた。動作も一応問題なさそう。ちょっと気持ち悪いが(笑)

複製された VM 起動して種々の確認・調整

IPアドレス デフォルトゲートウェイ はAzureの環境になっていた 移行元は固定IPだったがDHCPに変わっていた。
設定した事項は
DNSサーバーを自動からオンプレの既存ドメインのDNSサーバーに変更した。
一度ワークグループに抜けてからドメインに再参加 ドメコンに情報が追加される

特殊化したまま複製する場合の注意
移行元のマシンが立ち上がった状態で移行先マシンを立ち上げるとこのマシンのドメコンの設定がおかしくなって運用中の移行元マシンがドメインにログオンできなくなる ドメコンからコンピュータ削除、DNSサーバーから登録削除 一度ワークグループに抜けてから再度ドメインに参加する作業が発生する。これを避けたい場合は移行元マシンを停止後、移行先マシンを起動してコンピュータ名等を変更が必要。
移行元のVMは継続運用したいので一般化(sysprep.exe)してない。そのため同じ設定のVMで同時に起動すると異常発生する。
一般化(sysprep.exe)してないことを「特殊化」というらしい。英語直訳でそうなるのかどうか?だが、MSの情報では。一般化(sysprep.exe)すると元の情報が消え去るので要注意。

まとめ

オンプレのVHDをAzureにアップロードに苦労した
azcopy コマンドライン 失敗

Azure CLI をインストールして az コマンド 失敗

容量固定VHDのファイルサイズが大きい 圧縮されてない模様。
この点、アクロニス当たりのバックアップデータは圧縮されてるので、こちらも検討しても良いかもしれない。

コメント