次世代仮想化テクノロジー
Syuichi Murashima
自己紹介
• MURA/村嶋修一
• 千葉県松戸市在住
• Windows系インフラ担当 @ gloops
• MS MVP for Cloud and Datacenter Management / Hyper-V
• http://www.vwnet.jp
• mura@vwnet.jp
2
こんな本書きました
3
注意
• Windows Server 2016 Technical Preview 4 ベースの話です
• 製品化された時の仕様を保障するものではありません
Agenda
• 必要ハードウェア要件
• かゆいところに手が届いた次世代 Hyper-V 機能紹介
必要ハードウェア要件
SLAT
Windows Server 2016 Hyper-V は SLAT 必須
• CPU 仕様を調べる
• Windows Sysinternals の coreinfo.exe で確認
UEFI セキュアブート
必須ではないが、一部機能制限がかかる
• Confirm-SecureBootUEFI コマンドレットで確認
基本的な事は変わらない
Hyper-Vに追加された機能
PowerShell Direct
VM構成ファイルのバイナリ化
VM後方互換
統合サービスWindows Update
Linux Secure boot
運用チェックポイント
NIC識別
ホットアド/リムーブ NIC
ホットアド/リムーブ メモリー
Hyper-V マネージャー資格情報
RemoteFX vGPU
Shielded VM
Host Guardian Service
仮想 TPM
Hyper-Vコンテナー
Nested Hyper-V
NAT仮想スイッチ
Hyper-Vに追加された機能
PowerShell Direct
VM構成ファイルのバイナリ化
VM後方互換
統合サービスWindows Update
Linux Secure boot
運用チェックポイント
NIC識別
ホットアド/リムーブ NIC
ホットアド/リムーブ メモリー
Hyper-V マネージャー資格情報
RemoteFX vGPU
Shielded VM
Host Guardian Service
仮想 TPM
Hyper-Vコンテナー
Nested Hyper-V
NAT仮想スイッチ
運用チェックポイント
VSS writer を使用したバックアップイメージ
デフォルトは運用チェックポイント
従来の標準チェックポイント選択可能
Demo
VM後方互換
• Windows Server 2012 R2 Hyper-V VM がそのまま稼働
• Export / Import で VM 移行
• ライブマイクレーションで移行
• WS12R2 から WS16 アップグレードインストール
• WSFCのローリングアップデート
• Get-VM <VM名> | fl Version
• WS16TP4 Version : 7.0
• WS12R2 Version : 5.0
• Update-VMVersion <VM名>
Demo
PowerShell Direct
• Hyper-V host から VM に直接 PowerShell 接続
従来の VM リモートアクセス
VM OSインストール
Enter-PSSession –ComputerName <VM IP アドレス>
IPアドレス割り当て (on VM)
Enable-PSRemoting –Force (on VM)
PowerShell Direct
VM OSインストール
Enter-PSSession -VMName <VM 名>
Demo
NIC識別
• VMに追加した複数 NIC を識別
従来の NIC 識別
VM 作成
Get-NetAdapter | ft Name,ifIndex,MacAddress (on VM)
IPアドレス割り当て (on VM)
Get-VMNetworkAdapter -VMName <VM 名> | ft SwitchName,MacAddress
VM OSインストール
NIC 識別
VM 作成(NIC名指定/NIC識別有効)
NIC 識別 (on VM)
IPアドレス割り当て(on VM)
VM OSインストール
NIC 追加と NIC 識別有効
NIC 追加
Add-VMNetworkAdapter -VMName <VM名>
-SwitchName <スイッチ名> -Name <NIC名>
NIC 識別有効
Set-VMNetworkAdapter -VMName <VM名> -DeviceNaming On
こうも書ける
Add-VMNetworkAdapter -VMName <VM名>
-SwitchName <スイッチ名>
-Name <NIC名> -DeviceNaming On
NIC識別
• Get-NetAdapterAdvancedProperty |
? DisplayName -eq “Hyper-V Network Adapter Name” |
ft Name,DisplayValue
Demo
Nested Hyper-V
• Hyper-V on Hyper-V
• TP4 より Windows 10 の方が現状安定している
従来の Hyper-V
Hypervisor
VM
仮想化支援機能物理 Server
仮想化支援機能が
VMに届かない
Nested Hyper-V
Hypervisor
VM
Hypervisor
VM
仮想化支援機能物理 Server
仮想化支援機能が
パススルーされる
Nested Hyper-V の作り方
Build 10565 以降の Windows 10 host 用意
Build 10565 以降の Windows 10 VM インストール
Nested Hyper-V スクリプト入手とNested Hyper-V 許可
VM の Hyper-V 有効化
VM インストール
固定メモリー(4GB以上)
MACアドレスのスプーフィングON
Build 10565 以降の Windows 10 インストール
Nested Hyper-V スクリプト入手とNested Hyper-V 許可
VM シャットダウン
Nested Hyper-V スクリプト入手
wget https://raw.githubusercontent.com/Microsoft/
Virtualization-Documentation/master/hyperv-tools/Nested/
Enable-NestedVm.ps1 -OutFile ~/Enable-NestedVm.ps1
Nested Hyper-V 許可
~/Enable-NestedVm.ps1 -VmName <VM名>
VM に Hyper-V プラットフォーム
Nested Hyper-V 制限
動的メモリー不可
稼働状態でのメモリー追加/削除不可
稼働状態でのチェックポイント作成不可
ライブマイグレーション不可
保存/復元不可
インテル CPU 専用
Demo Video
NAT仮想スイッチ
• NAT箱(RRAS VM)不要
• 現状まだ不安定…
従来のNAT実装例
プライベート
仮想スイッチ
NAT箱(RRAS VM)
外部
仮想スイッチ
VM
仮想NIC
仮想NIC
NAT仮想スイッチ
内部
仮想スイッチ
親パーティション
外部
ネットワーク
VM
物理NIC
仮想NIC
RRAS 不要
NAPT実装
NAPT 仮想スイッチ
New-VmSwitch <仮想スイッチ名> -SwitchType NAT
-NatSubnetAddress <IPアドレスレンジ>
NAT テーブル
New-NetNat <NATテーブル名>
-InternalIPInterfaceAddressPrefix <IPアドレスレンジ>
ポートフォワード
Add-NetNatStaticMapping -NatName <NATテーブル名>
-Protocol TCP -ExternalIPAddress 0.0.0.0
-InternalIPAddress <フォワード先 IP>
-ExternalPort <受付ポート>
-InternalPort <フォワード先ポート>
要注意な Bug
• New-VmSwitch で作成した NAT 仮想スイッチの IPアドレスレ
ンジ が解放されない
仮想 TPM
• VM で使用できる TPM
• 物理 Server に TPM 無くても OK
• 親パーティションの UEFI セキュアブート必須
仮想 TMP の作り方
分離ユーザーモードインストール
GPO(仮想化ベースのセキュリティを有効化にする)設定
Hyper-V 再起動
VM TPM 有効
Demo
分離ユーザーモードインストール
GPO設定
[コンピューターの構成]-[管理テンプレート]-[システム]-[デバイスガード]
-[仮想化ベースのセキュリティを有効化にする]
VM TPM 有効
まとめ
• Windows Server 2016 Hyper-V は多数の新機能が追加
• 便利な機能も盛りだくさん
• 次はどんな機能が追加されるのか楽しみ
• TP5 coming soon?
Q&A

次世代仮想化テクノロジー

Editor's Notes