次の方法で共有


az networkcloud baremetalmachine run-read-command を使用した BMM 問題のトラブルシューティング

ユーザーがオンプレミスのベア メタル マシン (BMM) に関する問題を調査して解決する必要がある状況になる場合があります。 Operator Nexus は、ユーザーが読み取り専用コマンドの精選した一覧を実行して BMM から情報を取得できるように、az networkcloud baremetalmachine run-read-command を提供します。

このコマンドは、run-read コマンド実行の結果を含む出力ファイルを生成します。 既定では、このデータはクラスター マネージャー ストレージ アカウントに送信されます。 また、ユーザーが、そのストレージ アカウントにアクセスできるストレージ アカウントと ID を使用してクラスター リソースを構成し、その出力を受信できるプレビューの方法もあります。

前提条件

  1. 適切な CLI 拡張機能の最新バージョンをインストールする
  2. ターゲット BMM の poweredStateOn に設定され、readyStateTrue に設定されていることを確認する
  3. Cluster リソース用に作成したマネージド リソース グループ名 (cluster_MRG) を取得します

ユーザー指定のストレージ アカウントにコマンド出力を送信する

マネージド ID とユーザーが提供するリソースに対する Azure Operator Nexus Cluster のサポート」を参照してください

クラスターの CommandOutputSettings をクリアする

クラスターをユーザー割り当て ID からシステム割り当て ID に変更するには、まず次のセクションの中のコマンドを使用して CommandOutputSettings をクリアしてから、このコマンドを使用して設定する必要があります。

CommandOutputSettings をクリアし、run-data-extract の出力をクラスター マネージャーのストレージに戻すことができます。 ただし、これは安全性が低く、このオプションは今後のリリースで削除されるため、お勧めしません。

しかしながら、ユーザー割り当て ID からシステム割り当て ID に切り替える場合は、CommandOutputSettings をクリアする必要があります。

CommandOutputSettings をクリアするには、このコマンドを使用します。

az rest --method patch \
  --url  "https://management.azure.com/subscriptions/<subscription>/resourceGroups/<cluster-resource-group>/providers/Microsoft.NetworkCloud/clusters/<cluster-name>?api-version=2024-08-01-preview" \
  --body '{"properties": {"commandOutputSettings":null}}'

非推奨の方法: クラスター マネージャー ストレージ アカウントへのアクセスを確認する

重要

クラスター マネージャー ストレージ アカウントは、遅くとも 2025 年 4 月に削除される予定です。 コマンド出力に現在この方法を使用している場合は、ユーザーが指定したストレージ アカウントの使用に変換することを検討してください。

クラスター マネージャーのストレージ方法を使用している場合は、クラスター マネージャーのストレージ アカウントにアクセスできることを確認します。

  1. Azure portal から、クラスター マネージャーのストレージ アカウントに移動します。
  2. ストレージ アカウントの詳細で、左側のナビゲーション メニューから [ストレージ ブラウザー] を選択します。
  3. ストレージ ブラウザーの詳細で、[BLOB コンテナー] を選択します。
  4. ストレージ アカウントへのアクセス中に 403 This request is not authorized to perform this operation. が表示された場合、ストレージ アカウントのファイアウォール設定を更新して、パブリック IP アドレスが含まれるようにする必要があります。
  5. クラスター マネージャー リソースでポータルを介してサポート チケットを作成して、アクセスを要求します。 アクセスを必要とするパブリック IP アドレスを指定します。

run-read コマンドを実行する

run-read コマンドを使用すると、何も変更しないコマンドを BMM で実行できます。 コマンドの中には、複数の語が含まれているものや、動作するために引数を必要とするものがあります。 これらのコマンドは、変更を加えることができるコマンドから分離するために、このように作成されています。 たとえば、run-read-command は kubectl get を使用できますが、kubectl apply は使用できません。 これらのコマンドを使用する場合、"command" フィールド内にすべての単語を配置する必要があります。 たとえば、{command:'kubectl get',arguments:[nodes]} は正しく、{command:kubectl,arguments:[get,nodes]} は間違いです。

また、一部のコマンドは nc-toolbox nc-toolbox-runread で始まり、次に示すように入力する必要があります。 nc-toolbox-runread は特殊なコンテナー イメージであり、ベア メタル ホスト上にインストールされていない、より多くのツール (ipmitoolracadm など) が含まれています。

一部の実行読み取りコマンドでは、コマンドの読み取り専用機能を適用するために特定の引数を指定する必要があります。 特定の引数を必要とする実行読み取りコマンドの例として、許可される Mellanox コマンド mstconfigがあります。このコマンドでは、読み取り専用を適用するために query 引数を指定する必要があります。

警告

Microsoft では、プレーンテキストのユーザー名やパスワードを指定することが想定される Operator Nexus API 呼び出しを提供またはサポートしていません。 送信されるすべての値がログに記録され、公開されたシークレットであると見なされ、これらにはローテーションおよび取り消しが必要であることに注意してください。 Microsoft が文書化したシークレットを安全に使用する方法は、シークレットを Azure Key Vault に格納することです。 特定のご質問やご不明な点がある場合は、Azure portal 経由でリクエストを送信してください。

この一覧では、使用できるコマンドを示します。 *italics* のコマンドに arguments を含めることはできません。残りでは可能です。

  • arp
  • brctl show
  • dmidecode
  • fdisk -l
  • host
  • hostname
  • ifconfig -a
  • ifconfig -s
  • ip address show
  • ip link show
  • ip maddress show
  • ip route show
  • journalctl
  • kubectl api-resources
  • kubectl api-versions
  • kubectl describe
  • kubectl get
  • kubectl logs
  • mount
  • ping
  • ss
  • tcpdump
  • traceroute
  • uname
  • ulimit -a
  • uptime
  • timedatectl status
  • hostnamectl status
  • nc-toolbox nc-toolbox-runread ipmitool channel authcap
  • nc-toolbox nc-toolbox-runread ipmitool channel info
  • nc-toolbox nc-toolbox-runread ipmitool chassis status
  • nc-toolbox nc-toolbox-runread ipmitool chassis power status
  • nc-toolbox nc-toolbox-runread ipmitool chassis restart cause
  • nc-toolbox nc-toolbox-runread ipmitool chassis poh
  • nc-toolbox nc-toolbox-runread ipmitool dcmi power get_limit
  • nc-toolbox nc-toolbox-runread ipmitool dcmi sensors
  • nc-toolbox nc-toolbox-runread ipmitool dcmi asset_tag
  • nc-toolbox nc-toolbox-runread ipmitool dcmi get_mc_id_string
  • nc-toolbox nc-toolbox-runread ipmitool dcmi thermalpolicy get
  • nc-toolbox nc-toolbox-runread ipmitool dcmi get_temp_reading
  • nc-toolbox nc-toolbox-runread ipmitool dcmi get_conf_param
  • nc-toolbox nc-toolbox-runread ipmitool delloem lcd info
  • nc-toolbox nc-toolbox-runread ipmitool delloem lcd status
  • nc-toolbox nc-toolbox-runread ipmitool delloem mac list
  • nc-toolbox nc-toolbox-runread ipmitool delloem mac get
  • nc-toolbox nc-toolbox-runread ipmitool delloem lan get
  • nc-toolbox nc-toolbox-runread ipmitool delloem powermonitor powerconsumption
  • nc-toolbox nc-toolbox-runread ipmitool delloem powermonitor powerconsumptionhistory
  • nc-toolbox nc-toolbox-runread ipmitool delloem powermonitor getpowerbudget
  • nc-toolbox nc-toolbox-runread ipmitool delloem vflash info card
  • nc-toolbox nc-toolbox-runread ipmitool echo
  • nc-toolbox nc-toolbox-runread ipmitool ekanalyzer print
  • nc-toolbox nc-toolbox-runread ipmitool ekanalyzer summary
  • nc-toolbox nc-toolbox-runread ipmitool fru print
  • nc-toolbox nc-toolbox-runread ipmitool fwum info
  • nc-toolbox nc-toolbox-runread ipmitool fwum status
  • nc-toolbox nc-toolbox-runread ipmitool fwum tracelog
  • nc-toolbox nc-toolbox-runread ipmitool gendev list
  • nc-toolbox nc-toolbox-runread ipmitool hpm rollbackstatus
  • nc-toolbox nc-toolbox-runread ipmitool hpm selftestresult
  • nc-toolbox nc-toolbox-runread ipmitool ime help
  • nc-toolbox nc-toolbox-runread ipmitool ime info
  • nc-toolbox nc-toolbox-runread ipmitool isol info
  • nc-toolbox nc-toolbox-runread ipmitool lan print
  • nc-toolbox nc-toolbox-runread ipmitool lan alert print
  • nc-toolbox nc-toolbox-runread ipmitool lan stats get
  • nc-toolbox nc-toolbox-runread ipmitool mc bootparam get
  • nc-toolbox nc-toolbox-runread ipmitool mc chassis poh
  • nc-toolbox nc-toolbox-runread ipmitool mc chassis policy list
  • nc-toolbox nc-toolbox-runread ipmitool mc chassis power status
  • nc-toolbox nc-toolbox-runread ipmitool mc chassis status
  • nc-toolbox nc-toolbox-runread ipmitool mc getenables
  • nc-toolbox nc-toolbox-runread ipmitool mc getsysinfo
  • nc-toolbox nc-toolbox-runread ipmitool mc guid
  • nc-toolbox nc-toolbox-runread ipmitool mc info
  • nc-toolbox nc-toolbox-runread ipmitool mc restart cause
  • nc-toolbox nc-toolbox-runread ipmitool mc watchdog get
  • nc-toolbox nc-toolbox-runread ipmitool bmc bootparam get
  • nc-toolbox nc-toolbox-runread ipmitool bmc chassis poh
  • nc-toolbox nc-toolbox-runread ipmitool bmc chassis policy list
  • nc-toolbox nc-toolbox-runread ipmitool bmc chassis power status
  • nc-toolbox nc-toolbox-runread ipmitool bmc chassis status
  • nc-toolbox nc-toolbox-runread ipmitool bmc getenables
  • nc-toolbox nc-toolbox-runread ipmitool bmc getsysinfo
  • nc-toolbox nc-toolbox-runread ipmitool bmc guid
  • nc-toolbox nc-toolbox-runread ipmitool bmc info
  • nc-toolbox nc-toolbox-runread ipmitool bmc restart cause
  • nc-toolbox nc-toolbox-runread ipmitool bmc watchdog get
  • nc-toolbox nc-toolbox-runread ipmitool nm alert get
  • nc-toolbox nc-toolbox-runread ipmitool nm capability
  • nc-toolbox nc-toolbox-runread ipmitool nm discover
  • nc-toolbox nc-toolbox-runread ipmitool nm policy get policy_id
  • nc-toolbox nc-toolbox-runread ipmitool nm policy limiting
  • nc-toolbox nc-toolbox-runread ipmitool nm statistics
  • nc-toolbox nc-toolbox-runread ipmitool nm suspend get
  • nc-toolbox nc-toolbox-runread ipmitool nm threshold get
  • nc-toolbox nc-toolbox-runread ipmitool pef
  • nc-toolbox nc-toolbox-runread ipmitool picmg addrinfo
  • nc-toolbox nc-toolbox-runread ipmitool picmg policy get
  • nc-toolbox nc-toolbox-runread ipmitool power status
  • nc-toolbox nc-toolbox-runread ipmitool sdr elist
  • nc-toolbox nc-toolbox-runread ipmitool sdr get
  • nc-toolbox nc-toolbox-runread ipmitool sdr info
  • nc-toolbox nc-toolbox-runread ipmitool sdr list
  • nc-toolbox nc-toolbox-runread ipmitool sdr type
  • nc-toolbox nc-toolbox-runread ipmitool sel elist
  • nc-toolbox nc-toolbox-runread ipmitool sel get
  • nc-toolbox nc-toolbox-runread ipmitool sel info
  • nc-toolbox nc-toolbox-runread ipmitool sel list
  • nc-toolbox nc-toolbox-runread ipmitool sel time get
  • nc-toolbox nc-toolbox-runread ipmitool sensor get
  • nc-toolbox nc-toolbox-runread ipmitool sensor list
  • nc-toolbox nc-toolbox-runread ipmitool session info
  • nc-toolbox nc-toolbox-runread ipmitool sol info
  • nc-toolbox nc-toolbox-runread ipmitool sol payload status
  • nc-toolbox nc-toolbox-runread ipmitool user list
  • nc-toolbox nc-toolbox-runread ipmitool user summary
  • nc-toolbox nc-toolbox-runread racadm arp
  • nc-toolbox nc-toolbox-runread racadm coredump
  • nc-toolbox nc-toolbox-runread racadm diagnostics
  • nc-toolbox nc-toolbox-runread racadm eventfilters get
  • nc-toolbox nc-toolbox-runread racadm fcstatistics
  • nc-toolbox nc-toolbox-runread racadm get
  • nc-toolbox nc-toolbox-runread racadm getconfig
  • nc-toolbox nc-toolbox-runread racadm gethostnetworkinterfaces
  • nc-toolbox nc-toolbox-runread racadm getled
  • nc-toolbox nc-toolbox-runread racadm getniccfg
  • nc-toolbox nc-toolbox-runread racadm getraclog
  • nc-toolbox nc-toolbox-runread racadm getractime
  • nc-toolbox nc-toolbox-runread racadm getsel
  • nc-toolbox nc-toolbox-runread racadm getsensorinfo
  • nc-toolbox nc-toolbox-runread racadm getssninfo
  • nc-toolbox nc-toolbox-runread racadm getsvctag
  • nc-toolbox nc-toolbox-runread racadm getsysinfo
  • nc-toolbox nc-toolbox-runread racadm gettracelog
  • nc-toolbox nc-toolbox-runread racadm getversion
  • nc-toolbox nc-toolbox-runread racadm hwinventory
  • nc-toolbox nc-toolbox-runread racadm ifconfig
  • nc-toolbox nc-toolbox-runread racadm inlettemphistory get
  • nc-toolbox nc-toolbox-runread racadm jobqueue view
  • nc-toolbox nc-toolbox-runread racadm lclog view
  • nc-toolbox nc-toolbox-runread racadm lclog viewconfigresult
  • nc-toolbox nc-toolbox-runread racadm license view
  • nc-toolbox nc-toolbox-runread racadm netstat
  • nc-toolbox nc-toolbox-runread racadm nicstatistics
  • nc-toolbox nc-toolbox-runread racadm ping
  • nc-toolbox nc-toolbox-runread racadm ping6
  • nc-toolbox nc-toolbox-runread racadm racdump
  • nc-toolbox nc-toolbox-runread racadm sslcertview
  • nc-toolbox nc-toolbox-runread racadm swinventory
  • nc-toolbox nc-toolbox-runread racadm systemconfig getbackupscheduler
  • nc-toolbox nc-toolbox-runread racadm systemperfstatistics (PeakReset 引数は使用できません)
  • nc-toolbox nc-toolbox-runread racadm techsupreport getupdatetime
  • nc-toolbox nc-toolbox-runread racadm traceroute
  • nc-toolbox nc-toolbox-runread racadm traceroute6
  • nc-toolbox nc-toolbox-runread racadm usercertview
  • nc-toolbox nc-toolbox-runread racadm vflashsd status
  • nc-toolbox nc-toolbox-runread racadm vflashpartition list
  • nc-toolbox nc-toolbox-runread racadm vflashpartition status -a
  • nc-toolbox nc-toolbox-runread mstregdump
  • nc-toolbox nc-toolbox-runread mstconfig (query 引数が必要)
  • nc-toolbox nc-toolbox-runread mstflint (query 引数が必要)
  • nc-toolbox nc-toolbox-runread mstlink (query 引数が必要)
  • nc-toolbox nc-toolbox-runread mstfwmanager (query 引数が必要)
  • nc-toolbox nc-toolbox-runread mlx_temp

引数のない単一のコマンドのコマンド構文は次のとおりです。例として hostname を使用します。

az networkcloud baremetalmachine run-read-command --name "<machine-name>"
    --limit-time-seconds "<timeout>" \
    --commands "[{command:hostname}]" \
    --resource-group "<cluster_MRG>" \
    --subscription "<subscription>"
  • --commands パラメーターは、コマンドが 1 つだけの場合でも必ず、コマンドのリストを受け取ります。
  • Azure CLI の短縮形表記を使用して、複数のコマンドを json 形式で指定できます。
  • 空白文字は単一引用符で囲む必要があります。
  • 次の例に示すように、各コマンドの引数もリストとして指定する必要があります。
--commands "[{command:hostname},{command:'nc-toolbox nc-toolbox-runread racadm ifconfig'}]"
--commands "[{command:hostname},{command:'nc-toolbox nc-toolbox-runread racadm getsysinfo',arguments:[-c]}]"
--commands "[{command:ping,arguments:[198.51.102.1,-c,3]}]"

これらのコマンドは実行時間が長い場合があるため、--limit-time-seconds を少なくとも 600 秒 (10 分) に設定することをおすすめします。 複数のコマンドを実行するには、10 分より長くかかる場合があります。

このコマンドは同期的に実行されます。 コマンド完了の待機をスキップする場合は、--no-wait --debug オプションを指定します。 詳細については、非同期操作の追跡方法に関する記事を参照してください。

省略可能な引数 --output-directory を指定すると、出力結果がダウンロードされ、ローカル ディレクトリに抽出されます。

警告

--output-directory 引数を使用すると、作成される新しいファイルと同じ名前を持つローカル ディレクトリ内のすべてのファイルが上書きされます。

この例では、'kubectl get pods' を実行します

az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
   --limit-time-seconds 60 \
   --commands "[{command:'kubectl get',arguments:[pods,-n,nc-system]}]" \
   --resource-group "<cluster_MRG>" \
   --subscription "<subscription>"

この例は、hostname コマンドと ping コマンドを実行します

az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
    --limit-time-seconds 60 \
    --commands "[{command:hostname},{command:ping,arguments:[198.51.102.1,-c,3]}]" \
    --resource-group "<cluster_MRG>" \
    --subscription "<subscription>"

この例は、racadm getsysinfo -c コマンドを実行します

az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
    --limit-time-seconds 60 \
    --commands "[{command:'nc-toolbox nc-toolbox-runread racadm getsysinfo',arguments:[-c]}]" \
    --resource-group "<cluster_MRG>" \
    --subscription "<subscription>"

コマンドの状態を確認し、ユーザー指定のストレージ アカウン内で出力を表示する

サンプル出力を示します。 便宜上、結果の上位 4,000 文字が画面に出力され、コマンドの実行結果を含むストレージ BLOB への短期間のリンクが表示されます。 このリンクを使用して、zip 形式の出力ファイル (tar.gz) をダウンロードできます。 出力にアクセスするには、ストレージ BLOB への適切なアクセス権がユーザーに必要です。 ストレージ アカウントへのロールの割り当てについては、「BLOB データにアクセスするための Azure ロールを割り当てる」を参照してください。

  ====Action Command Output====
  + hostname
  rack1compute01
  + ping 198.51.102.1 -c 3
  PING 198.51.102.1 (198.51.102.1) 56(84) bytes of data.

  --- 198.51.102.1 ping statistics ---
  3 packets transmitted, 0 received, 100% packet loss, time 2049ms

  ================================
  Script execution result can be found in storage account:
  https://<storage_account_name>.blob.core.windows.net/bmm-run-command-output/a8e0a5fe-3279-46a8-b995-51f2f98a18dd-action-bmmrunreadcmd.tar.gz?se=2023-04-14T06%3A37%3A00Z&sig=XXX&sp=r&spr=https&sr=b&st=2023-04-14T02%3A37%3A00Z&sv=2019-12-12

非推奨: クラスター マネージャー ストレージ アカウントで az networkcloud baremetalmachine run-read-command の出力を表示する方法

このガイドでは、サーバーで az networkcloud baremetalmachine run-read-command が実行されたときにクラスター マネージャー ストレージ アカウントで作成される出力ファイルにアクセスする手順について説明します。 ファイルの名前は、az rest の状態の出力で識別されます。

  1. サーバーが格納されているクラスターのクラスター マネージャーの管理対象リソース グループを開き、[ストレージ アカウント] を選択します。

  2. ストレージ アカウントの詳細で、左側のナビゲーション メニューから [ストレージ ブラウザー] を選択します。

  3. ストレージ ブラウザーの詳細で、[BLOB コンテナー] を選択します。

  4. baremetal-run-command-output BLOB コンテナーを選択します。

  5. ストレージ アカウントがロックされ、ネットワークまたはファイアウォールの制限が原因で 403 This request is not authorized to perform this operation. が発生する可能性があります。 アクセスを確認する手順については、クラスター マネージャー ストレージまたはカスタマー マネージド ストレージのセクションを参照してください。

  6. run-read コマンドからの出力ファイルを選択します。 ファイル名は、az rest --method get コマンドから識別できます。 さらに、最終変更タイムスタンプは、コマンドの実行時に合わせて調整されます。

  7. 出力ファイルは、[概要] ポップアップから管理およびダウンロードできます。