Windows HPC Server 2008 R2 SP1 では、Windows Azure の Worker Role を HPC クラスターのノードとして利用することが可能でした。
Microsoft エバンジェリストの高添さんのブログをみていたところ、SP2 Beta になり VM Role を HPC クラスターのノードとして追加ができるようになったようです。
高添えはここにいます > Dryad は HPC の SP2 に含まれ、HPC の Azure 連携は SP2 で大幅強化です!
SP2 Beta の新機能はこちらに書かれています。
What’s New in Windows HPC Server 2008 R2 Service Pack 2 Beta
Azure 系では以下の 4 点が追加されているようですね。
- Add Azure VM Roles to the cluster.
- Run MPI jobs on Azure Nodes.
- Connect to Azure Nodes with Remote Desktop
- Enable Azure Connect on Azure Nodes.
Azure Connect についての新機能もちょっと興味深いですね~。
Contents
■Windows HPC Server 2008 R2 のインストール
それではさっそく検証してみたいと思います。
HPC Server 触るのは初めてなので、OS の導入からまとめていきたいと思います。
技術情報としては以下の内容を参考にしています。
Design and Deployment Guide for Windows HPC Server 2008 R2
- Windows HPC Server 2008 R2 のインストールメディアを入れて、サーバーを起動します。
HPC Server のインストールメディアは TechNet サブスクリプションで入手可能です。 - [次へ] をクリックします。
- [今すぐインストール] をクリックします。
- [同意します] を有効にして [次へ] をクリックします。
- [新規インストール] をクリックします。
- インストールするディスクを選択して、[次へ] をクリックします。
- インストールが完了するまで待機します。
- [OK] をクリックします。
- Administrator のパスワードを設定します。
- [OK] をクリックします。
以上で HPC Server の OS 部分のインストールは完了です。
HPC Edition というエディションの一種なので通常の Windows Server 2008 R2 と同じ流れでインストールができますね。
■HPC Pack のインストール
HPC Edition をインストールした直後の状態では通常の Windows Server 2008 R2 と変わりません。
HPC 特有の機能を使用するためには HPC Pack をインストールする必要があります。
今回は HPC Pack with SP2 Beta を使用しますので、Connect からダウンロードします。
手順 2:ヘッド ノードの展開 によるとヘッドノードはドメインに参加している必要があるとのことでした。
ドメインに参加していない状態では HPC Pack をインストーすることができません。
ドメインに参加し、ローカルの Administrators グループのドメインユーザーでログオンをします。
# 今回は Domain Users のユーザーをローカルの Administrators グループに追加して作業をしています。
- ドメインユーザーでログオンをしたら Connect からダウンロードした、[HPCPack-3639.zip] を展開して [setup.exe] を実行します。
- [次へ] をクリックします。
- インストールするエディションを選択して、[次へ] をクリックします。
今回は [HPC Pack R2 Enterprise と HPC Pack 2008 R2 for Workstation] を選択しています。 - [使用許諾契約書に同意します] を有効にして、[次へ] をクリックします。
- [ヘッド ノードを作成することで新しい HPC クラスターを作成する] を選択にして、[次へ] をクリックします。
- [次へ] をクリックします。
- [次へ] をクリックします。
- [次へ] をクリックします。
- [次へ] をクリックします。
- Windows Update の設定をして、[次へ] をクリックします。
- CEIP の設定をして、[次へ] をクリックします。
- [インストール] をクリックしてインストールを開始します。
- [完了] をクリックします。
さらっと DHCP サーバーが入っているので展開方法は考えないといけないですね。
インストールが終わったら VM Role をノードとして使用するための準備を行います。
以降の作業については以下に記載されています。
Steps for Deploying Windows Azure VM Nodes in Windows HPC Server 2008 R2 SP2 Beta
■VM Role の準備
HPC のノードで使用する VM Role のイメージを準備します。
手順は以下になります。
Step 4: Create a VHD for VM Nodes in Windows HPC Server
VM Role のシステム要件として OS は
- Windows Server 2008 R2 Standard (English only)
- Windows Server 2008 R2 Enterprise (English only)
のいずれかを使用する必要があります。
また。Extra Small は使用することができないので、Small / Medium / Large / Extra Large を使用する必要があります。
通常の VM Role で使用するイメージの作成 (VM Rol
e 用統合コンポーネントのインストールをして Sysprep をしていない状態) してから以下の手順を実施します。
- Connect からダウンロードした、[HPCPack-AzureVM-3639.zip] を展開し、[HpcAzureVM.msi] を実行します。
- [Next] をクリックします。
- [I accept the terms in the license agreement] を選択して、[Next] をクリックします。
- [Next] をクリックします。
- [Install] をクリックします。
- [Finish] をクリックします。
VM Role 用の HPC Pack のインストールが終わったら、MPI (Message Passing Interface かな??) 用の Firewall 設定をします。
- 管理者として実行したコマンドプロンプトを開きます。
- [cd %CCP_HOME%bin] を実行します。
- [hpcfwutil reset] を実行します。
MPI で使用するアプリケーションがある場合には、以下のコマンドを実行して個別にファイアウォールを設定します。
[hpcfwutil register <アプリケーション名> "<アプリケーションの EXE のフルパス"]
個別に MPI 用のプログラムを登録しない場合はこの作業は必要ないかもしれないですね。
ファイアウォールのルールとして [HPC ~] というルールがいくつかあり、これが HPC で基本的に必要となるルールのようです。
設定が終わったら Sysprep をして、csupload で Azure 上に VHD をアップロードします。
■ヘッドノードの構成
VM Role のイメージのアップロードが終了したらヘッドノードの構成を行います。
ヘッドノードの構成は [HPC Cluster Manager] から実施することができます。
手順はこちらの情報に記載されています。
手順 3:ヘッド ノードの構成
- ネットワークの構成
- NIC が 1 枚の場合は、[エンタープライズ ネットワーク上のみのすべてのノード] しか選択ができないので、[5.] を選択して [次へ] をクリックします。
- [次へ] をクリックします。
- [次へ] をクリックします。
- [構成] をクリックします。
- [完了] をクリックします。
- インストール資格情報の提供
- 新しいノードの名前付けの構成
- ノード テンプレートの作成
Step 4: Create a Windows Azure Worker Node Template - 今回は VM Role で使用するのが目的なので、[Windows Azure node template] を選択して、[次へ] をクリックします。
- [次へ] をクリックします。
- Windows Azure のサブスクリプション ID と対象のサブスクリプションの管理証明書を選択して、[次へ] をクリックします。
[Browse] をクリックすると証明書が選べるのですが、ここで選択できる証明書は [ローカルコンピューター] の [信頼されたルート証明機関] にインストールされている証明書になるようです。Windows Azure の管理証明書として使用している [.pfx] をローカルコンピューターの信頼されたルート証明機関にインストールしておきます。
正しく証明書がインストールできていると [Browse] から選択することが可能となります。
[次へ] をクリックしたタイミングで検証は行われるようです。
証明書に関しては以下の技術文書で公開されています。
Step 1: Configure the Management Certificateデフォルトでインストールされている証明書が、[%CCP_HOME%binhpccert.cer] にありますので、これを Management Portal で管理証明書として登録して使うこともできます。
- Hosted Service と Storage Account を選択して、[次へ] をクリックします。
ここでも検証が行われます。 - ノードで使用するロールを選択して [次へ] をクリックします。
VM Role の場合は使用する VHD を選択することが可能です。
HPC Pack 用のモジュールをインストールしている VHD を選択します。 - Role のリモートデスクトップで使用するユーザーのユーザー名とパスワードを入力し [次へ] をクリックします。
- [次へ] をクリックします。
- [作成] をクリックします。
ここまでの作業で VM Role をノードとして使用するためのテンプレートが作成できました。
あとはこのテンプレートを使用して VM Role のインスタンスを作成します。
■HPC クラスターのノード追加
それでは作成したテンプレートを使用して HPC のクラスターノードとして VM Role を追加してみたいと思います。
技術情報はこちらを参照。
Step 5: Add Windows Azure Worker Nodes to the HPC Cluster
- [ノード管理] から [ノードの追加] をクリックします。
- [Add Windows Azure nodes] を選択して、[次へ] をクリックします。
- 使用する [Azure node template] と [Azure のインスタンスノード数] [インスタンスサイズ] を選択して、[次へ] をクリックします。
選択肢が [小規模] (Small) からとなっているので、Extra Small は使うことができません。 - [完了] をクリックします。
- 作成したノードを選択して、[開始] をクリックします。
- [開始] をクリックします。
- VM Role のデプロイが開始されます。
デプロイが開始されたときに Management Portal を開くとこちらでもデプロイ中なのが確認できます。
HPC 用のサービス証明書がデプロイ時にアップロードされるみたいですね。
# リモートデスクトップを使うための証明書ってどうするんだろうと気になっていたのですが、HPC 用のデフォルトの証明書を使っているみたいですね。
VM Role のインスタンスだけかと思ったら [HpcProxy] というインスタンスが 2 インスタンス起動してくるみたいですね。
アップロード時には [.cskpg] を Azure Storage 上に配置しているようです。
デプロイが完了すると HPC クラスターマネージャーからインスタンスの状態を確認することができるようになります。
Input Endpoint は自動で設定されているみたいですね。
追加直後のノードはオフラインになっているようなので、[オンライン] にする必要がありそうです。
Azure のインスタンスのパフォーマンスがメトリックで確認できるのが面白いですね。
Azure のインスタンスが不要になった場合はクラスターマネージャーで [オフライン] にしてから [削除] することで削除可能です。
サービス証明書に関しては削除されないようなので自分で削除しないといけないようですね。
HPC を触ったことがないので Wokrer Role と VM Role をどう使い分けるかというのはイメージがついてないのですが、ひとまず VM Role をノードとして利用する方法のさわりの部分だけまとめてみました。
[…] HPC Pack SP2 Beta の新機能:VM Role を HPC のノードとして利用 の続きです。 […]
Worker Role を HPC の計算ノードとして展開 « SE の雑記
17 5月 11 at 08:08