このトピックには、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_ C:\logs\hpcproxy_ |
- ログ ファイルはバイナリ形式です。 既定のログ 記録レベルは 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 ロール インスタンスで生成されたトレース ログ ファイルは、ロール インスタンスが実行されている限り、ロール インスタンスのローカル ストレージに残ります。 ただし、Azure デプロイの停止後またはノードの削除後にデータにアクセスする場合は、ロール インスタンスの実行中に、トレース ログ ファイルまたはデータを Azure Storage などの永続ストレージにダウンロードまたは格納する必要があります。 トレース ログ ファイルまたはデータを格納するシナリオを次に示します。
シナリオ 1: Azure BLOB ストレージへのトレース ログ ファイルの自動転送を有効にする
HPC Pack 2012 SP1 以降、HPC クラスター管理者は、必要に応じて、デプロイの Azure コンピューティング ノードまたはプロキシ ノードから、デプロイ用の Azure ストレージ アカウント内の BLOB ストレージ (hpclogs) 内のコンテナーへのトレース ログ ファイルの自動転送を有効にすることができます。
Azure ストレージ アカウントの BLOB ストレージへのトレース ログ ファイルの自動転送を有効にするには、HPC クラスター マネージャーの [
大事な
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 テーブルへのトレース ログ データの転送を有効にするには、
大事な
- 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 ノード
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 ヘッド ノードを持つクラスター
@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 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
@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 ストレージ アカウント内
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