HPC Pack 2012 R2で最新のクラスタ!InfiniBandも使えます - その1: ヘッドノード構築編

HPC Pack 2012 R2とA8,A9計算ノード登場!

HPC Pack 2012 R2 が登場しました。今回の目玉はズバリこれです。

Windows Azureの新インスタンス A8 と A9 に対応!

A8,A9とは、コアあたり7GBのメモリと40GbpsのInfiniBandを備えた、HPC用の新インスタンスです。そう、2012年11月のTOP 500ランキングに登場したやつですよ!ずいぶん時間がかかってしまいましたが、ようやく皆さんにお使いいただけるようになりました。

image

というわけで今回は、HPC Pack 2012 R2でWindows Azure上にクラスタを作り、A8, A9のInfiniBandを試す!という手順をお伝えします。

この記事で作成するクラスタの概要

オンプレミスとクラウドにまたがるハイブリッドクラスタを構築できるのがHPC Packの特徴ですが、今回はヘッドノードも含めてすべてAzure上に配置する「完全クラウド構成」を作ってみます。構成要素は次の通り。

  • ヘッドノード
    • 「Windows Azure 仮想マシン (WAVM)」機能で作ります。
    • ゲストOSは最新のWindows Server 2012 R2を使います。
    • HPC Packでのクラスタ構築にはActive Directoryのドメインが必須なので、ヘッドノードはドメインコントローラも兼務します。
  • Windows Azure仮想ネットワーク (VNET)
    • WAVMでドメインコントローラを作成する場合、VNETへの配置がMUSTです。
  • 計算ノード
    • Windows Azureの「クラウドサービス (PaaS)」機能で作ります。
    • IaaS (WAVM)で作成する仮想マシンを計算ノードにすることもできますが、A8,A9は今のところPaaSでのみ利用可能であるため、今回はIaaS計算ノードは利用しません。

絵にするとこんな感じです↓ 計算ノードを仮想ネットワークへ配置することも可能ですが、必須ではありません。

image

仮想ネットワークの作成

ヘッドノードを作る前に、仮想ネットワークを作成する必要があります。

Windows Azure管理ポータルの「新規」ボタンから「ネットワークサービス」→「仮想ネットワーク」→「カスタム作成」とたどります。
image

仮想ネットワークの名前や配置場所を決めます。

image

  • 名前は、ここでは”vnet-hpc2012r2”としました。
  • アフィニティグループは、既存のものを再利用できないこともありませんが、特にその必要がない限り、「新しいアフィニティグループの作成」をしたほうが面倒がありません。
  • リージョンは、ヘッドノードの配置場所としてだけ考えればどこでもOKです(なにせヘッドノードはAzure上にある必要すらないので)。が、A8やA9のインスタンスをこの仮想ネットワークに配置したい(=ヘッドノードとLANで結びたい)場合は、注意が必要です。A8,A9は今のところ「米国中北部(US North Central)」, 「西ヨーロッパ (Europe West)」の2か所でしか使えませんので、仮想ネットワークもそのどちらかに作る必要があります。
    今回はA8,A9を仮想ネットワークに配置する予定はないので、ここではリージョンとして「東アジア」を選択しました。

次に、DNSとVPNの設定ですが、はっきり言って不要です。何せ今回仮想ネットワークに乗っかるのはヘッドノード1台きりなので…
(じゃ、なぜ仮想ネットワークが必要かといえば、Active Directoryのためで、なぜ一台のためにADが必要かといえば、オンプレミスのHPCクラスターでは計算ノードをすべてドメインへ参加させるため、HPC PackはAD必須なのです。)

image

ここが肝心のところです。仮想ネットワークのアドレス空間とサブネットを定義します。

  • 今回は、192.168.0.0/16というアドレス空間の中を確保し、
  • 192.168.10.0/24というサブネットを一つだけ定義しました。ここにヘッドノードを載せます。

image

出来上がるまで数分かかりますのでお待ちください。

 

ヘッドノードの仮想マシン作成

では、いよいよヘッドノードを作ります。

Windows Azure管理ポータルの「新規」ボタンから「コンピューティング」→「仮想マシン」→「ギャラリーから」とたどります。

image

せっかく最新のHPC Packと最新のA8,A9インスタンスを使うので、土台になるOSも最新のWindows Server 2012 R2にしましょう。

image

仮想マシンの名前やインスタンスサイズを決めます。

  • サイズは、Lにしてみました。
  • ヘッドノードではSQL Serverも動きますので、Mサイズ以上が良いと思います。
  • 「新しユーザー名」のところは、このマシンの管理者となるユーザー名を決めます。

image

次に、クラウドサービス名や配置場所を決めます。

  • 「リージョン/アフィニティグループ/仮想ネットワーク」の項目で、先ほど作成した仮想ネットワークを選んでください。
  • 「仮想ネットワーク サブネット」は、今回はサブネットが一つしかないので自動的に決まります。
  • 「ストレージ アカウント」は自動生成でOKです。(もちろん、既存のものを使ってもかまいません)
  • 「可用性セット」は、今回はマシンを一台しか作りませんので「なし」でOKです。

image

最後に、エンドポイント設定となりますが、これはデフォルトでOKです。

image

仮想マシンが出来上がるまで10分程度お待ちください。

 

ドメインコントローラにする

さて、出来上がったWindows Server 2012 R2で最初に行うべき作業は、こいつをドメインコントローラにすることです。「管理者として起動」したPowerShellで、次のようにコマンドを入力してください。

Add-WindowsFeature -name ad-domain-services -IncludeManagementTools

image

これで、AD DSの機能がインストールされたので、次にこのマシンをドメインコントローラにして新しいフォレストを作ります。

Install-ADDSForestコマンドレットを使います。下記の通りそのまま実行すると、

  • ドメイン名: hpc2012.local
  • ドメインの機能レベル: Windows Server 2012 R2
  • フォレストの機能レベル: Windows Server 2012 R2

で作成されます。最新ピカピカですね。

Install-ADDSForest -CreateDnsDelegation:$false -DomainName "hpc2012r2.local" -DomainNetbiosName "HPC2012R2" -DomainMode "Win2012R2" -ForestMode "Win2012R2" -InstallDns:$true -NoRebootOnCompletion:$false -Force:$true

実行すると、こんな風に管理者パスワードの設定を求められますので、適当に設定してください。

image

放っておくと自動的にサーバーが再起動されます。再起動したら、再びログオンして下さい。

※ なお、ここに書いたドメイン構築コマンドは以前の記事からほぼコピペしました。

 

HPC Packをインストールする

いよいよ、HPC Packをインストールしてこのマシンをヘッドノードにします。方法そのものはいつも通りなので、以前の記事を参考にして適当にインストールしてください。

・・・

というのもあまりといえばあんまりなので簡単に書きます。まずは下記のページからHPCPack2012R2-Full.zipをダウンロードしてください。680MBほどあるので、そこそこ時間がかかるかもしれません。

HPC Pack 2012 R2 - 日本語

ダウンロードできたらZIPを展開します。私はD:\HPCPack2012R2-Fullに展開しました。

image

次に、setup.exeを実行します。簡単に済ませたいので、これも無人インストールしましょう。CMDでもPowerShellでも良いですが、とにかくこういうコマンドを打ちます。(ここではPowerShellを使いました)

PS D:\HPCPack2012R2-Full> .\setup.exe -unattend -headnode

時間はそこそこかかります。DHCPやWDSのようなWindows Serverの機能を有効化したり、SQL Serverをインストールしたりしますから。(WDSなんかはAzure上では無意味なのですが、オンプレのクラスタではノード展開に大活躍するのです)

-unattend を付けた無人インストールでは「終わりました」というお知らせは特にありません(誰も見てないのが前提ですから)。インストーラのウィンドウが消えたら、完了しています。アプリケーション一覧に、”Microsoft HPC Pack 2012”というカテゴリができていますので、そこの”HPC Cluster Manager”をスタート画面とタスクバーにピンしておいてください。

image

さて、少し長くなってしまったので、HPC Packのインストールが完了したところで一旦区切ります。次回は計算ノードをデプロイするための証明書設定から解説します!

次回: 計算ノードデプロイ編!

__END__