Felsöka BMM-problem med hjälp av az networkcloud baremetalmachine run-read-command
Det kan finnas situationer där en användare behöver undersöka och lösa problem med en lokal dator utan operativsystem (BMM). Operatorn az networkcloud baremetalmachine run-read-command
Nexus tillhandahåller så att användare kan köra en kurerad lista med skrivskyddade kommandon för att hämta information från en BMM.
Kommandot skapar en utdatafil som innehåller resultatet av körningen av körningsläsningskommandot. Som standard skickas data till Klusterhanterarens lagringskonto. Det finns också en förhandsgranskningsmetod där användarna kan konfigurera klusterresursen med ett lagringskonto och en identitet som har åtkomst till lagringskontot för att ta emot utdata.
Förutsättningar
- Installera den senaste versionen av lämpliga CLI-tillägg
- Se till att BMM-målet måste ha sin
poweredState
uppsättning tillOn
och ha sinreadyState
True
- Hämta namnet på den hanterade resursgruppen (cluster_MRG) som du skapade för
Cluster
resursen
Skicka kommandoutdata till ett användarangivet lagringskonto
Rensa klustrets CommandOutputSettings
Om du vill ändra klustret från en användartilldelad identitet till en systemtilldelad identitet måste CommandOutputSettings först rensas med kommandot i nästa avsnitt och sedan ställas in med det här kommandot.
CommandOutputSettings kan rensas och dirigera run-data-extract-utdata tillbaka till klusterhanterarens lagring. Det rekommenderas dock inte eftersom det är mindre säkert och alternativet tas bort i en framtida version.
CommandOutputSettings måste dock rensas om du byter från en användartilldelad identitet till en systemtilldelad identitet.
Använd det här kommandot för att rensa 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}}'
INAKTUELL METOD: Kontrollera åtkomsten till Klusterhanterarens lagringskonto
Viktigt!
Klusterhanterarens lagringskonto är avsett för borttagning senast i april 2025. Om du använder den här metoden i dag för kommandoutdata kan du överväga att konvertera till att använda ett användarangivet lagringskonto.
Om du använder Cluster Manager-lagringsmetoden kontrollerar du att du har åtkomst till Klusterhanterarens lagringskonto:
- Från Azure Portal går du till Klusterhanterarens lagringskonto.
- I information om lagringskontot väljer du Lagringswebbläsare på navigeringsmenyn till vänster.
- I information om Storage-webbläsaren väljer du blobcontainrar.
- Om du får ett
403 This request is not authorized to perform this operation.
tag åtkomst till lagringskontot måste lagringskontots brandväggsinställningar uppdateras för att inkludera den offentliga IP-adressen. - Begär åtkomst genom att skapa ett supportärende via portalen på Cluster Manager-resursen. Ange den offentliga IP-adress som kräver åtkomst.
Köra ett körningsläsningskommando
Med körningsläsningskommandot kan du köra ett kommando på BMM som inte ändrar något. Vissa kommandon har mer än ett ord eller behöver ett argument för att fungera. Dessa kommandon görs så här för att skilja dem från dem som kan ändra saker. Run-read-command kan till exempel använda kubectl get
men inte kubectl apply
. När du använder dessa kommandon måste du placera alla ord i fältet "kommando". Till exempel är {command:'kubectl get',arguments:[nodes]}
rätt, {command:kubectl,arguments:[get,nodes]}
är fel.
Observera också att vissa kommandon börjar med nc-toolbox nc-toolbox-runread
och måste anges som visas.
nc-toolbox-runread
är en särskild containeravbildning som innehåller fler verktyg som inte är installerade på bare metal-värden, till exempel ipmitool
och racadm
.
Vissa av run-read-kommandona kräver att specifika argument anges för att framtvinga skrivskyddade funktioner i kommandona.
Ett exempel på körningsläsningskommandon som kräver specifika argument är det tillåtna Mellanox-kommandot mstconfig
, som kräver query
att argumentet anges för att framtvinga skrivskyddad användning.
Varning
Microsoft tillhandahåller eller stöder inte operatörs-Nexus API-anrop som förväntar sig att användarnamn och/eller lösenord i klartext ska anges. Observera att alla värden som skickas loggas och anses vara exponerade hemligheter, som ska roteras och återkallas. Den Microsoft-dokumenterade metoden för säker användning av hemligheter är att lagra dem i ett Azure Key Vault. Om du har specifika frågor eller problem skickar du en begäran via Azure Portal.
I den här listan visas de kommandon som du kan använda. Kommandon i *italics*
kan inte ha arguments
, resten kan.
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-argumentet tillåts INTE) 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
(kräverquery
arg) -
nc-toolbox nc-toolbox-runread mstflint
(kräverquery
arg) -
nc-toolbox nc-toolbox-runread mstlink
(kräverquery
arg) -
nc-toolbox nc-toolbox-runread mstfwmanager
(kräverquery
arg) nc-toolbox nc-toolbox-runread mlx_temp
Kommandosyntaxen för ett enda kommando utan argument är följande, med ett hostname
exempel:
az networkcloud baremetalmachine run-read-command --name "<machine-name>"
--limit-time-seconds "<timeout>" \
--commands "[{command:hostname}]" \
--resource-group "<cluster_MRG>" \
--subscription "<subscription>"
- Parametern
--commands
tar alltid en lista med kommandon, även om det bara finns ett kommando. - Flera kommandon kan anges i json-format med hjälp av Azure CLI Shorthand-notation .
- Alla blanksteg måste omges av enkla citattecken.
- Argument för varje kommando måste också anges som en lista, enligt följande exempel.
--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]}]"
Dessa kommandon kan vara tidskrävande så rekommendationen är att ange --limit-time-seconds
till minst 600 sekunder (10 minuter). Det kan ta längre tid än 10 minuter att köra flera kommandon.
Det här kommandot körs synkront. Om du vill hoppa över att vänta på att kommandot ska slutföras anger du alternativen --no-wait --debug
. Mer information finns i spåra asynkrona åtgärder.
När ett valfritt argument --output-directory
anges laddas utdataresultatet ned och extraheras till den lokala katalogen.
Varning
Med argumentet --output-directory
skrivs alla filer i den lokala katalogen över som har samma namn som de nya filer som skapas.
Det här exemplet kör "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>"
Det här exemplet kör hostname
kommandot och ett ping
kommando
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>"
Det här exemplet kör racadm getsysinfo -c
kommandot
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>"
Kontrollera kommandostatusen och visa utdata i ett angivet lagringskonto
Exempelutdata visas. Det skriver ut de översta 4 000 tecknen i resultatet till skärmen för enkelhetens skull och ger en kortlivad länk till lagringsbloben som innehåller kommandokörningsresultatet. Du kan använda länken för att ladda ned den zippade utdatafilen (tar.gz). För att få åtkomst till utdata behöver användarna rätt åtkomst till lagringsbloben. Information om hur du tilldelar roller till lagringskonton finns i Tilldela en Azure-roll för åtkomst till blobdata.
====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
INAKTUELL: Så här visar du utdata för en az networkcloud baremetalmachine run-read-command
i Cluster Manager Storage-kontot
Den här guiden vägleder dig genom att komma åt utdatafilen som skapas i Klusterhanterarens lagringskonto när en az networkcloud baremetalmachine run-read-command
körs på en server. Namnet på filen identifieras i az rest
statusutdata.
Öppna klusterhanterarens hanterade resursgrupp för klustret där servern finns och välj sedan lagringskontot.
I information om lagringskontot väljer du Lagringswebbläsare på navigeringsmenyn till vänster.
I information om Storage-webbläsaren väljer du blobcontainrar.
Välj blobcontainern baremetal-run-command-output.
Lagringskontot kan vara låst på grund
403 This request is not authorized to perform this operation.
av nätverks- eller brandväggsbegränsningar. Se klusterhanterarens lagring eller de kundhanterade lagringsavsnitten för procedurer för att verifiera åtkomsten.Välj utdatafilen från körningsläsningskommandot. Filnamnet kan identifieras från
az rest --method get
kommandot . Dessutom justeras tidsstämpeln Senast ändrad med när kommandot kördes.Du kan hantera och ladda ned utdatafilen från popup-fönstret Översikt .