Microsoft HPC Pack のノード ロールについて
Microsoft HPC Pack では、ノード ロールによってノードの機能が決定されます。 ノードは、クラスターの管理、ジョブの実行、SOA サービス要求のルーティングなどの機能を実行できます。 ノードが実行できるロールは、HPC Pack のインストール時 (ノードの構成またはデプロイ時) に決定されます。 ヘッド ノードとブローカー ノードは、一度に複数のノード ロールを実行できます。 ノードに必要なサービスと機能がインストールされている場合は、クラスターのワークロードとサイズに応じて、コンピューティング ノードまたはブローカー ノードのロールを有効または無効にすることができます。 詳細については、このトピックの 「複数のロールとブローカーのスケーリング 」セクションを参照してください。
ノード ロールは、組み込みのノード グループ (HeadNodes、ComputeNodes、WCFBrokerNodes、WorkstationNodes、UnmanagedServerNodes、AzureNodes から変更) に含めるノードを決定します。 ノード グループ プロパティを使用すると、ノードのフィルター処理と選択を行って、ノードの役割に従ってノードの操作を監視および実行したり、特定のグループ内のノードにジョブを送信したりできます。
次の表では、ノード ロールについて説明します。
ノード ロール | 機能 | 通常のノードの状態 | |
---|---|---|---|
ヘッド ノード | クラスターに管理サービスとジョブ スケジュール サービスを提供します。 エンタープライズ ネットワーク経由で Service-Oriented アーキテクチャ (SOA) クライアント アプリケーションからのセッション要求をリッスンし、WCF Broker ノードに接続するための情報をクライアントに提供します。 Enterprise ネットワークに接続されている必要があります。 |
オフライン | |
WCF Broker ノード | SOA クライアントから要求を受信し、それらをクラスター (ノード) 上のサービス ホストに配布し、応答を収集してクライアントに返送します。 セッションが DurableSession の場合、ブローカーはメッセージ キュー (MSMQ) を使用してメッセージを格納します。 SOA セッションを監視および管理します。 Enterprise ネットワークに接続されている必要があります。 |
オンライン | |
コンピューティング ノード | クラスター ジョブを受け入れて実行します。 SOA サービスをホストします。 次も含まれます。 - MPI ジョブをサポートする MS-MPI。 - Excel ブックまたは UDF オフロード ジョブをサポートする HPC Services for Excel |
オンライン | |
ワークステーション ノード | クラスター ジョブを受け入れて実行します。 SOA サービスをホストします。 次も含まれます。 - MPI ジョブをサポートする MS-MPI。 - Excel ブックまたは UDF オフロード ジョブをサポートする HPC Services for Excel - アイドル状態マネージャーがオンラインになり、ユーザー アクティビティ検出設定に基づいてオフラインになります (可用性ポリシーで有効にして構成されている場合)。 |
オンラインまたはオフライン (可用性ポリシーごと) |
|
Windows Azure Worker ノード | HPC Pack 2008 R2 Service Pack 1 (SP1) 以降で使用できるロール。 クラスター ジョブを受け入れて実行します。 SOA サービスをホストします。 次も含まれます。 - MPI ジョブをサポートする MS-MPI (HPC Pack 2008 R2 の Service Pack 2 以降)。 - UDF オフロード ジョブをサポートする XLL コンテナー サービス (HPC Services for Excel の一部)。 |
オンラインまたはオフライン (可用性ポリシーごと) |
|
Windows Azure 仮想マシン ノード | 非推奨になりました。 重要: -Microsoft Azure の VM ロール機能 (ベータ) は、2013 年 5 月 15 日に廃止されます。 また、カスタム VHD を Windows HPC クラスターから VM ロール ノードに展開する Microsoft HPC Pack 2008 R2 と Microsoft HPC Pack 2012 の設定も廃止されます。 提供終了日の後、HPC クラスターからの VM ロール配置は失敗するか、またアクセスできなくなります。 | ||
アンマネージド サーバー ノード | HPC Pack 2008 R2 Service Pack 3 (SP3) 以降で使用できるロール。 ファイル サーバーやプリント サーバーの実行など、一般的なネットワーク ワークロードの需要が低い期間中にクラスター ジョブを実行するために日和見的に使用できる他のサーバー。 |
オフライン |
複数のロールとブローカーのスケーリング
ヘッド ノードには、ブローカー ノードとコンピューティング ノード ロールの機能とサービスが含まれています。 ヘッド ノードがフェールオーバー クラスターで (高可用性のために) 構成されていない場合は、これらの追加ロールの 1 つまたは両方を実行できます。 既定では、ヘッド ノードでは 3 つのロールがすべて有効になっているため、オンライン ノードの状態に戻すと、3 つのロールの実行がすべて開始されます。 ヘッド ノードで 3 つのロールすべてを実行すると、1 つのサーバーで開発 'クラスター' を設定できます。 管理とジョブのスケジュールに専用のサーバー全体が必要ない場合は、ヘッド ノード上の 2 つのロールを使用すると、小規模なクラスターでのリソース使用量を最大化するのに役立ちます。
ブローカー ノードにはコンピューティング ノード ロールの機能とサービスが含まれているため、ロールをすばやく切り替えることができます。 SOA ワークロードをサポートする大規模なクラスターでは、ワークロードに必要に応じてコンピューティング ノードとブローカー ノードをスケーリングできます。 たとえば、クラスターでサポートされる SOA セッションの数は、毎週または毎月のビジネス サイクルによって異なる場合や、夜間や週末に速度が低下する可能性があります。 セッションの需要が高い場合は、より多くのブローカー ノードを有効にし、需要が低下したときにそれらをコンピューティング ノードに変換できます。
注意
ノードでコンピューティング ノード ロールが有効で、ノードがオンラインの場合、HPC ジョブ スケジューラ サービスは、ノード上のすべてのコアを潜在的なジョブ リソースと見なします。 HPC ジョブ スケジューラ サービスは、クラスターをできるだけビジー状態に保つため、すべてのコアにタスクを割り当てようとします。 コンピューティング ノードを追加のロールとして有効にした場合、ヘッド ノードやブローカー ノードの機能は、実行中のタスクと CPU 時間を共有する必要があります。 コンピューティング ノード ロールを追加する可能性は、ヘッド ノードまたはブローカー ノードのビジー状態と、タスクが実行している作業量によって異なります。
HPC Pack には、HPC ジョブ スケジューラ サービスで使用できるようにするノード上のコア数を指定する機能が含まれています。 ノードで複数のロールを有効にする場合は、この機能を使用して、基本的にコンピューティング ノード ロールに使用されるコアの数を制限できます。
ノード ロールを変更する方法
ノード ロールを有効または無効にするには、ノードを オフライン 状態にし、ノードを右クリックして[ ロールの変更]をクリックします。 次のスクリーンショットは、ヘッド ノードでコンピューティング ノード ロールを無効にする方法を示しています。 スクリーンショットでは、ノード の役割に関連するノード プロパティを表示するようにノード リスト ビューが構成されていることにも注意してください。 詳細については、このトピックで後述 する「インストールされているロールと有効なロールを追跡する方法 」セクションを参照してください。
HPC PowerShell を使用してノード ロールを変更することもできます。 ノード管理 cmdelts を実行するにはクラスター管理者である必要があります。また、管理者特権の HPC PowerShell ウィンドウでコマンドレットを実行する必要があります ([HPC PowerShell] を右クリックし、[管理者として実行] をクリックします)。 次のサンプル コマンドレットは、 myHeadNode という名前のヘッド ノードと BN-01 と BN-02 という名前の 2 つのブローカー ノードでノード ロールを変更する方法を示しています。
Set-HpcNodeState を使用してノードをオフラインにするコマンドレットの例:
ヘッド ノードをオフラインにするには
Set-hpcnodestate –name myHeadNode –state offline
ブローカー ノードをオフラインにするには:
Set-hpcnodestate –name BN-01,BN-02 –state offline
Set-HpcNode を使用してロールを変更するコマンドレットの例:
ヘッド ノードで追加のロールをすべて無効にするには:
Set-hpcnode –name myHeadNode –role none
ヘッド ノードでブローカー ノードロールを有効にするには:
Set-hpcnode –name myHeadNode –role brokernode
ヘッド ノードで両方の追加ロールを有効にするには:
Set-hpcnode –name myHeadNode –role computenode, brokernode
SP2 ヘッド ノードでコンピューティング ノード ロールを有効にし、ジョブに 2 つのコアのみを使用するように指定するには:
Set-hpcnode –name myHeadNode –role computenode –subscribedcores 2
2 つのブローカー ノードでコンピューティング ノード ロールを有効にするには:
Set-hpcnode –name BN-01,BN-02 –role computenode
2 つのブローカー ノードでブローカー ノード ロールを有効にするには:
Set-hpcnode –name BN-01,BN-02 –role brokernode
SP2 ブローカー ノードで両方のロールを有効にし、ジョブに 2 つのコアのみを使用するように指定するには:
Set-hpcnode –name BN-01 –role brokernode,computenode –subscribedcores 2
Set-HpcNodeState を使用してノードをオンラインにするコマンドレットの例:
ヘッド ノードをオンラインにするには
Set-hpcnodestate –name myHeadNode –state online
ブローカー ノードをオンラインにするには:
Set-hpcnodestate –name BN-01,BN-02 –state online
インストールされているロールと有効なロールを追跡する方法
特定のノードで有効になっているロールを確認するには、詳細ウィンドウのノード Groups プロパティを確認します。 または、ナビゲーション ウィンドウの [ グループ別] でオプションを選択して、ノード一覧をフィルター処理することもできます。
HPC クラスター マネージャーの Node Management リスト ビューに列を追加して、インストールされているロールと有効なロールを表示できます。 [インストールされたサービス ロール] プロパティには、インストールされているロールが一覧表示されます。 [ノード ロール] プロパティには、有効になっているロールが一覧表示されます ([ノード ロール] 列にはヘッド ノード ロールは一覧表示されません)。 ノード リストに列を追加するには、列ヘッダーを右クリックし、[列の 選択] をクリックします。
注意
ヘッド ノードがフェールオーバー クラスターで構成されている場合は、 PrimaryHeadNode プロパティをノード リスト ビューに追加して、どのヘッド ノードがアクティブなヘッド ノードであるかを追跡することもできます。
前のセクションのスクリーンショットは、 HeadNodes グループでフィルター処理されたノード リストと、ノード リストに表示されるノード ロール列を示しています。