次の方法で共有


Microsoft HPC Pack を使用した Azure ノードのデプロイのトラブルシューティング

このトピックには、HPC Pack を使用した Azure ノードのデプロイのトラブルシューティングに役立つ情報が含まれています。

HPC Pack を使用して Azure ノードをデプロイするための一般的な要件とベスト プラクティスについては、次を参照してください。

  • Microsoft HPC Packを使用して Azure ノードを追加するための要件を します。

  • Microsoft HPC Pack を使用した Azure ノードの大規模なデプロイに関する のベスト プラクティス

デプロイの一般的なトラブルシューティング ガイダンス

  • インターネット接続に問題がある場合、またはノード テンプレートで提供されている Azure サブスクリプション情報に問題がある場合、Azure ノードのデプロイが失敗する可能性があります。 ノード テンプレートで Azure の接続設定を検証できます。 [ノード テンプレート エディター]でテンプレート 開きます。 次に、[接続情報] タブで、[接続情報の検証 ] をクリックします。

  • Azure 管理証明書の構成に問題がある場合は、「証明書の問題のトラブルシューティングを参照してください。

  • 少なくとも HPC Pack 2008 R2 SP2 を実行している場合は、Azure Firewall ポート 診断テストと Azure サービス接続 診断テストを実行して、HPC Pack と Azure 間の通信用にネットワーク ファイアウォールやその他の設定が適切に構成されていることを確認したり、接続の問題をトラブルシューティングしたりできます。

  • ヘッド ノード コンピューター (またはヘッド ノード コンピューター) でシステム時刻が正確に設定されていない場合、ノード テンプレートの作成や新しいノードのデプロイなどの特定の Azure 操作が失敗し、次のようなエラーが発生する可能性があります。

    Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.  
    
  • Azure ノードがオンラインにならないデプロイで部分的なエラーが発生した場合は、次の telnet コマンドを実行して、ノード テンプレートで指定されたクラウド サービスに Azure エンドポイントで到達できるかどうかを確認できます。

    telnet <ServiceName>.cloudapp.net 7999  
    

    手記

    このコマンドを実行するには、Telnet クライアント機能をオペレーティング システムにインストールする必要があります。 サーバー マネージャーを使用して Telnet クライアントをインストールする方法については、「Telnet 操作ガイド」を参照してください。

  • Azure の問題は、セット内の Azure ノードのサブセットに影響を与える可能性があります。 たとえば、多数のノードを開始している場合、1 つ以上のノードでデプロイが失敗する可能性があります。 この場合、失敗したノードの適切な状態情報が Resource Management に表示されます (一部のバージョンの HPC Pack では Node Management と呼ばれます)。

  • デプロイの状態情報は、ポータルのサービス アカウント情報に表示されます。 HPC クラスター マネージャーは、更新された状態情報について、このポータルに定期的にクエリを実行します。 ただし、ポータルの情報は、プロビジョニング ログや HPC Cluster Manager の操作ログとは異なる場合があります。

  • Azure でデプロイ エラーが発生した場合、ポータルのクラウド サービス情報または HPC Cluster Manager のプロビジョニング ログにエラー メッセージとトラブルシューティング情報が表示されることがあります。 問題を解決できない場合は、デプロイのロール インスタンスで生成されたトレース ログを確認できます。 詳細については、このトピックで Azure ノード上のログ ファイルのトレース を参照してください。

    Azure サポートにアクセスすることもできます。 問題のトラブルシューティングを支援するには、ノード テンプレートで構成されているサブスクリプション ID と、HPC クラスター マネージャーとポータルのプロビジョニング ログに表示されるデプロイ ID を指定する準備をします。

  • Azure で一連のノードをプロビジョニングしたら、同じノード テンプレートを使用して追加のノード セットを開始できます。 ただし、場合によっては、追加のノードが HPC Cluster Manager でオンラインにならず、Azure に正常にデプロイされているように見えます。 この場合、HPC クラスター マネージャーを使用して、障害が発生したノードを停止または削除できない可能性があります。 必要に応じて、まず HPC Management サービスを停止して再起動します。 次に、ノードを削除するには、Azure 管理ポータルを使用します。

  • HPC Pack 2012 SP1 以降では、Azure ノードのデプロイのトラブルシューティングに役立つよう、ヘッド ノードで収集し、Azure ノードの可用性、接続性、パフォーマンスに関する Microsoft データに送信することを選択できます。 Azure ノードのデプロイに関連するサポート インシデントを開く必要がある場合は、これを行うことを選択できます。 データ収集を有効にするには、HPC Cluster Manager の [オプション] メニューの [Azure サポート データ収集] をクリックします。 または、Set-HpcClusterProperty HPC PowerShell コマンドレットを使用して、AzureMetricsCollectionEnabled クラスター プロパティを構成します。 データ収集の詳細については、microsoft HPC Pack のプライバシーに関する声明を参照してください。

Azure ノード上のログ ファイルをトレースする

HPC Pack 2008 R2 SP4 以降では、トレース ログ ファイルは、Azure worker ノードと、デプロイごとに自動的にプロビジョニングされる Azure HPC プロキシ ノードで自動的に生成されます。 ログ ファイルは、ノード のプロビジョニング中またはプロビジョニング後の問題のトラブルシューティングに役立ちます。たとえば、Azure ノードの正常性状態 到達不能な またはエラー表示される可能性がある場合は、ポータルで状態 準備完了が示されている場合があります。

トレース ログ ファイルには、各ノードに関する次の種類の情報が含まれています。

  • オペレーティング システムのブートストラップ情報。

  • ノードで実行する HPC Pack サービスに関する情報。

  • Hosts ファイルに関する情報。

  • オペレーティング システムのパフォーマンス カウンター データ。

ログ ファイルは、次の表に示すように、各ノードのローカル ストレージに書き込まれます。 トレース ログ ファイルの形式、特性、名前付けは、HPC Pack のバージョンによって異なります。

大事な

ログ ファイルは Azure ロール インスタンスのローカル ストレージにのみ保持され、ノードは Azure にプロビジョニングされたままです。 ファイルまたはデータが別の場所にコピーされない限り、Azure ノードが停止または削除された後にトレース ログ情報を確認することはできません。 詳細については、このトピックの トレース ログ データ を格納するシナリオを参照してください。

HPC Pack のバージョン ログ ファイル 筆記
HPC Pack 2012 以降 C:\logs\hpcworker_nnnnnn.bin ワーカー ノードを する
C:\logs\hpcproxy_nnnnnn.bin
プロキシ ノードを する
- ログ ファイルはバイナリ形式です。 既定のログ 記録レベルは Verbose です。
- 各ログ ファイルのサイズは既定で最大 4 MB で、各ノードには最大 5,000 MB のログ ファイルを格納できます。
- 分析を容易にするために、HPC Pack にインストールされている hpctrace コマンドライン ツールの parselog サブコマンドを実行することで、ログ ファイルをタブ区切りのテキスト ファイルに変換できます。 このコマンドの使用方法の詳細については、hpctraceの を参照してください。
HPC Pack 2008 R2 with SP4 C:\logs\hpcworker.log ワーカー ノードを する
C:\logs\hpcproxy.log
プロキシ ノードを する
- ログ ファイルはテキスト形式です。 既定のログ 記録レベルは Warning 以上です。
- 拡張子が .00 の最大 5 つの番号付きオーバーフロー ログ ファイル<整数> が各ノードに書き込まれます。
- 各ノードのログ ファイルは 60 MB に制限され、自動的に循環されます。

手記

クラシック ポータルでクラウド サービスの 設定を構成 使用して、Azure ノード上の特定のプロセスのトレース レベルを変更できます (Microsoft.Hpc.Azure.AzureNodeManagerTracingなど )。

トレース ログ データを格納するシナリオ

Azure ロール インスタンスで生成されたトレース ログ ファイルは、ロール インスタンスが実行されている限り、ロール インスタンスのローカル ストレージに残ります。 ただし、Azure デプロイの停止後またはノードの削除後にデータにアクセスする場合は、ロール インスタンスの実行中に、トレース ログ ファイルまたはデータを Azure Storage などの永続ストレージにダウンロードまたは格納する必要があります。 トレース ログ ファイルまたはデータを格納するシナリオを次に示します。

シナリオ 1: Azure BLOB ストレージへのトレース ログ ファイルの自動転送を有効にする

HPC Pack 2012 SP1 以降、HPC クラスター管理者は、必要に応じて、デプロイの Azure コンピューティング ノードまたはプロキシ ノードから、デプロイ用の Azure ストレージ アカウント内の BLOB ストレージ (hpclogs) 内のコンテナーへのトレース ログ ファイルの自動転送を有効にすることができます。

Azure ストレージ アカウントの BLOB ストレージへのトレース ログ ファイルの自動転送を有効にするには、HPC クラスター マネージャーの [オプション] メニューの [Azure デプロイ構成]クリックします。 Set-HpcClusterProperty HPC PowerShell コマンドレットを使用して、AzureLogstoBlob HPC クラスター プロパティを設定することもできます。 プロキシ ノード、ワーカー ノード、またはその両方のログを転送することを選択できます。 既定では、ログ ファイル BLOB ストレージの転送は無効になっています。 AzureLogstoBlob プロパティを変更すると、今後の Azure ノード デプロイのログ ファイルの転送にのみ影響します。 現在のデプロイは影響を受けません。 詳細については、「Set-HpcClusterPropertyを参照してください。

大事な

Blob Storage に Azure デプロイ ログ ファイルを保存すると、ストレージ領域が使用され、各デプロイに関連付けられているストレージ アカウントにストレージ トランザクションが生成されます。 有効にすると、ワーカー ノードからログ ファイルを保存すると、同じストレージ アカウントを使用するすべての Azure デプロイ (特に大規模なデプロイや複数の同時デプロイがある場合) のパフォーマンスに影響する可能性があります。 ストレージ領域とストレージ トランザクションは、アカウントに課金されます。 ログ ファイルの転送を無効にすると、ログ ファイルは Azure Storage から自動的に削除されません。 ログ ファイルをダウンロードして、後で参照できるようにしておきたい場合があります。 ストレージ アカウントから hpclogs コンテナーを削除することで、ログ ファイルをクリーンアップできます。

ヘッド ノードで hpcazurelog コマンドを実行して、ストレージ アカウント内の BLOB ストレージからローカル フォルダーにデータをダウンロードし、BLOB ストレージからファイルを削除できます。 詳細については、hpcazurelogを参照してください。

シナリオ 2: Azure Table Storage へのトレース ログ データの自動転送を有効にする

HPC Pack 2012 以降、HPC クラスター管理者は必要に応じて、デプロイの Azure ノードから、デプロイ用に Azure ストレージ アカウントでこの目的のために作成された Azure Diagnostics (WADSLogsTable) テーブルへのトレース ログ データの転送を有効にすることができます。

Azure ストレージ アカウントの WADSLogsTable テーブルへのトレース ログ データの転送を有効にするには、Set-HpcClusterProperty HPC PowerShell コマンドレットを使用して、azureLoggingEnabled HPC クラスター プロパティを true に設定します。 既定では、WADSLogstable テーブルに含めるために、ログ ファイル内の重大、エラー、および警告のイベントのみがフィルター処理されます。 AzureLoggingEnabled プロパティを変更すると、今後の Azure ノード デプロイのログ記録にのみ影響します。 現在のデプロイは影響を受けません。 詳細については、「Set-HpcClusterPropertyを参照してください。

大事な

  • Azure デプロイ アクティビティのログ記録では、テーブルストレージ領域が使用され、各デプロイに関連付けられているストレージ アカウントでストレージ トランザクションが生成されます。 ストレージ領域とストレージ トランザクションには、Azure サブスクリプションの条件に従って料金が発生します。
  • 通常、Azure Storage へのログ記録は、デプロイで問題が発生し、デプロイに関する問題のトラブルシューティングに役立つ場合にのみ有効にする必要があります。 Azure Storage へのログ記録を無効にすると、ログ データは Azure Storage から自動的に削除されません。 後で参照できるようにログをダウンロードして保持することができます。 ストレージ アカウントから WADLogsTable を削除することで、ログ エントリをクリーンアップできます

HPC Pack 2012 sp1 以降では、ヘッド ノードで hpcazurelog コマンドを実行して、ストレージ アカウントの WADLogsTable からローカル フォルダーにデータをダウンロードし、テーブル内のストレージ用に選択されたデータのトレース レベルを指定できます。 詳細については、hpcazurelogを参照してください。

シナリオ 3: Azure ノードからログ ファイルを手動で取得して格納する

詳細な分析を容易にするために、Azure ノードからオンプレミスのコンピューターにログ ファイルを手動でダウンロードするか、Azure ストレージ アカウントにアップロードします。

ログ ファイルのダウンロード

ログ ファイルをダウンロードするには、次のいずれかの手順を実行します。

  • hpcfile get コマンドを実行して、各ノードからログ ファイルを個別にダウンロードします。

  • hpcfile get を使用してワーカー ノードのグループからファイルをダウンロードするスクリプトを実行します。

  • Azure 管理ポータルを使用して、各ノードに個別にリモート接続します。 その後、ログ ファイルまたはファイルをローカル コンピューターにコピーできます。

  • ヘッド ノードで hpcazurelog コマンドを実行して、Azure ワーカー ノードまたはプロキシ ノードからファイルをダウンロードします。 このコマンドは、HPC Pack 2012 SP1 で導入され、以前のバージョンではサポートされていません。 詳細については、hpcazurelogを参照してください。

手記

  • Azure ノードへのリモート接続を確立するには、Azure ノード テンプレートでリモート デスクトップ資格情報を構成していることを確認します。
  • HPC プロキシ ノードからログ ファイルをダウンロードするには、各ノードにリモート接続し、ログ ファイルをローカル コンピューターに個別にコピーする必要があります。

hpcfile get を使用して Azure ワーカー ノードからログ ファイルをダウンロードするコマンドとスクリプトの例を次に示します。 コマンド構文の詳細については、hpcfile参照してください。

例 1. myHeadNode という名前の SP4 ヘッド ノードを持つ HPC Pack 2008 R2 を持つクラスター上の Azure ノード AZURECN-001 から、ローカル コンピューター上の現在のフォルダーにトレース ログ ファイル ダウンロードするには、ローカル コンピューター上のファイルを上書きしないようにファイルの名前を変更します。

hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log" /destfile:"worker001.log"  
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.001" /destfile:"worker002.log"  
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.002" /destfile:"worker003.log"  
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.003" /destfile:"worker004.log"  
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.004" /destfile:"worker005.log"  
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.005" /destfile:"worker006.log"  

例 2. myHeadNode という名前の HPC Pack 2012 ヘッド ノードを持つクラスター AZURECN からローカル コンピューター上の C:\myFiles\myLogs フォルダーに名前を付けて、ノード グループ WorkerNodes 内の Azure ノードからhpcworker_000000.binログ ファイル ダウンロードするには:

@echo off  
set "extension=.bin"  
set "fullfilepath=C:\myFiles\myLogs"  
mkdir C:\myFiles\myLogs  
FOR /F "tokens=1 delims="%%G IN ('node list /group:WorkerNodes ^| FIND "AZURECN-"') DO hpcfile get /scheduler:MyHeadNode /targetnode:%%G -file:"C:\logs\hpcworker_000000.bin" /destfile:"%fullfilepath%%%G%%%extension%"  

ログ ファイルを Azure ストレージ アカウントにアップロードする

次のいずれかの手順を使用して、Azure ワーカー ノードから Azure ストレージ アカウントにトレース ログ ファイルをアップロードできます。

  1. 前のセクションで説明したように、1 つ以上のログ ファイルをローカル コンピューターにダウンロードし、hpcpack upload コマンドを実行して Azure ストレージ アカウントにアップロードします。

  2. hpcpack upload を使用してログ ファイルをストレージ アカウントに直接アップロードする 1 つ以上の Azure ノードでスクリプトを実行します。

    手記

    • Azure ノードのグループでスクリプトを実行するには、まず、ローカル コンピューターからノードにスクリプトをアップロードします。
    • シナリオ 1: Azure Blob Storageへのトレース ログ ファイルの自動転送を有効にする (HPC Pack 2012 SP1 以降)、Azure ストレージ アカウント内の BLOB ストレージへのトレース ログ ファイルの自動転送を有効にすることができます。 ただし、この機能をサポートするバージョンの HPC Pack を使用していない場合、または BLOB ストレージへのログ ファイルの自動転送を有効にしていない場合は、その場所に手動でアップロードできます。

次に、hpcpack アップロード を使用して、Azure worker ノードから Azure ストレージ アカウントにログ ファイルをアップロードするスクリプトの例を示します。 コマンド構文の詳細については、hpcpack参照してください。

手記

ワーカー ノード上のログ ファイルの名前は同じであるため、ファイルを Azure ストレージ アカウントにアップロードするときに上書きしないようにする必要があります。 たとえば、次の例に示すように、ノードのホスト名を含む名前でログ ファイルの名前を変更できます。

例 3. MyStorageAccount という名前の Azure ストレージ アカウント内の MyLogs コンテナーに、hpcworker_000000.bin ファイル MyPrimaryKey という名前の主キー アップロードして名前を変更するには

@echo off  
REM Get the host name of the Azure node  
FOR /F "usebackq" %%i IN ('e:\approot\mpiexec.exe -c 1 hostname') DO SET filename=%%i  
set "extension=.bin"  
set "fullpath=C:\logs"  
REM Consolidate the log file name (e.g., AzureCN-001.bin)  
set "fullfilePath=%fullpath%%filename%%extension%"  
REM echo:%fullfilePath%  
REM Create a temporary file with desired name  
copy C:\logs\hpcworker_000000.bin %fullfilePath%  
e:\approot\hpcpack upload %fullfilePath% /account:MyStorageAccount /container:MyLogs /key:MyPrimaryKey  
del %fullfilePath%  

例 4. MyStorageAccountという名前の Azure ストレージ アカウント内 MyContainer という名前のコンテナーにスクリプト Uploader.bat (例 3 のスクリプトと同様) をアップロードするには、スクリプト WorkerNodesという名前のノード グループ内の Azure ノードにダウンロードし、WorkerNodes内のノードで Uploader.bat を実行します。

hpcpack upload uploader.bat /account:MyStorageAccount /container:MyLogs /key:MyPrimaryKey  
clusrun /nodegroup:WorkerNodes hpcpack download uploader.bat /account:MyStorageAccount /container:MyLogs /key:MyPrimaryKey /path:c:\logs  
clusrun /nodegroup:WorkerNodes c:\logs\uploader.bat  
clusrun /nodegroup:WorkerNodes del c:\logs\uploader.bat  

Azure ストレージ アカウントのログ データを表示する

Azure テーブルまたは BLOB ストレージ内のログを表示するには、Azure Storage Explorerなどのツールを使用してストレージ 参照できます。

関連項目

Microsoft HPC Pack を使用した Azure Worker インスタンスへのバーストの
hpcazurelog
する