Azureバックアップから復元してみた
障害発生までの経緯
事の始まり Azure VM をオンプレに複製しようとした
下記サイトを見てAzureでVHDファイルを作成してそれをオンプレにダウンロードしようとした
C:\Windows\System32\Sysprep\sysprep.exe
RDPでVM(Windows Server 2012 R2 )にログイン後 sysprep.exeを実行
「システム準備ツール」ダイアログが開くので下のように設定して「OK」クリック
sysprep実行後 VMはシャットダウン、停止

VHDファイルエクスポート ダウンロードURLの作成
Azure ポータルの対象のVMを表示「ディスク」をクリック


「ディスクのエクスポート」をクリック
「URLの期限が切れるまでの秒数」を3600→36000(10時間)に設定変更後「URLの生成」クリック
エクスポートが始まるのでダウンロードURLをコピーしておく

エクスポート完了後「VHDファイルのダウンロード」を実行・失敗
結果的にダウンロードに失敗した。
VHDサイズが127ギガある。これをフレッツ光でダウンロードするのだから数時間以上は掛かると思われる。
挙句の果てに失敗。ちょっと実用的でない。
翌日、保存しておいたURLにて再トライしたが下記のエラーで失敗

VM起動できたがRDPでログオンできない。やっちまった~
sysprep したのが原因?
WEBアプリも起動せず
バックアップから復旧
Azureポータルにてサーバー停止 「バックアップ」クリック

「VMの復元」クリック

復元ポイントの選択

「復元の種類」は「ディスクの復元」選択「OK」

「復元」クリックにて復元開始

「通知」一覧 リンクをクリックにて復元状況が確認できる

復元の「処理中」

復元の完了
これで再利用可能なディスクが準備できました。

ディスクの差し替え 元のVMの削除は不要
「使ってみる」にて「Azure Cloud Shell」が開いてそこでPower Shell コマンドを投入できた。
Power Shell をインストールする手間が省けて便利に感じた。なかなか良い。

「Azure Cloud Shell」にてコマンド投入
PS Azure:\> $vm = Get-AzVM -ResourceGroupName testGroup -Name 'hostname'
Azure:/
PS Azure:\> print
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE(.*?)}/ at /usr/bin/print line 528.
Azure:/
PS Azure:\> Stop-AzVM -ResourceGroupName testGroup -Name 'hostname' -Force
OperationId : abcdefg
Status : Succeeded
StartTime : 9/4/19 7:20:19 AM
EndTime : 9/4/19 7:20:29 AM
Error :
Azure:/
PS Azure:\> $disk = Get-AzDisk -ResourceGroupName testGroup -Name 'hostname-osdisk-20190904-051154'
Azure:/
PS Azure:\> Set-AzVMOSDisk -VM $vm -ManagedDiskId $disk.Id -Name $disk.Name
ResourceGroupName : groupname
Id : /subscriptions/abcdefg/resourceGroups/groupname/providers
/Microsoft.Compute/virtualMachines/hostname
VmId : 123456-abcdefg
Name : hostname
Type : Microsoft.Compute/virtualMachines
Location : japaneast
Tags : {}
DiagnosticsProfile : {BootDiagnostics}
Extensions : {enablevmaccess}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets,
AllowExtensionOperations}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
Azure:/
PS Azure:\> Update-AzVM -ResourceGroupName testGroup -VM $vm
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK OK
Azure:/
PS Azure:\> Start-AzVM -Name $vm.Name -ResourceGroupName testGroup
OperationId : 1234567890
Status : Succeeded
StartTime : 9/4/19 7:33:17 AM
EndTime : 9/4/19 7:35:26 AM
Error :
Azure:/
PS Azure:\>
復元できた
元のVMに戻った。ホスト名、IPアドレスなど、そのまま戻せた様だ。
復元するときに「仮想マシンの作成」を選択すると元の仮想マシンを削除して新たにホスト名、IP等を設定するらしい。?検証はしていないが。今回は「ディスクの復元」を選択して正解と思われる。
Azureの仮想マシンをオンプレに複製がまだ。
今回の件は、本来の目的を達成途上でのトラブルに対応したもので、目的を達成していない。



コメント