3.33k likes | 3.71k Views
勉強会キット. Windows PowerShell 4.0 による Windows Server 2012 R2 の 管理 ~ Hyper-V 編. 第一版 2013.12.01. 日本マイクロソフト株式会社 エバンジェリスト 安納 順一 Junichi Anno BLOG http://blogs.technet.com/junichia/. はじめに. この勉強会キットでは、 Windows PowerShell を使用してリモートコンピューターから Hyper-V を管理するための手法を学習します。
E N D
勉強会キット Windows PowerShell 4.0 によるWindows Server 2012R2 の管理~ Hyper-V 編 第一版 2013.12.01 日本マイクロソフト株式会社 エバンジェリスト 安納 順一 Junichi Anno BLOGhttp://blogs.technet.com/junichia/
はじめに この勉強会キットでは、WindowsPowerShell を使用してリモートコンピューターから Hyper-V を管理するための手法を学習します。 演習では WindowsServer2012R2 と Hyper-VServer2012R2 を使用していますが、多くの操作は旧バージョンの OS でも動作します。 この勉強会キットは3部構成になっています。 第1部 基本的な操作方法 このセクションではインストール直後の OS を、PowerShell のコマンドレットだけを使用して Hyper-V が使用できるように環境設定していきます。 第2部 ライブマイグレーション このセクションでは、第1部でセットアップした Hyper-V 環境にさらに手を入れてライブマイグレーションが実行できるようにします。 第3部 WindowsPowerShell エキスパートを目指す方へ 第1部、第2部では細かな技術解説は行っていません。このセクションでは、WindowsPowrShell の細かいテクニックも含め、WindowsServer 全般を管理するためのスクリプトを作成するのに必要なテクニックについて解説しています。
事前準備 本勉強会キットの手順書に沿って学習する場合には、事前に以下の環境を準備してください。 なお、ホスト名やIPアドレスは演習中に WindowsPowerShell コマンドレットを使用して設定するので、事前設定は必要ありません。 いずれの OS も以下よりダウンロードできます(OSがインストールされたVHDファイルもダウンロードできます) http://technet.microsoft.com/ja-jp/evalcenter/dn205286.aspx Sysprep済の 仮想ハードディスク 物理マシン 物理マシン Hyper-VServer2012R2 WindowsServer2012R2 WindowsServer2012R2(GUI使用サーバー) 第1部で使用 第2部で使用 ライブマイグレーションを行う場合には2台の物理サーバーが必要です
Agenda • 第1部 基本的な操作方法 • このセクションではインストール直後の OS を、PowerShell のコマンドレットだけを使用して Hyper-V が使用できるように環境設定していきます。 • 第2部 ライブマイグレーション • このセクションでは、第1部でセットアップした Hyper-V 環境にさらに手を入れてライブマイグレーションが実行できるようにします。 • 第3部 WindowsPowerShell エキスパートを目指す方へ • 第1部、第2部では細かな技術解説は行っていません。このセクションでは、WindowsPowrShell の細かいテクニックも含め、WindowsServer 全般を管理するためのスクリプトを作成するのに必要なテクニックについて解説しています。
第1部 基本的な操作を学ぼう このセクションでは、OS インストール直後の状態から、WindowsPowerShell だけを使用して、Hyper-V 上に仮想マシンを立ち上げます。
1台目の WindowsServer • WindowsServer2012R2 のインストール • WindowsPowerShell の基本設定 • 統合スクリプト環境の起動 • 実行ポリシーの設定 • リモーティングの設定 • WindowsServer の基本設定 • IP アドレスの設定 • DNS の設定 • ローカルコンピューター名の設定 • WindowsUpdate の実行 • Hyper-V の構成 • Hyper-V 役割のインストール • Hyper-V ホストの規定値を変更する • 仮想ハードディスクの保存先 • 仮想マシンの保存先 • Hyper-V レプリカの有効化 • 仮想スイッチの作成 • DNS サーバーの構成 • DNS サーバー役割のインストール • DNS ゾーンの確認 • ActiveDirectory ドメインの構成 • ADDS 役割のインストール • ActiveDirectory ドメインの構築 • DHCPServer の構成 • DHCPサービスのインストール • DHCP サービスを構成する • スコープを作成する • 仮想マシンの構成 • ゲスト OS の作成 • ゲスト OS の初期設定 • ゲスト OS の環境設定
1.WindowsServer2012R2 のインストール • WindowsServer2012R2 を「GUI付き」で普通にインストールしてください。ここでは WindowsPowerShell は使用しません。以降の手順で WindowsPowerShell を使用して環境設定を行います。
2.WindowsPowerShell の基本設定 統合スクリプト環境の起動 • WindowsServer2012R2 にサインインする • デスクトップのタスクバーに登録されている WindowsPowerShell アイコンをクリックして PowerShell コンソールを起動する。 • 一度コンソールを閉じる • WindowsPowerShell アイコンを「右クリック」して「ISE を管理者として実行する」を選択し、ISE(統合スクリプト環境)を起動する。 スクリプトエディタ コマンドレット検索 スクリプト実行画面 コマンドレットを直接実行 文字が小さい場合には [Ctrl]+[+] で拡大できます。 [Ctrl] + [-] で縮小できます。
実行ポリシーの設定 • 以下のコマンドレットを実行し、ローカルで作成したスクリプトは署名なしで実行できるように実行ポリシーを変更する • PS C:\>Set-ExecutionPolicyRemoteSigned リモーティングの有効化 • 以下のコマンドレットを実行し、PowerShell によるリモート管理を有効にする • PS C:\>Enable-PSRemoting –force
3.WindowsServer の基本設定 IP アドレスの設定 • ネットワークアダプタの一覧を表示し、IPアドレスを設定するネットワークカードの InterfaceIndex を特定する • ターゲットとなるネットワークアダプターの情報を確認する(以下の例では InterfaceIndex=13 としている) • 既定では DHCP を利用するように設定されているので、以下のコマンドを使用して静的なIP アドレスを設定する PS C:\>Get-NetAdapter| FT Name, InterfaceIndex, InterfaceDescription PS C:\>Get-NetIPAddress-InterfaceIndex 13 -AddressFamily IPv4 PS C:\>New-NetIPAddress -InterfaceIndex13 -IPAddress192.168.0.1 -AddressFamily IPv4 -PrefixLength 24-DefaultGateway192.168.0.254 ※DefaultGateway は必要に応じて ※ 既存の静的アドレスを変更する場合には Set-NetIPAddress を使用する
DNS の設定 DNS サーバーのアドレスを設定する PS C:\>Set-DnsClientServerAddress-Interface 24 -ServerAddress 192.168.0.1 ※ 複数の DNS サーバーが存在する場合にはカンマで区切って指定する 参考 IP アドレスの削除 PS C:\>Remove-IPAddress -InterfaceIndex 24 -AddressFamily IPv4 DNSの設定を削除する PS C:\>Set-DnsClientServerAddress-Interface 24 -ResetServerAddress DHCP を有効にする PS C:\>Set-NetIPInterface-InterfaceIndex 24 -Dhcp Enabled
ローカルコンピューター名を設定する 現在のコンピューター名を取得する 新しいコンピューター名を設定し、再起動する PS C:\>$Env:ComputerName PSC:\> Rename-Computer -NewName“HV01” -Force -Restart
WindowsUpdate を実行する • 以下のコマンドを実行して、Windows Update PowerShell Module をダウンロードする上記コマンドでダウンロードできない場合には、以下のサイトから WindowsUpdatePowerShellModule の最新版をダウンロードしてくださいhttp://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc※「WindowsUpdatePowerShellModules」で検索すればヒットします • 以下のコマンドを使用して、ダウンロードした PSWindowsUpdate.zip ファイルを適当な場所に展開する。ここでは C:\tmp フォルダに展開しています。 • Dir コマンドで、PSWindowsUpdateフォルダが作成されていることを確認 PS C:\>$web = New-Object System.Net.WebClient PS C:\>$zipfile = "http://gallery.technet.microsoft.com/scriptcenter/” PS C:\> $zipfile = $zipfile + “2d191bcd-3308-4edd-9de2-88dff796b0bc/file/41459/28/PSWindowsUpdate.zip" PS C:\>$web.DownloadFile($zipfile, "C:\tmp\PSWindowsUpdate.zip") • PS C:\> Add-Type -AssemblyNameSystem.IO.Compression.FileSystem • PS C:\> $ZipFile = Get-Item C:\tmp\PSWindowsUpdate.zip • PS C:\> [IO.Compression.ZipFile]::ExtractToDirectory( $ZipFile, ‘C:\tmp’ )
以下のコマンドを実行し、フォルダの中に格納されているすべてのファイルの「ブロック解除」を行う。この操作はファイルのプロパティ画面から「ブロックの解除」を行うのと同様である。以下のコマンドを実行し、フォルダの中に格納されているすべてのファイルの「ブロック解除」を行う。この操作はファイルのプロパティ画面から「ブロックの解除」を行うのと同様である。 • PowerShell モジュールの格納場所を確認する • 既定では C:\Users\junichia\Documents\WindowsPowerShell\Modules が存在しないので、以下のコマンドで PowerShell モジュールの格納場所を作成する • PS C:\>Unblock-File <ファイルの保存先>\*.* • (例) • PS C:\>Unblock-File c:\tmp\PSWindowsUpdate\*.* • PS C:\>$env:PSModulePath • C:\Users\Administrator\Documents\WindowsPowerShell\Modules;C:\windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\ • PS C:\>md C:\Users\Administrator\Documents\WindowsPowerShell\Modules
以下のコマンドを実行し PSWindowsUpdateフォルダーを C:\Users\Administrator\Documents\WindowsPowerShell\Modules 配下に移動する以下の例では PSWindowsUpdateフォルダーは C:\tmp にあるものとしている • PSWindowsUpdateモジュールを読み込む • WindowsUpdate を実行する • PS C:\>Move C:\tmp\PSWindowsUpdate C:\Users\Administrator\Documents \WindowsPowerShell\Modules • PS C:\>Import-ModulePSWindowsUpdate • PS C:\>Get-WUInstall-AcceptAll
4.Hyper-V の構成 Hyper-V 役割をインストールする • 以下のコマンドで現在インストールされている役割と機能の一覧を参照する • 以下のコマンドを実行して、Hyper-V 役割と管理ツール群をインストールし再起動する • Hyper-V関連のコマンドレットを確認する • PS C:\>Get-WindowsFeature • PS C:\>Add-WindowsFeatureHyper-V-IncrudeAllSubFeature -IncludeManagementTools • -Restart PS C:\>Get-Command-ModuleHyper-V
Hyper-V ホストの設定値を変更する • Hyper-V ホストの規定値を確認する • 仮想ハードディスクの既定の保存先を設定する※以下の例では仮想ハードディスクの既定の保存先を D:\VM に指定しています • 仮想ハードディスクの構成ファイルの既定の保存先を設定する PS C:\>Get-VMHost|FL PS C:\>Set-VMHost-VirtualHardDiskPath D:\VM PS C:\>Set-VMHost-VirtualMachinePath D:\VM
Hyper-Vレプリカを有効にする • Hyper-V レプリカの設定値を確認する • Hyper-V レプリカを有効にし、認証タイプを Kerberos にする • どんなサーバーからの複製も受け入れ、複製の保存先を D:\VM に設定する • Windows Firewall の受信規則を確認する PS C:\>Get-VMReplicationServer| FL PS C:\>Set-VMReplicationServer-ReplicationEnabled $True -AllowedAuthenticationType Kerberos PS C:\>Set-VMReplicationServer-ReplicationAllowedFromAnyServer $True -DefaultStorageLocation D:\VM PS C:\>Get-NetFirewallRule-Direction Inbound
WindowsFirewall の受信規則の中から、Hyper-V レプリカに関する設定を確認する※HTTP と HTTPS に関する規則が存在することがわかります※ それぞれ、ルール名で保存されていますHTTP : VIRT-HVRHHTTPL-In-TCP-NoScopeHTTPS : VIRT-HVRHHTTPSL-In-TCP-NoScope • “Hyper-V レプリカHTTP リスナー(TCP受信)”規則を有効にする PS C:\>Get-NetFirewallRule-Direction Inbound-Desctiption *レプリカ* PS C:\>Set-NetFirewallRule-Name“VIRT-HVRHTTPL-In-TCP-NoScope” -Enabled True $ は必要ありません
仮想スイッチの作成 • 仮想スイッチの一覧を表示する※まだ仮想スイッチは存在しません • ネットワークアダプターの一覧を表示し、外部仮想スイッチにバインドするネットワークアダプターの Name 値を確認する • 新しい外部スイッチを “ExternalSwitch” という名前で作成する。以下の例ではバインド先のネットワークアダプタ名は“イーサネット”として指定している。 • ②で確認したHyper-V ホストの NIC が仮想化され、“ExternalSwitch”に接続されたことを確認する※ “vEthernet(ExternalSwitch)” という仮想NIC が新たに作成されたことを確認してください PS C:\>Get-VMSwitch PS C:\>Get-NetAdapter|FL PS C:\> New-VMSwitch-Name “ExternalSwitch”-NetAdapterInterName “イーサネット” -AllowManagementOS $True PS C:\>Get-NetAdapter|FL
5.DNS サーバーを構成する DNSサーバー役割をインストールする • DNS をインストールする • DNS サービス関連のコマンドレットを確認する DNS ゾーン の確認 • 現在のゾーン設定を確認する現時点ではゾーンは存在しません。以降の手順でActiveDirectory ドメインを構築します。 PS C:\>Add-WindowsFeaturedns -IncludeManagementTools -IncrudeAllSubFeature -Restart PS C:\>Get-Command *DNSServer* PS C:\>Get-DNSServerZone
6.ActiveDirectory ドメインを構成する ActiveDirectoryDomainService (ADDS)役割をインストールする • ADDS をインストールする • AD DS 関連のコマンドレットを確認する ActiveDirectory ドメインを構築する ここでは Contoso.com ドメインを作成します • 必要なモジュールをインポートする • 以下のコマンドを実行して回復モードパスワードを SecureString に変換し、$Password 変数に格納する。ここではパスワードを P@ssw0rd としています。 PS C:\>Add-WindowsFeatureAD-Domain-Services -IncludeManagementTools -IncrudeAllSubFeature -Restart PS C:\>Get-Command-module ActiveDirectory PS C:\>Import-Module ADDSDeployment PS C:\> $Password = ConvertTo-SecureString “P@ssw0rd”-AsPlainText -Force
ドメインコントローラーに昇格する※ 以下は便宜上改行していますが、実際には1行で入力してくださいインストールが完了すると自動的に再起動されます。 PS C:\> Install-ADDSForest-CreateDnsDelegation:$False -DatabasePath “C:\Windows\NTDS” -DomainMode “Win2012R2” -DomainName “contoso.com” -DomainNetbiosName “CONTOSO” -ForestMode “Win2012R2” -InstallDns:$True -LogPath C:\Windows\NTDS” -NoRebootOnCompletion:$False -SysvolPath “C:\Windows\Sysvol” -SafeModeAdministratorPassword $Password -Force:$True
Contoso.com ゾーンが作成されていることを確認する PS C:\>Get-DNSServerZone-Namecontoso.com | FL
7.DHCP サーバーを構成する DHCP サービスをインストールする 今後仮想マシンを作成した際にアドレスをリースできるようにするため、DHCPサーバーをセットアップしておきます。 • 以下のコマンドで DHCP サービスをインストールする※ -Restart パラメタは、再起動が必要な場合に限って再起動が行われます。DHCPサービスのインストールでは再起動は行われません。 • DHCPサービス関連のコマンドレットを確認する • PS C:\>Add-WindowsFeatureDHCP-IncrudeAllSubFeature -IncludeManagementTools • -Restart • PS C:\>Get-Command *DHCP*
DHCP サービスを構成する • DHCP サーバーのバインディングが 192.168.0.1 に設定されていることを確認する※バインディングが有効にされた NIC を通じて DHCP サービスによる IP アドレスリースが行われますBindingState が True であることを確認してください。 • DHCP サービスのバインディングを 192.168.0.1 に設定する(設定されていない場合)※事前に Get-NetAdapterで NIC の Name プロパティを確認してください。以下の例で-InterfaceAliasに指定している値は NIC の Name プロパティです。 • DHCP サービスを ActiveDirectory で承認する • DHCP サービスに必要なセキュリティグループを作成する※Netshコマンドを使用します • PS C:\>Get-DHCPServerV4Binding • PS C:\>Set-DHCPServerV4Binding-InterfaceAlias “vEthernet (ExternalSwitch)” • -BindingState $True • PS C:\> Add-DHCPServerInDC-DnsName contoso.com • PS C:\> Netshdhcp add SecurityGroups
PS C:\>Restart-ServiceDHCPServer • DHCP サービスを再起動 • もしサーバーマネージャー上に「DHCP サーバーの構成が必要です」が表示され続けるようであれば、以下のコマンドを実行してアラートをリセットする • PS C:\>Set-ItemProperty • –Path registry::HKLM\SOFTWARE\Microsoft\ServerManager\Roles\12 • –Name ConfigurationState–Value 2
スコープを作成する • IPV4のスコープを追加 • 追加したスコープを表示し、ScopeID を確認する※ この演習では 192.168.0.0 と設定されているはず • 作成したスコープに DNSServer を追加する • PS C:\>Add-DHCPServerV4Scope-StartRange 192.168.0.10 -EndRange 192.168.0.20 -SubnetMask 255.255.255.0 -Name “Scope for VMs” -State Active • PS C:\>Get-DHCPServerV4Scope • PS C:\>Set-DhcpServerV4ScopeOptionValue-ScopeID 192.168.0.0-DnsServer 192.168.0.1
8. 仮想マシンの構成 ここでは既に OS がインストールされている仮想ハードディスクを使用して、新しいゲストOSを作成します ゲスト OS の作成 • ゲストOSの一覧を取得する※何も表示されません • ゲストOS を作成するこの例では VM01 という名前のゲストOSを作成します。仮想マシンの世代は「第一世代」としています。また、仮想ハードディスクの保存先は D:\VMs\VM01.vhd です。 PS C:\> Get-VM PS C:\> New-VM -Name “VM01” -MemoryStartupBytes1024MB -VHDPath D:\VMs\VM01.vhd -SwitchName “ExternalSwitch” -Generation 1 -BootDevice IDE
作成したゲストOSVM01 の設定値を確認する • 動的メモリを有効にし、仮想CPUの割り当て数を 2 に変更する • ゲストOSを起動する PS C:\> Get-VM-NameVM01|FL PS C:\> Set-VM-Name VM01 -ProcessorCount 2 -DynamicMemory PS C:\>Start-VMVM01
ゲスト OS の初期設定(この部分だけゲストOS側で実施します) • この演習では、ゲスト OS としてSysprep が適用された WindowsServer2012R2 を使用しています。 • ※評価版ダウンロードサイトからダウンロードした「VHD」ファイル • そのため、リモート(Hyper-V ホスト)からの管理を有効にするには、Hyper-V マネージャーからゲスト OS 「VM01」に接続して、以下の操作を行う必要があります。 • OOBE セットアップ • 言語の選択(規定値は英語です) • 利用許諾への合意 • パスワードの設定(言語で En-US を選択した場合、キーボード配列は 101/102 となります。ご注意ください)パスワードとして P@ssw0rd を使用する場合、 101/102 キーボードの場合、「@」は [Shift] + [2] となります。 • ゲストOSの PowerShell コンソールから以下を実行してリモーティングを有効化 • ゲストOS の PowerShell コンソールから ネットワーク探索を有効化 PS C:\>Enable-PSRemoting-Force PS C:\>netshadvfirewall firewall set rule group=”network discovery” new enable=yes
ゲスト OS の環境設定を行う ※この操作は Hyper-V ホスト側でおこないます • ゲストOSをリモート管理するために、Hyper-V ホスト側の TrustedHosts の設定を行う • ゲストOSに接続するための資格情報を作成する※ここではゲストOSのパスワードが P@ssw0rd であるとします • ゲストOSにリースされているIPアドレスを確認する • 作成したクレデンシャルを使用して、ゲストOSに接続する※ ゲストOSVM01 には、DHCPサーバーより 192.168.0.11 がリースされているものとします PS C:\>Set-ItemWSMan:\localhost\Client\TrustedHosts 192.168.0.* -Concatenate PS C:\> $User = “Administrator” PS C:\> $Pass = ConvertTo-SecureString “P@ssw0rd”-AsPlainText -Force PS C:\> $Cred = New-Object System.Management.Automation.PSCredential $user, $pass PS C:\>Get-DhcpServerV4Lease-ScopeId 192.168.0.0 PS C:\>Enter-PSSession192.168.0.11 -Credential $Cred
ゲストOS のネットワークアダプター情報を確認する(InterfaceIndex を確認してください)※ゲストOSのセッションに接続したまま実行します • ゲストOS のIPアドレスを確認する(InterfaceIndex=12 としています)※PrefixOrigin が DHCPであることを確認してください※ゲストOSのセッションに接続したまま実行します • ゲスト OS の IP アドレスを 192.168.0.100 に設定する※ゲストOSのセッションに接続したまま実行しますこのコマンドを実行すると ゲストOSのIPアドレス変更によってセッションが切断されます。これは正しい動作です。自動的に再接続が試みられますが、[Ctrl]+[C] でキャンセルしてください。 [192.168.0.11] :PS C:\>Get-NetAapter [192.168.0.11] :PS C:\>Get-NetIPAddress-InterfaceIndex 12 -AddressFamily IPv4 [192.168.0.11] :PS C:\>New-NetIPAddress-InterfaceIndex12 -IPAddress192.168.0.100 -AddressFamily IPv4 -PrefixLength 24
再度ゲストOSに接続する • DNSサーバーの設定を行う※ゲストOSのセッションに接続したまま実行します • コンピューター名を変更する※ゲストOSのセッションに接続したまま実行します • セッションを閉じる PS C:\> $User = “Administrator” PS C:\> $Pass = ConvertTo-SecureString “P@ssw0rd”-AsPlainText -Force PS C:\> $Cred = New-Object System.Management.Automation.PSCredential $user, $pass PS C:\>Enter-PSSession192.168.0.100 -Credential $Cred [192.168.0.100] :PS C:\> [192.168.0.100] PS C:\>Set-DnsClientServerAddress-Interface 12 -ServerAddress 192.168.0.1 [192.168.0.100] :PSC:\> Rename-Computer -NewName“HV01” -Force -Restart [192.168.0.100] :PSC:\> Exit PSC:\>
VM01 を DNS に登録する • 再度ゲストOSに接続する PS C:\>Add-DnsServerResourceRecordA -Name VM01 -IPAddress 192.168.0.100 -ZoneName contoso.com PS C:\> $User = “Administrator” PS C:\> $Pass = ConvertTo-SecureString “P@ssw0rd”-AsPlainText -Force PS C:\> $Cred = New-Object System.Management.Automation.PSCredential $user, $pass PS C:\>Enter-PSSession192.168.0.100 -Credential $Cred [192.168.0.100] :PS C:\>
VM01 を ドメインに参加させる※ゲストOSのセッションに接続したまま実行します • セッションを閉じる [192.168.0.100] :PS C:\>$Domain = “contoso.com” [192.168.0.100] :PS C:\>$Client = $Env:COMPUTERNAME [192.168.0.100] :PS C:\> $User = “Administrator” [192.168.0.100] :PS C:\> $Pass = ConvertTo-SecureString “P@ssw0rd”-AsPlainText -Force [192.168.0.100] :PS C:\> $Cred = New-Object System.Management.Automation.PSCredential $user , $pass [192.168.0.100] :PS C:\> $DomainUser= “Contoso\Administrator” [192.168.0.100] :PS C:\> $DomainPass= ConvertTo-SecureString “P@ssw0rd”-AsPlainText -Force [192.168.0.100] :PS C:\> $DomainCred= New-Object System.Management.Automation.PSCredential$DomainUser , $DomainPass [192.168.0.100] :PS C:\> Add-Computer-ComputerName $Clienit -LocalCredential$Cred -Credential $DomainCred -DomainName$Domain [192.168.0.100] :PSC:\> Exit PSC:\>
仮想マシン VM01 を再起動する • 資格情報なしで VM01 に接続できることを確認する • セッションを閉じる PSC:\>Restart-VM VM01 -Force PSC:\>Enter-PSSessionVM01 [VM01]: PS C:\> [VM01]: PS C:\>Exit PS C:\>
第2部 ライブマイグレーション このセクションでは、第1部で作成した環境に Hyper-V サーバーをもう1台加え、ライブマイグレーションが行える環境を構築します。 もちろん、各種設定は WindowsPowerShell のみで行います。
以降の作業ではライブマイグレーションを行うため、Hyper-V がインストールされた2台目の WindowsServer が必要となります。ここでは、Hyper-VServer2012R2 を使用しています。 2台目の WindowsServer • Hyper-VServer2012R2 のインストール • WindowsPowerShell の基本設定 • 実行ポリシーの設定 • リモーティング(リモート管理)の設定 • WindowsServer の基本設定 • IP アドレスの設定 • DNSの設定 • コンピューター名の設定 • ActiveDirectory ドメインへの参加 • WindowsUpdate の実行 • Hyper-V の構成 • PowerShell モジュールのインストール • Hyper-V ホストの規定値を変更する • 仮想ハードディスクの保存先 • 仮想マシンの保存先 • Hyper-V レプリカの有効化 • 仮想スイッチの作成 ライブマイグレーションの設定を実行※1台目のサーバー HV01 で実施 • ライブマイグレーションの環境設定 • ライブマイグレーションの有効化 • 仮想マシンの「プロセッサの互換性」の設定 • 委任の設定 • ライブマイグレーションの実行
9.Hyper-VServer2012R2 のインストール 2台目の PC を用意し、Hyper-Vがインストールされた WindowsServer2012R2 を用意してください。 ここでは Hyper-VServer2012R2 を使用します。 Hyper-VServer2012R2をインストールすると自動的に Hyper-V もインストールされます。
10.WindowsPowerShell の基本設定 Hype-V Server 2012 R2 では統合スクリプト環境(ISE)を使用することはできません。 スクリプト環境の起動 • Hyper-VServer2012R2 にサインインする • コマンドプロンプトで以下のコマンドを実行して PowerShell コンソールを起動する。プロンプトが 「PS」に変わったことを確認してください。 実行ポリシーの設定 • 以下のコマンドレットを実行し、ローカルで作成したスクリプトは署名なしで実行できるように実行ポリシーを変更する リモーティングの有効化 • 以下のコマンドレットを実行し、PowerShell によるリモート管理を有効にする • C:\>PowerShell • PSC:\> • PS C:\>Set-ExecutionPolicyRemoteSigned • PS C:\>Enable-PSRemoting –force
11.Hyper-VServer の基本設定 IP アドレスの設定 • ネットワークアダプタの一覧を表示し、IPアドレスを設定するネットワークカードの InterfaceIndex を特定する • ターゲットとなるネットワークアダプターの情報を確認する(以下の例では InterfaceIndex=13 としている) • 既定では DHCP を利用するように設定されているので、以下のコマンドを使用して静的なIP アドレスを設定する PS C:\>Get-NetAdapter| FT Name, InterfaceIndex, InterfaceDescription PS C:\>Get-NetIPAddress-InterfaceIndex 13 -AddressFamily IPv4 PS C:\>New-NetIPAddress -InterfaceIndex13 -IPAddress192.168.0.2 -AddressFamily IPv4 -PrefixLength 24 ※DefaultGateway は必要に応じて ※ 既存の静的アドレスを変更する場合には Set-NetIPAddress を使用する
DNS の設定 DNS サーバーのアドレスを設定する PS C:\>Set-DnsClientServerAddress-Interface 13 -ServerAddress 192.168.0.1 ※ 複数の DNS サーバーが存在する場合にはカンマで区切って指定する 参考 IP アドレスの削除 PS C:\>Remove-IPAddress -InterfaceIndex 24 -AddressFamily IPv4 DNSの設定を削除する PS C:\>Set-DnsClientServerAddress-Interface 24 -ResetServerAddress DHCP を有効にする PS C:\>Set-NetIPInterface-InterfaceIndex 24 -Dhcp Enabled
ローカルコンピューター名を設定する 現在のコンピューター名を取得する 新しいコンピューター名を設定し、再起動する 再起動後サインインして、再度 PowerShell コンソールを起動する PS C:\>$Env:ComputerName PSC:\> Rename-Computer -NewName“HV02” -Force -Restart • C:\>PowerShell • PSC:\>
Hyper-VServer “HV02” を Contoso ドメインに参加させる ドメインに参加させる コンピューターを再起動する 再起動後、ドメインアカウント(contoso\administrator)でサインインしてください PS C:\>$Domain = “contoso.com” PS C:\>$Client = $Env:COMPUTERNAME PS C:\> $User = “Administrator” PS C:\> $Pass = ConvertTo-SecureString “P@ssw0rd”-AsPlainText -Force PS C:\> $Cred = New-Object System.Management.Automation.PSCredential $user , $pass PS C:\> $DomainUser= “Contoso\Administrator” PS C:\> $DomainPass= ConvertTo-SecureString “P@ssw0rd”-AsPlainText -Force PS C:\> $DomainCred= New-Object System.Management.Automation.PSCredential$DomainUser , $DomainPass PS C:\> Add-Computer-ComputerName $Clienit -LocalCredential$Cred -Credential $DomainCred -DomainName$Domain PSC:\>Restert-Computer
WindowsUpdate を実行する • 以下のコマンドを実行して、Windows Update PowerShell Module をダウンロードする上記コマンドでダウンロードできない場合には、以下のサイトから WindowsUpdatePowerShellModule の最新版をダウンロードしてくださいhttp://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc※「WindowsUpdatePowerShellModules」で検索すればヒットします • 以下のコマンドを使用して、ダウンロードした PSWindowsUpdate.zip ファイルを適当な場所に展開する。ここでは C:\tmp フォルダに展開しています。 • Dir コマンドで、PSWindowsUpdateフォルダが作成されていることを確認 PS C:\>$web = New-Object System.Net.WebClient PS C:\>$zipfile = "http://gallery.technet.microsoft.com/scriptcenter/” PS C:\> $zipfile = $zipfile + “2d191bcd-3308-4edd-9de2-88dff796b0bc/file/41459/28/PSWindowsUpdate.zip" PS C:\>$web.DownloadFile($zipfile, "C:\tmp\PSWindowsUpdate.zip") • PS C:\> Add-Type -AssemblyNameSystem.IO.Compression.FileSystem • PS C:\> $ZipFile = Get-Item C:\tmp\PSWindowsUpdate.zip • PS C:\> [IO.Compression.ZipFile]::ExtractToDirectory( $ZipFile, ‘C:\tmp’ )
以下のコマンドを実行し、フォルダの中に格納されているすべてのファイルの「ブロック解除」を行う。この操作はファイルのプロパティ画面から「ブロックの解除」を行うのと同様である。以下のコマンドを実行し、フォルダの中に格納されているすべてのファイルの「ブロック解除」を行う。この操作はファイルのプロパティ画面から「ブロックの解除」を行うのと同様である。 • PowerShell モジュールの格納場所を確認する • 既定では C:\Users\junichia\Documents\WindowsPowerShell\Modules が存在しないので、以下のコマンドで PowerShell モジュールの格納場所を作成する • PS C:\>Unblock-File <ファイルの保存先>\*.* • (例) • PS C:\>Unblock-File c:\tmp\PSWindowsUpdate\*.* • PS C:\>$env:PSModulePath • C:\Users\Administrator\Documents\WindowsPowerShell\Modules;C:\windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\ • PS C:\>md C:\Users\Administrator\Documents\WindowsPowerShell\Modules
以下のコマンドを実行し PSWindowsUpdateフォルダーを C:\Users\Administrator\Documents\WindowsPowerShell\Modules 配下に移動する以下の例では PSWindowsUpdateフォルダーは C:\tmp にあるものとしている • PSWindowsUpdateモジュールを読み込む • WindowsUpdate を実行する • PS C:\>Move C:\tmp\PSWindowsUpdate C:\Users\Administrator\Documents \WindowsPowerShell\Modules • PS C:\>Import-ModulePSWindowsUpdate • PS C:\>Get-WUInstall-AcceptAll
12.Hyper-V の構成 Hyper-VServer には既にHyper-Vの役割がインストールされていますが、PowerShell 管理用モジュールはインストールされていません。ここでは管理モジュールをインストールします。 WindowsPowerShell 用 Hyper-V モジュールをインストールする • 以下のコマンドで現在インストールされている役割と機能の一覧を参照する • 以下のコマンドを実行して、WindowsPowerShell 用 Hyper-V モジュールをインストールする • Hyper-V関連のコマンドレットを確認する • PS C:\>Get-WindowsFeature • PS C:\>Add-WindowsFeatureHyper-V-PowerShell -IncludeAllSubFeature PS C:\>Get-Command-ModuleHyper-V
Hyper-V ホストの設定値を変更する • Hyper-V ホストの規定値を確認する • 仮想ハードディスクの既定の保存先を設定する※以下の例では仮想ハードディスクの既定の保存先を E:\VM に指定しています • 仮想ハードディスクの構成ファイルの既定の保存先を設定する PS C:\>Get-VMHost|FL PS C:\>Set-VMHost-VirtualHardDiskPath E:\VM PS C:\>Set-VMHost-VirtualMachinePath E:\VM