こしぞーのひとり情シス

Windows/仮想化の小規模環境を運用するリーマンの日々。

実用的なHyper-V2016バックアップ手順(外付けHDDへのバックアップ)

バックアップの重要性

日々バックアップを取得しておくことは重要です
誰でも知っていることだと思いますが、ちゃんとバックアップを取れていることを確認するのってとても大変です
バックアップソフトのジョブがきちんと終わっていても自分でそれが正常なバックアップかどうかをログなどで確認することはツールを使いこなさない限りはこんなんだからです
もちろんリストアが正常にできることも重要です

バックアップが 本当に必要になるタイミングも限られる 為に少しくらいうまく行っていなくても放置されがちであることも多々あります
サーバや仮想環境が止まっている、動いてない、正常に結果を出さないなどあれば直ちにIT管理者は対処をし然るべき人に報告する必要があります
ただバックアップは止まっていても、正常に動いていなくても、ログに異常を発見しても直ちに対応を取りづらいです
そればバックアップデータが緊急で必要になるタイミングは リストアするとき に限定され、対応する工数やコスト面を考えると放置せざるを得ないこともあります

私の身の回りにもこういった状況はあふれていました

バックアップの重要性は理解していてもバックアップ運用の課題にはなかなか手が出ないものです

そうするとどれだけ簡単な、シンプルな、自分でも操作可能なバックアップ方法を用意しておくことが重要になってくると私は考えます

一番安価・手頃な Hyper-V バックアップ

Windows Server 2016 ベースHyper-V 2016 の全体バックアップをUSB接続外付けハードディスクに取得する方法

Windows Server標準バックアップ機能がリリースされてWindowsサーバOS領域のバックアップが非常に簡単に実施できるようになりました
ステートレスなサーバ(WebサーバやAPサーバなど)は本機能で十分バックアップ運用が可能です
DBサーバは別途DBツールのダンプファイルや有償バックアップソフトを活用したバックアップを推奨しますが、有償バックアップソフトをDBサーバやファイルサーバに限定することでバックアップ実装コストを下げることが出来ます

今回はバックアップ取得先としてサーバ接続の外付けHDD(または直接接続ストレージ)を対象としています

NASや共有フォルダなどにバックアップを取りたい場合はこちらです
(準備中)

早速バッチジョブ(仮想マシンバックアップ)

毎回の手順を簡略化し、作業ミスを減らすためにはスクリプト実行が一番です
PowerShellスクリプトを作成します

スタンドアロンHyper-V上にある全ての仮想マシンを自動バックアップするスクリプト

  • ファイル名:backupjob1.ps1
Set-Location $PSScriptRoot
start-transcript console.log
wbadmin.exe get virtualmachines | Select-String "VM 名" | % {$_ -replace "VM 名: ","" } | Out-File .\vm.txt
$S = (Get-Content .\vm.txt -raw).Replace("`r`n",",") |% {$_ -Replace(",Host Component,","")}
wbadmin.exe start backup -allCritical -systemState -hyperv:"$S" -backupTarget:P:\ -quiet
stop-transcript

これで「Pドライブ」配下にバックアップ実行したサーバ物理OS(ハイパーバイザ)と仮想マシンまで含めたフルバックアップイメージが作成されます

  • システムで予約済み
  • ローカルディスク(C:)
  • システム状態
  • ベアメタル回復
  • サーバ上のすべての仮想マシン
  • Hyper-V設定

「-backupTarget:P」の部分だけ皆さんの環境に合わせて設定してください

2回目以降は自動的に増分バックアップ になるのでナイスな容量消費でバックアップ運用が可能です

手動で実行する場合

まず対象の仮想マシンをリストします

wbadmin.exe get virtualmachines

上記例では、以下の4つが仮想マシンとして認識されています

wbadmin.exe start backup -allCritical -systemState -hyperv:"vm1,vm2,vm3,Host Component" -backupTarget:P:\ -quiet

実行中画面はGUIから確認できます

WindowsサーババックアップGUI画面から進行中の画面が確認できます

2世代以上残したい場合はどうすれば?

Windows Serverバックアップはバックアップ先に外付けHDDを指定した場合は世代管理が可能です
しかも残り容量が残っている限り保存できます

外付けハードディスクのおすすめは

昨今サーバ本体にUSB3も搭載されるようになったり高速にバックアップを安価に取ることができるようになってきました
またUSB接続のSSDも非常にお手頃(480GBが実売価格で1万円台も!)になってきており、おススメは

  • USB3が搭載されているサーバ
  • USB接続SSD

の両方が用意できるといいです
日々の運用を少ない人数で実行するにはバックアップの無人化や高速化を安価に実装できるようになってきたことは大変良いことだとお思います

いつバックアップを取るべきか

Hyper-V仮想環境には、1台に複数のサーバが搭載いることが通常で外付けHDD容量と相談です

毎日実行してもいいですが、この手順では外付けHDDへのバックアップ取得のため、週一度や月一度などのペースを想定するべきだと思います
毎日と言うよりは、頻度を少なく毎月や四半期に一度とかのタイミングや、Windowsのパッチ適用やアプリケーションバージョンアップ作業前後にとっておくイメージでの運用をお勧めします

毎日バックアップを取りたいなら外付けNASにバックアップを取るなど無人化運用がベストです

リストアの手順は?

バックアップが取れてあんしん~ はまだ早いです
リストアできてこそのバックアップです。別のサーバや空き仮想マシンなどをターゲットにリストアしてみましょう
共有フォルダ・NASバックアップしたWindows ServerバックアップOSリストア時には、ネットワーク設定ではまる可能性があります。

確実に戻ることを確認しておけば何が起こっても安心です

関連記事です

Hyper-Vを使っていないWindowsであればこちらの手順でバックアップしてください

www.hitoriit.com

www.hitoriit.com

リストアはこちらの手順を参考に行ってください

www.hitoriit.com

以上