このトピックには、HPC Pack を使用した Azure ノードのデプロイのトラブルシューティングに役立つ情報が含まれています。
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 つ以上のノードでデプロイが失敗する可能性があります。 この場合、 リソース管理 (一部のバージョンの HPC Pack では ノード管理 と呼ばれます) に、失敗したノードの適切な状態情報が表示されます。
デプロイの状態情報は、ポータルのサービス アカウント情報に表示されます。 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 のバージョンによって異なります。
Von Bedeutung
ログ ファイルは 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 以上です。 - 最大 5 つの番号が付いたオーバーフロー ログ ファイルに拡張子が .00<Integer> が書き込まれます。 - 各ノードのログ ファイルは 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」を参照してください。
Von Bedeutung
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」を参照してください。
Von Bedeutung
- 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 worker ノードからログ ファイルをダウンロードするコマンドとスクリプトの例を次に示します。 コマンド構文の詳細については、 hpcfile を参照してください。
例 1. myHeadNode という名前の SP4 ヘッド ノードを持つクラスター上の 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 つ以上のログ ファイルをローカル コンピューターにダウンロードし、 hpcpack upload コマンドを実行して Azure ストレージ アカウントにアップロードします。
hpcpack アップロードを使用してログ ファイルをストレージ アカウントに直接アップロードする 1 つ以上の Azure ノードでスクリプトを実行します。
注
- Azure ノードのグループでスクリプトを実行するには、まず、ローカル コンピューターからノードにスクリプトをアップロードします。
- シナリオ 1 で説明されているように、AZURE BLOB ストレージへのトレース ログ ファイルの自動転送を有効にします。HPC Pack 2012 SP1 以降では、Azure ストレージ アカウントの BLOB ストレージへのトレース ログ ファイルの自動転送を有効にすることができます。 ただし、この機能をサポートするバージョンの HPC Pack を使用していない場合、または BLOB ストレージへのログ ファイルの自動転送を有効にしていない場合は、その場所に手動でアップロードできます。
hpcpack アップロードを使用して Azure worker ノードから Azure ストレージ アカウントにログ ファイルをアップロードするスクリプトの例を次に示します。 コマンド構文の詳細については、 hpcpack を参照してください。
注
ワーカー ノード上のログ ファイルの名前は同じであるため、ファイルを Azure ストレージ アカウントにアップロードするときに上書きしないようにする必要があります。 たとえば、次の例に示すように、ノードのホスト名を含む名前でログ ファイルの名前を変更できます。
例 3. MyPrimaryKey という名前の主キーを使用して、hpcworker_000000.bin ファイルを Azure worker ノードから Azure ストレージ アカウントのコンテナー MyLogs にアップロードして名前を変更するには
@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. スクリプト Uploader.bat (例 3 のスクリプトと同様) をヘッド ノードから MyStorageAccount という名前の Azure ストレージ アカウント内の MyContainer という名前のコンテナーにアップロードするには、スクリプトを 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