[SoftLayer] Windows標準バックアップを利用してオンプレミスから移行してみた


#はじめに
オンプレミスのWindowsサーバをSoftLayerに移行する方法は、すでに多数公開されていますが、Windows 標準機能だけで移行できるか試してみました。今回は、Windows Server 2012 R2 での例となります。
**移行対象**
　OS： Windows Server 2012 R2 Standard Edition
　稼働環境：VMWare Workstation上の仮想マシン
　仮想メモリ: 2GB
　仮想ハードディスク：
　　システムディスク：60GB
　　データディスク:60GB
**移行ステップ**
　1.移行元でサーバ全体バックアップ
　2.仮想マシン注文（2nd Diskにバックアップ保存用ストレージも合わせて注文）
　3.Windows インストールDVDのイメージ・インポート
　4.バックアップイメージやツールをバックアップ保存用ストレージにコピー
　5.システムディスクの復元（Windows インストールDVDによるベアメタル回復）
　6.仮想ユーティリティ・ドライバの調整
　7.データディスクの復元（Windows Serverバックアップでデータディスクを復元）
　8.ネットワーク設定を調整
　9.バックアップ保存用ストレージを削除

#1.移行元でサーバ全体バックアップ
**(1)Windowバックアップ機能追加**

* Windows Server バックアップは、既定ではインストールされないため、サーバマネージャから「役割と機能の追加ウィザード」を起動（「管理」-「役割と機能の追加」から）し、「Windows Server バックアップ機能」を追加します。

**(2)Windows Serverバックアップの起動**

* 「サーバーマネージャー」を起動し、「ツール」-「Windows Server バックアップ」を選択。

**(3)ベアメタルバックアップの実行**

* 画面右側のメニューから「単発のバックアップ」を選択する。
* 「別のオプション」を選択し「次へ」を選択する。
* 「サーバ全体」を選択し「次へ」を選択する。
* バックアップ先として「リモート共有フォルダ」を選択し「次へ」を選択する。
* リモート共有フォルダを指定して「次へ」を選択する。
* 「確認」画面で「バックアップ」を選択しバックアップを実行する。
* 「バックアップの進行状況」画面にて、状態が「完了しました」となれば成功です。

#2.仮想マシン注文（2nd Diskにバックアップ保存用ストレージも合わせて注文）
SoftLayer 移行先の仮想マシンを注文。基本的な構成は以下の通り。

* CPU：1 x 2.0 GHz Core
* RAM：2GB  
* First Disk：100GB(SAN)
* Second Disk：40GB(SAN) （バックアップ保存用ストレージ）

バックアップ保存用ストレージは、1.で取得したベアメタルバックアップイメージを一時的に保管するために使います。バックアップファイルが十分に収まる容量を確保します。

#3.Windows インストールDVDのイメージ・インポート
**(1) オブジェクト・ストレージにアップロード**

* SoftLayerポータルから、アップロード先のオブジェクト・ストレージとコンテナを構成（手順は省略）。
* 構成したオブジェクト・ストレージのコンテナへ、DVDイメージ(.iso)をアップロード（手順は省略）。

**(2)オブジェクト・ストレージからDVDイメージ(.iso)をインポート**

* SoftLayerポータル画面の「Device」-「Manage」-「Images」を選択。
* 画面右上の「Import Image」を選択。
* アップロードしたオブジェクト・ストレージのコンテナを指定し、DVDイメージをインポート。

#4.バックアップイメージやツールをバックアップ保存用ストレージにコピー
**(1) バックアップイメージをコピー**

* 3.(1)で使用したコンテナに、1.(3)で取得したバックアップイメージをアップロードする（手順は省略）（「WindowsImageBackup」フォルダごとアップロード）。
* 2.で注文した移行先仮想マシンに、オブジェクト・ストレージ利用ツールをインストール（CyberduckやCloudBerry Explorerなど）。
* 上記ツールを使用して、オブジェクト・ストレージからバックアップイメージを、バックアップ保存用ストレージにダウンロードする（手順は省略）。その際、「WindowsImageBackup」フォルダをバックアップ保存用ストレージのドライブ直下に置く。

**(2) XenToolsををコピー**

* http://downloads.service.softlayer.com/citrix/xen/ から最新XenToolsを、バックアップ保存用ストレージに、ダウンロードする（今回は、"xentools-6.2.1-win.zip"をダウンロード。アーカイブを展開した状態にしておく）。

**(3) ネットワーク設定コマンド類をコピー**

* 「C:￥%WinDir%￥System32￥sltools」フォルダをバックアップ保存用ストレージにコピーする。

#5.システムディスクの復元（Windows インストールDVDによるベアメタル回復）
**(1)インストールDVDイメージにて仮想マシンを起動**

* SoftLayerポータルから「Device」-「DeviceList」を選択する。
*  移行先仮想マシンの「Device Name」を選択する。
* 「Action」-「KVM Console」を選択する。
* 「Action」-「Boot From Image」を選択する。
* 表示されたDVDイメージ欄の右端にある「Boot From This Image」を選択する。
* 「Boot From Image」を選択する。
* KVM Console に「Press any Key to boot from CD or DVD...」と表示されたら、何らかのキー押下げし、インストールメディアで仮想マシンを起動する。

**(2)修復モードからベアメタル復元する**

* 最初の画面で「次へ」を選択する。
* 左下にある「コンピュータを修復する」を選択する。
* 「トラブルシューティング」を選択する。
* 「イメージでシステムを回復」を選択する。
* 「Windows Server 2012 R2」を選択する。
* 「利用可能なシステムイメージのうち最新のモノを使用する」が自動で選択されるので、「次へ」を選択する。
* 「システムドライブのみ復元する」をチェックし、「次へ」を選択する。
* 復元するバックアップ情報が表示されるので「完了」を選択する。
* レイアウトやデータイメージが書き換えられる確認画面が表示されるので「はい」を選択する。
* 復元が開始される。
* 復元が完了したら再起動の画面が表示されるため「今すぐ再起動する」を選択する。

#6.仮想ユーティリティ・ドライバの調整
**(1)VMWareToolsを削除する**

* 移行先仮想マシンへ「KVM Console」 からログインする。
* 左下のWindowsボタンを右クリックして「コントロールパネル」を選択する。
* 「プログラムのアンインストール」を選択する。
* 「VMWare Tools」をダブルクリックし、確認画面で「はい」を選択し、アンインストールする。
* 再起動を求められるので再起動する。

**(2)XenToolsをインストールする**

* 移行先仮想マシンへ「KVM Console」からログインする。
* バックアップ保存用ストレージにダウンロードしてあるXenToolsのインストーラを実行する（今回は、「installwizard.msi」を実行する）。
* 再起動を求められるので再起動する。

#7.データディスクの復元（Windows Serverバックアップでデータディスクを復元）
**(1)仮想マシンにデータ用ストレージを追加注文する**

*  SoftLayerポータルから「Device」-「DeviceList」を選択する。
*  復元対象の仮想マシンの「Device Name」を選択する。
*  右上にある「Modify Device Configuration」メニューを選択する。
*  画面中段にある「Third Disk」にデータディスクを追加する。その際、移行元のデータボリューム（データ量でなく）サイズより大きいサイズを選択する。元より小さいと復元時が拒否されます。
* 画面左上の「Immediately」をチェックし、右上の「Continue」を選択する。
* 画面下部の「I have read the Master Service Agreement and agree to the terms therein.」をチェックし、右側になる「Place Order」を選択する。

**(2)データディスクを有効化する**

* 移行先仮想マシンへ「KVM Console」からログインする。
* サーバマネージャを起動し、「ツール」-「コンピュータの管理」を起動する。
* 左ペインの「記憶域」-「ディスクの管理」を選択する。
* ディスク初期化の画面が表示されるので、対象ディスクがチェックされていることを確認の上、「GPT（GUIDパーティションデーブル）」チェックし、「OK」を選択する。
* 未割り当てとなっているデータディスク領域を右クリックし「新しいシンプルボリューム」を選択する。
* ４回、「次へ」を選択し、その後「完了」を選択する。

**(3)システムディスクを拡張する**

* C:ドライブを右クリックし、「ボリュームの拡張」を選択する。
* ２回、「次へ」を選択すると拡張が完了する。
* 同じディスク上の未割り当領域が、C:ドライブに統合される。

**(4)Windows Server バックアップでデータ復元**

* サーバマネージャを起動し、「ツール」-「Windows Server バックアップ」を起動する。
* 右ペインある［回復」を選択する。
* 「別の場所に保存されているバックアップ」をチェックし、「次へ」を選択する。
* 「ローカルドライブ」を選択し、「次へ」を選択する。
* 「バックアップの場所」として、バックアップ保存用ストレージが選択されるので「次へ」を選択する。
* 回復するサーバの選択が求められるので、表示されているサーバ名を選択し、「次へ」を選択する。
* バックアップを取得した日付が対象になっていることを確認の上、「次へ」を選択する。
* 回復する種類で「ボリューム」を選択し、「次へ」を選択する。
* 回復したいデータディスクをチェックし、右のプルダウンメニューから復元先ディスクを選択し、「次へ」を選択する。
* データが失われる旨の確認画面が表示されるので「はい」を選択する。
* 「回復」を選択する。
* 復元が完了したら「閉じる」を選択する。

#8.ネットワーク設定を調整

* バックアップ保存用ストレージにコピーしてあった「sltools」フォルダを、「C:￥%WinDir%￥System32」の下にコピーする。
* 左下のWindowsボタンを右クリックして「コマンドプロンプト（管理者）」を実行する。
* cd sltoolsで、C:\Windows\system32\sltoolsに移動するｃ。
* 「cscript sltools.vbs SetIP Public」を実行する。
* 「cscript sltools.vbs SetIP Private」を実ｃする。
* 「ipconfig /all」を実行し、各インタフェースのIPアドレスおよびDNSがSoftLayerに合わせた設定に変更されたことを確認する。
* 「route print」を実行し、ルーティング情報がSoftLayerに合わせた設定に変更されていることを確認する。

これでネットワークが利用可能となりますが、つながらない場合は、Windowファイアウォールやリモートディストップ自体が無効となっている場合があります（詳細は省略）。

#9.バックアップ保存用ストレージを削除

* 仮想マシンにログインし、シャットダウンを行う。
* SoftLayerポータル画面の「Storage」-「Block Storage」を選択する。
* 「Portable Storage」欄にあるバックアップ保存用ストレージの「Action」-「Detach」を実行する。
* しばらくしてから「Action」-「Cancel Portable Storage」を実行する。

WindowsとSoftLayerの標準機能のみで、25GB以上のボリュームがある環境を映せるか試してみました（ただし、システムボリューム自体が、100GBを超える場合を除く）。

今回、ネットワークドライブも使用しない方法としましたが、仮想マシン自体のPortableディスクの操作やドライブレターの制御を考えると、ネットワークドライブが用意できるのであれば、そちらのほうがシンプルにできそうな気もするので、また、機会をみて試してみたいと思っています。

参照情報
Windows Server 2012 R2 バックアップの機能　説明資料
http://www-06.ibm.com/jp/domino04/pc/support/Sylphd07.nsf/jtechinfo/SYJ0-042C4F1
SoftLayer への移行: Windows Server VM イメージを SCE から SoftLayer へマニュアルでマイグレーションする
http://www.ibm.com/developerworks/jp/cloud/library/cl-sce-migrate-windowswithoutRacemi/