MS安納氏による「Windows Server 2012で運用管理をさらに自動化する」のまとめ(?)

マイクロソフトのエヴァンジェリスト安納さんによるWindows Server Cloud Day 2012でのセッション「Windows Server 2012で運用管理をさらに自動化する」の自分用メモです。メモメモ!!

 

Windows Server 2012でもLive Migrationができます。
クラスタ構成を構築したり、System Centerを使用したりしないといけないと思うかもしれません。
しかし、Windows Server 2012から変わりました。
VHDの配置場所を共有ディスク(\\testServer\vhd\test.vhd)に配置できるようになりました。

Hyper-Vマネージャから仮想マシンを選択し、右クリックから「移動」を選択すると、移動ウィザードが開きます。移動先として、仮想HDDなのか、仮想PCなのかを指定できます。
今回は、仮想HDDを共有ディスクに配置していますので、仮想PCだけを移動すれば良い。ダウンタイム無し(動画を再生しっぱなしで移動しても動画が止まることなく移動できる)で実現できます。

この移動を自動化するのに、powershellを使用してください。

Get-Commond –module Hyper-V

Hyper-V用の操作コマンドレットが提供されています。
従来は、SCVMMを購入しなければ使用できなかったコマンドレットですが、Windows Server 2012からは、SCVMM無しで使用できます。

仮想マシンを作成するのに、「New-VM」コマンドレットを使用できます。さらに、次のようなスクリプトを使用すると、仮想マシンをを並列処理でまとめて分散作成することができます。
これまでは、順番に作成していたので遅かったのが、並列処理ができるようになったので早くなりました。(引数で、仮想マシン名を受け取るようにして、ループ処理を並列実行すると良いです。)

workflow hogehoge([String ……])
{
     foreach –parallel(………)
     {
         NEW-VM –BootDevice CD
        <以下、略>
     }
}

仮想マシンの移動をするには、「Move-VM」コマンドレットを使用します。複数の仮想マシンをまとめて並列処理で実行するには、先ほどと同様にワークフローを登録し、「parallel」を使用すると並列処理できます。

スクリプトにsuspend機能が用意されました。長いスクリプトの途中で、条件分岐で不適合だったらsuspendします。後日、条件を満たしてから長いスクリプトを再実行するときにresumeしたら、前回の続きから再実行することができるようになりました。

処理の永続化(バックグラウンドジョブ化)することができます。

Workflow test{
     hogehoge
}

//ワークフローの実行時に、次のようにオプションを付加するとバックグラウンドジョブになります
test –asjob

//ジョブの実行記録を参照したい場合は、次のようにジョブを受信します。-
Receive-job job42

PowerShell Web Accessというツールがあります。ブラウザでアクセスし、接続先PC名、ユーザ名、パスワードを入力するとブラウザ上でPowerShellのコマンドレットを実行できる画面が表示されます。ターミナルサービスとは異なります。さらに、スマートフォンからアクセスして、スマートフォンからPowerShellを実行することもできます。

 

堅牢性を支えるテクノロジー

  • ライブマイグレーション
  • ライブストレージマイグレーション
  • 仮想ストレージ
  • NICチーミング
  • クラスタ対応更新
  • Windows Management Framework 3.0

物理マシンと仮想マシンの違い

物理マシンは、ComputeとStoregeが一体です。
仮想マシンは、ComputeとStorageが分離しています。
分離しているので、別のマシンへの移行が容易になりました。

ライブマイグレーション

仮想マシンの移動方法には、「仮想マシンを移動する」「仮想マシンの記憶域を移動する」が用意されています。
仮想マシンを移動するは、記憶域は移動させずComputeだけを移動できます。
仮想マシンの記憶域を移動するは、Computeは移動せずに記憶域だけを移動させることができます。

後からServer Coreに変更できるようになりました

従来、インストール時のみにしか選択できなかったServer Coreですが、Windows Server 2012では後からServer Coreに切り替えられるようになりました。
サーバーの役割から、グラフィックを削除してあげると不要なモジュールを減らせる縮小インストールができるようになりました。
IP設定などの設定完了後に、Server Coreに移行することができます。

NICのチーミングとSMB3.0マルチチャネル

  • NICチーミングをOS標準でサポート
  • SMB 3.0マルチチャネル with RSS
    • SMBスループット向上
    • 1セッションあたり最大4TCP/IP Connection

仮想ストレージ

複数の物理HDDを一つの記憶域プールとしてまとめることができます。

まとめた記憶域プールからストレージを新たに切り出すことができます。ストレージを切り出す際にSimple、Mirror、Parityを選択することができます。

Windows Management Framework 3.0

Windows Server 2012では、PowerShellを強化します。全処理をPowerShell実装します。その上にGUIを載せます。ですので、PowerShellでできることが、GUIでできないということもあります。

 

標準化されたアクセス:PowerShell

標準化されたプロトコル:WS-MAN(Web Service for Manager)

標準化されたオブジェクトモデル:CIMOM、SMI-S

 

  • ワークフローによるジョブの永続化
  • 堅牢なセッション管理
  • PSSちぇづぇdJobモジュールによるジョブスケジューリングへの対応

サーバーマネージャを使いましょう!

必要な設定はサーバーマネージャから実行できます。サーバーマネージャから必要な設定は基本的にすべてそろっています。例えば、次のような設定はすべてサーバーマネージャからできます。

  • コンピューター名
  • ドメイン
  • Windowsファイヤーウォール
  • リモート管理
  • NICチーミング
  • IP設定

ほかにも新しい機能が追加されました。

  • 仮想マシンの管理(オフラインVHDへの役割/機能展開)

モジュールとコマンドのインポート

サーバーにあるモジュールを一時的にローカルにモジュールをインポートすることができます。

Import-PSSessionコマンドレットを実行することで、リモートのサーバーのモジュールをローカルにインポートできるので、あたかもローカルPCにHyper-Vがインストールされているかのように処理をすることができます。

PowerShellワークフロー

結果の永続化をすることができます。
チェックポイントを使用することで、結果ストアに結果を保存することができ、途中で処理が飛んだ場合も結果ストアの結果から再開することができます。

PowerShellのエディタ

インテリセンスが使用できるようになりました。パラメーターも入力候補がインテリセンスで表示されるようになりました。
これまでは、Tabでの入力補完でした。

管理の可用性を高めるもの

  • 一括処理
  • リモーティング
  • 堅牢性

そして、仮想化とWindows PowerShellです。
System Center 2012が加わると、ありとあらゆるITサービスと有機的に連携できるようになります。

まとめ

PowerShellを覚えましょう。
PowerShellをやれば、間違いありません。
PowerShellが堅牢なシステムにつながります。
PowerShellです。