az networkcloud baremetalmachine run-read-command를 사용하여 BMM 문제 해결

사용자가 온-프레미스 BMM의 및 해결 문제를 조사해야 하는 경우가 있을 수 있습니다. Operator Nexus는 사용자가 큐레이팅된 읽기 전용 명령 목록을 실행하여 BMM에서 정보를 가져올 수 있도록 az networkcloud baremetalmachine run-read-command를 제공합니다.

명령 실행은 클러스터 관리자의 스토리지 계정에서 찾을 수 있는 결과를 포함하는 출력 파일을 생성합니다.

필수 조건

  1. 적절한 Azure CLI 확장의 최신 버전을 설치합니다.
  2. 대상 BMM의 poweredStateOn으로, readyStateTrue로 설정되어야 합니다.
  3. Cluster 리소스에 대해 만든 관리되는 리소스 그룹 이름(cluster_MRG) 가져오기

스토리지 계정 액세스 확인

클러스터 관리자의 스토리지 계정에 대한 액세스 권한이 있는지 확인

  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":"kubectl get","arguments":["nodes"]}가 맞습니다. {"command":"kubectl","arguments":["get","nodes"]}가 틀렸습니다.

또한 일부 명령은 nc-toolbox nc-toolbox-runread로 시작하므로 표시된 대로 입력해야 합니다. nc-toolbox-runreadipmitoolracadm과 같이 베어 메탈 호스트에 설치되지 않은 추가 도구를 포함하는 특수 컨테이너 이미지입니다.

일부 실행-읽기 명령에는 명령의 읽기 전용 기능을 적용하기 위해 특정 인수를 제공해야 합니다. 특정 인수가 필요한 실행-읽기 명령의 예는 허용된 Mellanox 명령 mstconfig입니다. 이 명령에는 읽기 전용을 적용하기 위해 query 인수를 제공해야 합니다.

Warning

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
  • 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

명령 구문은 다음과 같습니다.

az networkcloud baremetalmachine run-read-command --name "<machine-name>"
    --limit-time-seconds "<timeout>" \
    --commands '[{"command":"<command1>"},{"command":"<command2>","arguments":["<arg1>","<arg2>"]}]' \
    --resource-group "<cluster_MRG>" \
    --subscription "<subscription>"

여러 명령을 json 형식으로 --commands 옵션에 제공할 수 있습니다.

여러 인수가 있는 명령의 경우 arguments 매개 변수에 목록으로 제공합니다. --commands 구조체를 구성하는 방법에 대한 지침은 Azure CLI 약어를 참조하세요.

이러한 명령은 오래 실행될 수 있으므로 --limit-time-seconds를 최소 600초(10분)로 설정하는 것이 좋습니다. 여러 추출 실행에는 10분 이상 걸릴 수 있습니다.

이 명령은 동기적으로 실행됩니다. 명령이 완료될 때까지 기다리지 않으려는 경우 --no-wait --debug 옵션을 지정합니다. 자세한 내용은 비동기 작업 추적 방법을 참조하세요.

선택적 인수 --output-directory가 제공되면 출력 결과가 다운로드되어 로컬 디렉터리로 추출됩니다.

이 예제에서는 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에 대한 수명이 짧은 링크를 제공합니다. 링크를 사용하여 압축된 출력 파일(tar.gz)을 다운로드할 수 있습니다.

  ====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. 개요 팝아웃에서 출력 파일을 관리 및 다운로드할 수 있습니다.