PowerShell による Hyper-V 環境の管理
• Hyper-V ホスト / 仮想マシンの管理
•
基本的に Hyper-V モジュールのコマンドレットを使用•
タスクに応じて適切なコマンドレットを選択–
Get-* : 状態の確認、情報取得–
New-* : 新規作成–
Set-* : 設定の変更–
Add-* : 設定の追加、コンポーネントの追加–
Remove-* : 削除、コンポーネントの取り外し–
その他、直観的な動詞Start-* / Stop-* / Suspend-* / Resume-* / Move-* / etc...
仮想マシンの構成・管理
• 仮想マシンの状態を変更
•
Start-VM / Stop-VM / Restart-VMSuspend-VM / Resume-VM / Save-VM
• 仮想マシンの作成、削除
•
New-VM / Remove-VM• 仮想マシンの構成変更
•
Set-VM•
Set-VMBios / Set-VMProcessor / Set-VMMemory Set-VMHardDiskDrive / Set-VMNetworkAdapter•
Enable-VMIntegrationService / Disable-VMIntegrationServiceスナップショットの管理と仮想マシンのエクスポート
• スナップショットの管理
•
Checkpoint-VM•
Restore-VMSnapshot•
Remove-VMSnapshot• 仮想マシンのエクスポート / インポート
•
Import-VM•
Export-VM•
Export-VMSnapshotレプリケーションの管理
• Hyper-V Replica によるレプリケーションの管理
•
Enable-VMReplication•
Set-VMReplication•
Start-VMInitialReplication / Stop-VMInitialReplication•
Import-VMInitialReplication•
Stop-VMReplication•
Suspend-VMReplication / Resume-VMReplication•
Remove-VMReplication•
Start-VMFailover•
Stop-VMFailoverその他の操作
• ライブマイグレーション
•
Move-VM•
Move-VMStorage• VHD / VHDX の管理
•
New-VHD•
Mount-VHD•
Dismount-VHD• その他
•
Copy-VMFileCopy-VMFile
• Hyper-V ホストから仮想マシンへファイルをコピー
•
仮想マシンから Hyper-V ホストへのコピーはできない•
対象となる仮想マシンの要件–
仮想マシンの設定で統合サービスの「ゲスト サービス」が有効化されている (既定値は「無効」)–
仮想マシンの OS で「Hyper-V ゲスト サービス インターフェイス」サービス (vmicguestinterface) が起動している•
コピー先のパスに対して、コピー先 OS 上の Administrators グループが「フル コントロール」を保持している必要がある
–
Administrator アカウントではなく、Administrators グループCopy Files to VM
w/o Network DEMO
Hyper-V を管理する際の注意点
• WMI の名前空間
•
root¥virtualization 名前空間が Windows Server 2012 R2 で廃止に–
Windows Server 2012 時点で非推奨となっていた•
root¥virtualization¥v2 を使用する•
Windows Server 2008 R2 などからスクリプトを移植する際は注意本日のデモシナリオ
• OSの構成変更前にスナップショットを取得
• クロスバージョン ライブマイグレーション
• Hyper-V Replica テストフェイルオーバー
• 仮想マシンの展開
OSの構成変更前にスナップショットを取得
• 重要な変更を行う前にスナップショットを取得
•
変更に成功したらスナップショットを削除•
変更に失敗したらスナップショットへ戻す• スナップショット (チェックポイント) の操作
•
Checkpoint-VM•
Restore-VMSnapshot•
Remove-VMSnapshotCreate / Revert
VM Snapshot DEMO
クロスバージョン ライブマイグレーション
• ライブマイグレーション
•
仮想マシンをオンラインのままホストを移動•
仮想マシンのディスクを同時に移動することも可能•
PowerShell であれば Move-VM するだけ• クロスバージョン ライブマイグレーション
•
異なる Hyper-V ホスト OS バージョン間でのライブマイグレーション•
特別な準備は不要 (ライブマイグレーションと同様の設定で問題ない)•
現状では Windows Server 2012 R2 への移行のみCross-version
Live Migrations DEMO
Hyper-V Replica の制御
• Hyper-V Replica テスト フェイルオーバー
•
レプリカ ホスト側で保護対象の仮想マシンを一時的に起動•
プライマリホスト側で稼働中の仮想マシンには影響を与えない•
デフォルトでは、テスト中の VM は仮想スイッチにつながっていない状態–
改めて仮想マシンの設定を変更しスイッチへ接続–
Set-VMNetworkAdapter で事前に設定•
テスト フェイルオーバーの操作 (開始) は、レプリカ ホスト側で実施•
本番のフェイルオーバーも同様の手順で実施可能Hyper-V Replica
Test Failover DEMO
仮想マシンの展開
• テンプレートから仮想マシンを展開
•
構成済みの仮想ハードディスクイメージを複製して仮想マシンを作成• 用意するもの
•
構成済みの仮想ハードディスクイメージ–
展開時のマスターイメージとして使用–
Windowsの場合はsysprepを使用して展開用に準備–
仮想マシンが停止している状態のイメージを使用–
単一のイメージファイルへ結合(スナップショット削除/差分ディスク結合)•
自動応答ファイル–
展開するOSがWindowsで、展開後の構成を自動化したい場合Sysprep
• システム準備ツール(System Preparation Tool)
•
インストール済みのWindowsからコンピューター固有の情報を削除し、複製/展開に使用できるように準備するツール
•
インストール済みの(展開時にマスターイメージとして使用する) Windows上で実行•
C:¥Windows¥System32¥Sysprep¥Sysprep.exe–
Sysprep.exe /generalize /oobe /shutdown [/mode:vm]• http://technet.microsoft.com/ja-jp/library/hh825033.aspx
Sysprep
• VMモード
•
/mode:vm•
ハードウェアのスキャン/構成をスキップ•
同じ仮想マシンまたはハイパーバイザーに展開する場合のみ有効•
異なるハードウェアプロファイルのVMに展開すると正常に動作しない•
仮想マシンにインストールされたWindows上でのみ指定可能• 仮想マシン展開用のマスターイメージ
•
DHCPを使用する構成で仮想マシンを展開 ⇒ VMモード–
DHCP構成で展開した後、手動またはスクリプトで固定IPをアサイン•
固定IPを使用する構成で仮想マシンを展開 ⇒ VMモードは使用しないDeploying
Virtual Machines DEMO
仮想マシンの展開
• スクリプトの内容(動的IP版)
•
Sysprep 済みの仮想ハードディスクイメージを親ディスクとして、新規仮想マシン用の差分ディスクを作成
•
仮想マシンを作成•
仮想マシンのパラメーターを調整•
仮想ハードディスクのマウント•
自動応答ファイルを配置•
仮想ハードディスクのアンマウント•
電源オン仮想マシンの展開
• スクリプトの内容(固定IP版)
•
Sysprep 済みの仮想ハードディスクイメージを親ディスクとして、新規仮想マシン用の差分ディスクを作成