az networkcloud baremetalmachine run-read-command
를 사용하여 BMM 문제 해결
사용자가 온-프레미스 BMM의 및 해결 문제를 조사해야 하는 경우가 있을 수 있습니다. Operator Nexus는 사용자가 큐레이팅된 읽기 전용 명령 목록을 실행하여 BMM에서 정보를 가져올 수 있도록 az networkcloud baremetalmachine run-read-command
를 제공합니다.
명령 실행은 클러스터 관리자의 스토리지 계정에서 찾을 수 있는 결과를 포함하는 출력 파일을 생성합니다.
필수 조건
- 적절한 Azure CLI 확장의 최신 버전을 설치합니다.
- 대상 BMM의
poweredState
가On
으로,readyState
가True
로 설정되어야 합니다. Cluster
리소스에 대해 만든 관리되는 리소스 그룹 이름(cluster_MRG) 가져오기
스토리지 계정 액세스 확인
클러스터 관리자의 스토리지 계정에 대한 액세스 권한이 있는지 확인
- Azure Portal에서 클러스터 관리자의 스토리지 계정으로 이동합니다.
- 저장소 계정 세부정보의 왼쪽 탐색 메뉴에서 스토리지 브라우저를 선택합니다.
- 스토리지 브라우저 세부정보에서 BLOB 컨테이너를 선택합니다.
- 스토리지 계정에 액세스하는 동안
403 This request is not authorized to perform this operation.
이 발생하는 경우 공용 IP 주소를 포함하도록 스토리지 계정의 방화벽 설정을 업데이트해야 합니다. - 클러스터 관리자 리소스에서 포털을 통해 지원 티켓을 만들어 액세스를 요청합니다. 액세스가 필요한 공용 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-runread
는 ipmitool
및 racadm
과 같이 베어 메탈 호스트에 설치되지 않은 추가 도구를 포함하는 특수 컨테이너 이미지입니다.
일부 실행-읽기 명령에는 명령의 읽기 전용 기능을 적용하기 위해 특정 인수를 제공해야 합니다.
특정 인수가 필요한 실행-읽기 명령의 예는 허용된 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
상태 출력에서 식별됩니다.
서버가 보관된 클러스터의 클러스터 관리자 관리되는 리소스 그룹을 연 다음 스토리지 계정을 선택합니다.
저장소 계정 세부정보의 왼쪽 탐색 메뉴에서 스토리지 브라우저를 선택합니다.
스토리지 브라우저 세부정보에서 BLOB 컨테이너를 선택합니다.
baremetal-run-command-output BLOB 컨테이너를 선택합니다.
네트워킹 또는 방화벽 제한으로 인해 스토리지 계정이 잠기고
403 This request is not authorized to perform this operation.
이 발생할 수 있습니다. 액세스를 확인/요청하는 절차는 스토리지 계정 액세스 확인을 참조하세요.run-read 명령에서 출력 파일을 선택합니다. 파일 이름은
az rest --method get
명령에서 식별할 수 있습니다. 또한 마지막으로 수정한 타임스탬프는 명령이 실행되었을 때와 일치합니다.개요 팝아웃에서 출력 파일을 관리 및 다운로드할 수 있습니다.