2.99k likes | 3.84k Views
Windows Server 2012 R2 Preview を試す前に知っておきたい. Windows Server 2012 ほぼ “ 全 ” 新機能 解説セミナー. 第 1 版 2013.07.12. Agenda. Server Manager ユーザーインターフェースオプション の追加 Windows PowerShell 3.0 SMB 3. 0 ストレージ スケールアウトファイルサーバー Hyper-V VDI DirectAccess IIS 8.0 IPAM DHCP Failover
E N D
WindowsServer2012R2Previewを試す前に知っておきたいWindowsServer2012R2Previewを試す前に知っておきたい Windows Server 2012 ほぼ “全”新機能 解説セミナー 第 1 版 2013.07.12
Agenda • ServerManager • ユーザーインターフェースオプション の追加 • WindowsPowerShell3.0 • SMB3.0 • ストレージ • スケールアウトファイルサーバー • Hyper-V • VDI • DirectAccess • IIS8.0 • IPAM • DHCPFailover • ActiveDirectoryDomainService • AD DSonHyper-V • DynamicAccess Control
ModernUIの採用 • 規定ではログオンするとサーバーマネージャーが起動 • 管理ツールは「ツール」メニューから起動
複数サーバーの管理 • ダッシュボードによる視認性の向上
複数サーバーの管理 • 表示にアクションを直結
複数サーバーの管理 • 複数サーバーのサービスを同時に操作
複数サーバーの管理 • カスタム サーバーグループの作成 1 2 3
複数サーバーの管理 • フィルター
役割や機能の追加 • ローカルサーバー • リモートサーバ(含 Server Core) • オフライン VHD
PowerShellでサーバーマネージャーの処理を自動化PowerShellでサーバーマネージャーの処理を自動化 • 2300 以上のコマンドレット • コマンドレットの検索機能 • IntelliSense
ユーザーインターフェースの変更 Windows Server 2012 では3段階のインストールオプションが用意されている: • Server Core • 従来からの ServerCore • 最少インストールシェル (“MinShell”) • Server Core に加えてサーバーマネージャーなどの限定的なGUI • フルシェル • 全てのGUIがインストールされたモード。デスクトップエクスペリエンスを追加することもできる。 NEW
なぜこうなったのか? The challenges… • 攻撃の対象を減らすために、システム管理者は常にパッチの適用に気を使わなければならない • 多くの管理者にとって ServerCore によるコマンドライン操作は不便だった The Windows Server 2012 のソリューション… 複数のインターフェースオプション • リモート管理ツールを使用せずに、システム管理者が使い慣れた GUI で管理することができる • さまざまなコンポーネントによるサーバー負荷をできる限り低減したい • GUIをインストールするために、OSごと再インストールするのではなく、機能の追加や削除で対応できると便利 • GUIによってサーバーのインストールイメージや手順を複数用意するのではなく、1種類で済ませたい
Server Core • .Net Framework 4.5 • Active Directory (AD) • Active Directory Lightweight Directory Services (ADLDS) • Active Directory Certificate Services (ADCS) • DHCP Server • DNS Server • File Services • BITS Server • BranchCache • Hyper-V • Internet Information Services (IIS) • Printing Services • Streaming Media Services • iSCSI • Load Balancing • MPIO • qWave • Telnet • Unix Migration • SQL Server 2012 マイクロソフトの推奨インストール構成 • Server Core は以前と比較して多くの役割や機能をサポートしている-.Net Framework 4.5- SQL Server 2012 • WinRM により、リモートからの管理も容易 • Windows PowerShell の利用も可能 • Server Core とMinShell 間の移行が可能
MinShell 最少のGUIをインストールするためのオプション • GUI ツールを持った Server Core • Server Manager と cmd.exe が規定で起動する • 他のGUIも起動可能 • 役割や機能の追加も可能(PowerShell からのインストールも可能)
MinShell の有効化と無効化 Install-WindowsFeature Server-Gui-Mgmt-Infra Install-WindowsFeature Server-Gui-Shell Install-WindowsFeature Desktop-Experience Uninstall-WindowsFeature Server-GUI-Shell Uninstall-WindowsFeature Server-GUI-Shell -remove
Windows PowerShell とは何か? 分散処理や自動化のためのエンジンであり、スクリプトによるバッチ処理と対話シェルが用意されている • 自動化によって処理の品質を向上 • 目的ベースのコマンドレット • 管理者と開発者のギャップを埋めるツール PowerShell 3.0 は以下のOSでサポートされている: • Built-in: • Windows Server 2012 • Windows 8 • ダウンロード: • Windows 7 SP1 • Windows Server 2008 SP2 • Windows Server 2008 R2 SP1
スクリプトの実行環境 bat VBScript JScript PowerShell スクリプト PowerShell エンジン COM exe COM .NET Framework Script Engine Class Library Windows Script Host cmd/command Cscript.exe Wscript.exe CLR(共通言語ランタイム) Windows
マイクロソフト製品と PowerShell の関係 • 製品ごとに専用の”コマンドレット”が用意されている • 多くの管理 GUI は裏でコマンドレットを呼んでいる • インフラ担当者に、各製品への”標準化されたアクセス方法”を提供する Active Directory 管理センター PowerShell コンソール System Center Virtual Machine Manager Active Directory PowerShell コマンドレット Hyper-V PowerShell コマンドレット Active Directory Hyper-V
事前準備 • コンソールの環境設定 • 簡易編集を有効に • エクスプローラー(フォルダー)の環境設定 • 「拡張子を表示しない」を無効に • 実行ポリシーの設定※オンプレミスの”署名無しスクリプト”を実行できるようにする • リモートからの操作を有効にする(リモーティングの有効化) • 必要に応じて自分専用の初期設定ファイルを作成(規定では存在しない) • PS C:\>Set-ExecutionPolicyRemoteSigned • PS C:\>Enable-PSRemoting –force • PS C:\>notepad $profile
実行ポリシーの設定~ Set-ExecutionPolicy http://technet.microsoft.com/ja-jp/library/dd347628.aspx • “管理者として実行” する必要がある • 実行ポリシーの一覧 • Restricted:制限つき (オペレーターモード)(規定値) • 対話形式のみ • スクリプトは実行できない • AllSigned:署名 • スクリプトは、信頼された発行元による署名が必要 • RemoteSigned:リモートの署名 • “インターネットゾーン” のスクリプトは信頼された発行元による署名が必要 • Unrestricted:無制限 • すべてのスクリプトを実行可能 • リモートのスクリプトについては常に警告 • Bypass:バイパス • 何もブロックされず警告も表示されない “ポリシーの設定”は、規定ではコンピューター全体に影響する。適用範囲を制限するには、Scope も同時に定義する。
基本操作 ~ コマンドレット情報を取得する • 使用可能なコマンドレット一覧を取得する • “Storage” という文字列を含むコマンドレットの一覧 • 特定のモジュール内のコマンドレット一覧 • コマンドレットの書式 • PS C:\>Get-Command PS C:\>Get-Command *-vm* -CommandTypeCmdlet • PS C:\>Get-Command -Module Hyper-V • PS C:\>Get-Help<コマンドレット>-detailed • PS C:\>Get-HelpMove-VM -detailed
unixのあのコマンドは? • ls→ get-ChildItem • cp→ copy-Object • grep→ select-String • sort → sort-Object • man → help • clear → clear-Host • cat → get-Content • kill → stop-Process • tee → tee-Object • tail → get-Content 「アレはあるかな?」と思ったら Get-Alias <unix 上のコマンド>
IT Pro にとってのWindowsPowerShell 3.0 自動化 Windows Workflow Foundation との統合 ジョブのスケジューリング 堅牢なセッション • ~2,430 コマンドレット (Windows Server 2008/R2 は 230 コマンドレット) • シンプルな書式で習得が容易 • オーサリングツール(PowerShellISE)の進化 • Intellisense • Snippets • 3rdパーティによる拡張性 • Show-Command ウィンドウ • PowerShell のスキルだけでワークフローを記述 • タスクスケジューラーとのシームレスな連携 • セッションへの再接続が可能に
Show-Command Cmdlet 初心者向けのダイアログボックス • 必要なパラメターはダイアログから入力可能 • モジュールをフィルタ可能 • コマンドレット名で検索可能
堅牢なPS セッション • リユーザーブルな PS セッションには他のコンピューターから再接続が可能 • State=Disconnected, Availability=None に対してのみ • Disconnect-PSSession コマンドレットで明に Disconnect した場合 • ネットワークの切断や PC のハングアップ等で Disconnected になった場合 • ※ コンソールを明に落とした場合は強制終了したものとみなされる • 同時に2台以上のコンピューターからは接続できない State=Disconnected Availability=None Target Source1 セッション Disconnect-PSSession Connect-PSSession Source2 再接続可能
Target PC1 PS > $S = New-PSSession -ComputerName Target1 PS > $Result = Invoke-Command -Session $S {Get-Service} PS > Disconnect-PSSession -Session $S Id Name ComputerName State ConfigurationName Availability -- ---- ------------ ----- ----------------- ------------ 121 Session121 Target1 DisconnectedMicrosoft.PowerShellNone PC2 PS > Get-PSSession -ComputerName Target1 Id Name ComputerName State ConfigurationName Availability -- ---- ------------ ----- ----------------- ------------ 10 Session112 tfdc01 Disconnected Microsoft.PowerShell Busy 12 Session121 tfdc01 DisconnectedMicrosoft.PowerShellNone PS > $S = Get-PSSession -Name Session121 -ComputerName Target1 PS > Connect-PSSession -Session $S
PowerShell 3.0- ワークフロー • 複数のリモートコンピューターに対して一斉に行う処理 • 長時間を要する処理 • 途中で一時停止する可能性がある処理 • 結果を永続化したい処理 パラレル サスペンド ジョブと結果の永続化 WF WF 結果ストア 処理1 結果1 処理1 サスペンド checkpoint サーバーが条件に合致しない場合にサスペンドし、あとでレジューム サーバー ダウン 処理2 処理2 checkpoint WF 処理3
ワークフローの作成 • PowerShell ISE(またはテキストエディタ) で作成する • workflow キーワードを使用する workflow <ワークフロー名> (<引数>) { <処理> } (例)MyWorkflow という名前でリモートコンピューターのサービス一覧を取得するワークフロー workflow MyWorkflow ( [String] $ServiceName ) { Get-Service -PSComputerName $PSComputerName -Name $ServiceName } (例)実行例 PS C:\>mywf -PSComputerName 127.0.0.1 -ServiceNamewuauserv
ワークフローの実行からレジュームまで Remote Server (DC01) ローカルPC PSワークフローセッションを張る $S = New-PSWorkflowSession -ComputerName DC01 ワークフローをDC01上に作成する 状態なし Invoke-Command -Session $S -FilePath .\CreateNewUser.ps1 ワークフローが作られたことを確認 Invoke-Command -Session $S {Get-Command -CommandType Workflow} ワークフローを実行 Running Invoke-Command -Session $S {CreateUser -PSPersist $true -ErrorActionSilentlyContinue -AsJob} Suspended DC01 が停電によりシャットダウン DC01 が復電により再起動 もう一度セッションを張る $S = New-PSWorkflowSession -ComputerName DC01 ジョブIDを確認 Invoke-Command -Session $S {Get-Job} ジョブをレジューム Running Invoke-Command -Session $S {Resume-Job3}
Windows PowerShell Web Access WS-Man に接続するためのゲートウェイ Internet Home Intranet DMZ Server Session PSWA PC PSSession Devices PSSession 再接続 リバースプロキシ
PowerShell Web Access のセットアップ 1.サーバーマネージャーから PowerShell Web Access をインストールする
2.IIS で自己署名証明書を作成してバインドを設定する(SSLを有効に) ご自身のサーバーを指定してください バインドの設定で 作成した証明書を選択
3. PowerShell を管理者モードで起動 4. 以下のコマンドを実行 PS C:\>Set-ExecutionPolicyRemoteSigned PS C:\>Import-Module PowerShellWebAccess PS C:\>Install-PswaWebApplication -webSiteName "Default Web Site" PS C:\> Add-PswaAuthorizationRule * * * 5. https://<サーバー名>/pswa にアクセス ここで指定するサーバーは、 接続先となるサーバー
権限の委譲 別の権限を使用したワークフローの実行 • 資格情報を作成 • ワークフローの RunAsUser プロパティに作成した資格情報をセット • WinRM を再起動して権限を有効にする • 設定された内容を見る ↪ $Cred = Get-Credential –Credential contoso\administrator ↪ Set-Item WSMan:\localhost\Plugin\Microsoft.Powershell.Workflow\RunAsUser -Value $Cred ↪ Restart-Service WinRM ↪ Get-ChildItemWSMan:localhost\Plugin\Microsoft.Powershell.Workflow
Snippets ISE からコードスニペット機能を使用することができる • [編集]-[スニペット開始] • オリジナルのスニペットを登録するにはNew-ISESnippet • 登録したスニペットを参照するにはGet-ISESnippet
Intellisense コマンドレットやパラメタを自動補完してくれる機能 入力スピードが飛躍的に向上 補完が開始されるタイミング “-“ (dash) verb(動詞)の後のダッシュ “.” (period) オブジェクトの後にピリオド “::” (double colon) オブジェクトタイプの後にダブルコロン “\” (backslash) プロバイダーの後にエンサイン(バックスラシュ) “ “ (space) コマンドレットの後ろにスペース
どうしてこうなったのか? • スループットが向上することで… • ファイルサーバーは複数のコネクションを同時に使用して、より多くのデータを高速に転送できる • ネットワークフォールトトレンランスにより… • 同時に複数のネットワークコネクションを使用して、クライアントはネットワークの切断を回避できる • 自動構成機能により… • SMB マルチチャネルは自動的にネットワークパスを探索して、必要に応じて動的にネットワークパスを追加する • 管理コストを低減
NICチーミング&SMB3.0マルチチャネル • NICチーミング(最大32NIC/Team)を OS 標準でサポート • スイッチ依存(Static or LACP)/ 非依存 • ネットワークフォールトトレランス • SMB3.0マルチチャネル with RSS • SMBスループット向上 • 1インターフェース(=1NIC)あたり最大 4TCP/IPConnection • 1セッションあたり 既定で 32Connection CPU NICTeaming NICTeaming SMB Multi. Core Core SWITCH SMB Multi. RSS tNIC NIC tNIC RSS NIC Core Core RSS NIC NIC RSS Core Core Core NIC RSS NIC RSS Core RSS: Receive-side scaling SMB コネクション ※NICチーミングでRDMA(Remote Direct Memory Access)はサポートされていない
SMB3.0 マルチチャネルを使用するための条件 • 必要条件 • Windows Server 2012 または Windows 8 が動作していること • 少なくとも以下の 1つの構成が有効であること • 複数のネットワークアダプターを実装している • 少なくとも1つのネットワークアダプターが RSS (Receive Side Scaling) をサポート • 少なくとも2つのネットワークアダプターが NIC チーミング構成であること • 少なくとも1つのネットワークアダプターが RDMA (Remote Direct Memory Access)をサポートしていること • SMB マルチチャネルが使用できない構成 • 1枚の RSS 非対応ネットワークアダプターしか実装していない • スピードの異なるネットワークアダプター • インストール手順 • Windows Server 2012 と Windows 8 で自動的に有効になる • WindowsPowerShell を使用して有効/無効を切り替えられる
シングル NIC の場合 1セッション、マルチチャネル利用 1セッション、マルチチャネル無し • 複数のTCP/IPコネクションにより NIC の帯域を使い切る • RSS が処理をサポート • 1NIC あたり、4コネクション(規定値) • NIC の帯域を使いきれない • 1 core のみ使用 SMBClient SMBClient CPU CPU CPUの使用状況 CPUの使用状況 RSS NIC NIC SWITCH SWITCH SMBServer SMBServer NIC NIC RSS CPU CPU
複数 NIC の場合(チーミング無し) 1セッション、マルチチャネル利用 1セッション、マルチチャネル無し • NICの自動フェールオーバーをサポート • 複数の RSS NIC により帯域幅が増加(最大32コネクション ※1NICは既定で4コネクション) • RSS非サポートNICの場合はNICごとに1コネクション • 帯域を使いきれない • 1枚のNICを使用 RSS 非対応の場合 RSS 対応の場合 SMBClient SMBClient SMBClient CPU CPU RSS RSS NIC NIC NIC NIC NIC NIC SWITCH SWITCH SWITCH SWITCH SWITCH SWITCH SMBServer SMBServer SMBServer NIC NIC NIC NIC NIC NIC RSS RSS CPU CPU
1枚または複数の RDMA NIC の場合 1セッション、マルチチャネル無し 1セッション、マルチチャネル利用 • NICの自動フェールオーバー • 複数の RDMA により帯域幅が倍増 • 複数のRDMAコネクション(最大 2 connections /1NIC) • 自動フェールオーバーされない • 帯域を使い切れない • 1TCP/IP コネクション(NIC1枚のみ) • SMBover RDMA は無効 SMBClient SMBClient RDMA NIC RDMA NIC RDMA NIC RDMA NIC SWITCH SWITCH SWITCH SWITCH SWITCH SMBServer SMBServer RDMA NIC RDMA NIC RDMA NIC RDMA NIC
NICチーミング 1セッション、NICチーミング、マルチチャネル利用 1セッション、NICチーミング、マルチチャネル無し • 自動フェールオーバーされる • 帯域を使い切れない • 1TCP/IP コネクション(NIC1枚のみ) • NICの自動フェールオーバー(NICチーミングにより高速) • マルチコネクションによる帯域幅増加 • ※ただしNICが1枚に見えるためコネクションはそれぞれのNICで分割 SMBClient SMBClient Teaming RSS RSS Teaming NIC NIC NIC NIC SWITCH SWITCH SWITCH SWITCH SWITCH SMBServer SMBServer NIC NIC NIC NIC RSS RSS Teaming Teaming ※RDAM はNICチーミングが使用できない
SMB セッション について NIC インターフェースあたりのコネクション • RSSNIC :(規定値)4 TCP/IP コネクション • RDMANIC :2 RDMA コネクション • その他のNIC :1 TCP/IP コネクション クライアント―サーバー間のコネクション数は 規定値 32(セッション数は1) Client SMB SMB Server 最大 1Session/32 Connections Microsoft recommends keeping default settings, but the parameters can be modified