Správa zařízení Azure Stack Edge Pro FPGA přes Windows PowerShell
Důležité
Zařízení Azure Stack Edge Pro FPGA dosáhla konce životnosti v únoru 2024.
Řešení Azure Stack Edge Pro FPGA umožňuje zpracovávat data a odesílat je přes síť do Azure. Tento článek popisuje některé úlohy konfigurace a správy pro vaše zařízení Azure Stack Edge Pro FPGA. Ke správě zařízení můžete použít Azure Portal, místní webové uživatelské rozhraní nebo rozhraní Windows PowerShellu.
Tento článek se zaměřuje na úlohy, které používáte pomocí rozhraní PowerShellu.
Tento článek obsahuje následující postupy:
- Připojte se k rozhraní PowerShellu.
- Vytvoření balíčku podpory
- Nahrání certifikátu
- Resetování zařízení
- Zobrazení informací o zařízení
- Získání výpočetních protokolů
- Monitorování a řešení potíží s výpočetními moduly
Připojte se k rozhraní PowerShellu.
V závislosti na operačním systému klienta se postupy vzdáleného připojení k zařízení liší.
Vzdálené připojení z klienta systému Windows
Než začnete, ujistěte se, že váš klient Windows používá Windows PowerShell 5.0 nebo novější.
Pomocí těchto kroků se vzdáleně připojte z klienta systému Windows.
Spusťte relaci Windows PowerShellu jako správce.
Ujistěte se, že je ve vašem klientovi spuštěná služba Vzdálená správa systému Windows. Na příkazovém řádku zadejte:
winrm quickconfig
Další informace naleznete v tématu Instalace a konfigurace pro vzdálenou správu systému Windows.
Přiřaďte proměnnou IP adrese zařízení.
$ip = "<device_ip>"
Nahraďte
<device_ip>
IP adresou vašeho zařízení.Pokud chcete přidat IP adresu vašeho zařízení do seznamu důvěryhodných hostitelů klienta, zadejte následující příkaz:
Set-Item WSMan:\localhost\Client\TrustedHosts $ip -Concatenate -Force
Na zařízení spusťte relaci Windows PowerShellu:
Enter-PSSession -ComputerName $ip -Credential $ip\EdgeUser -ConfigurationName Minishell
Po zobrazení výzvy zadejte heslo. Použijte stejné heslo, které se používá k přihlášení k místnímu webovému uživatelskému rozhraní. Výchozí heslo místního webového uživatelského rozhraní je Password1. Po úspěšném připojení k zařízení pomocí vzdáleného PowerShellu se zobrazí následující ukázkový výstup:
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. PS C:\WINDOWS\system32> winrm quickconfig WinRM service is already running on this machine. PS C:\WINDOWS\system32> $ip = "10.100.10.10" PS C:\WINDOWS\system32> Set-Item WSMan:\localhost\Client\TrustedHosts $ip -Concatenate -Force PS C:\WINDOWS\system32> Enter-PSSession -ComputerName $ip -Credential $ip\EdgeUser -ConfigurationName Minishell WARNING: The Windows PowerShell interface of your device is intended to be used only for the initial network configuration. Please engage Microsoft Support if you need to access this interface to troubleshoot any potential issues you may be experiencing. Changes made through this interface without involving Microsoft Support could result in an unsupported configuration. [10.100.10.10]: PS>
Vzdálené připojení z klienta Linuxu
Na klientovi s Linuxem, kterého použijete pro připojení:
- Nainstalujte nejnovější PowerShell Core pro Linux z GitHubu, abyste získali funkci vzdálené komunikace SSH.
- Nainstalujte pouze
gss-ntlmssp
balíček z modulu NTLM. Pro klienty Ubuntu použijte následující příkaz:sudo apt-get install gss-ntlmssp
Další informace najdete v tématu Vzdálené komunikace PowerShellu přes SSH.
Pomocí těchto kroků se vzdáleně připojte z klienta SYSTÉMU SOUBORŮ NFS.
Pokud chcete otevřít relaci PowerShellu, zadejte:
pwsh
Pro připojení pomocí vzdáleného klienta zadejte:
Enter-PSSession -ComputerName $ip -Authentication Negotiate -ConfigurationName Minishell -Credential ~\EdgeUser
Po zobrazení výzvy zadejte heslo použité k přihlášení k zařízení.
Poznámka:
Tento postup nefunguje v systému Mac OS.
Vytvoření balíčku podpory
Pokud dojde k problémům se zařízením, můžete vytvořit balíček podpory z systémových protokolů. podpora Microsoftu tento balíček používá k řešení potíží. Pokud chcete vytvořit balíček podpory, postupujte takto:
Get-HcsNodeSupportPackage
Pomocí příkazu vytvořte balíček podpory. Použití rutiny je následující:Get-HcsNodeSupportPackage [-Path] <string> [-Zip] [-ZipFileName <string>] [-Include {None | RegistryKeys | EtwLogs | PeriodicEtwLogs | LogFiles | DumpLog | Platform | FullDumps | MiniDumps | ClusterManagementLog | ClusterLog | UpdateLogs | CbsLogs | StorageCmdlets | ClusterCmdlets | ConfigurationCmdlets | KernelDump | RollbackLogs | Symbols | NetworkCmdlets | NetworkCmds | Fltmc | ClusterStorageLogs | UTElement | UTFlag | SmbWmiProvider | TimeCmds | LocalUILogs | ClusterHealthLogs | BcdeditCommand | BitLockerCommand | DirStats | ComputeRolesLogs | ComputeCmdlets | DeviceGuard | Manifests | MeasuredBootLogs | Stats | PeriodicStatLogs | MigrationLogs | RollbackSupportPackage | ArchivedLogs | Default}] [-MinimumTimestamp <datetime>] [-MaximumTimestamp <datetime>] [-IncludeArchived] [-IncludePeriodicStats] [-Credential <pscredential>] [<CommonParameters>]
Rutina shromažďuje protokoly z vašeho zařízení a kopíruje tyto protokoly do zadané sítě nebo místní sdílené složky.
Použité parametry jsou následující:
-Path
– Zadejte síť nebo místní cestu, do které chcete zkopírovat balíček podpory. (požadováno)-Credential
– Zadejte přihlašovací údaje pro přístup k chráněné cestě.-Zip
- Zadejte, chcete-li vygenerovat soubor ZIP.-Include
– Určete, aby byly součástí balíčku podpory zahrnuté součásti. Pokud není zadán,Default
předpokládá se.-IncludeArchived
– Zadejte, aby se do balíčku podpory zahrnuly archivované protokoly.-IncludePeriodicStats
– Zadejte, aby se do balíčku podpory zahrnuly pravidelné protokoly statistiky.
Nahrání certifikátu
Správný certifikát SSL zajišťuje, že odesíláte šifrované informace na správný server. Kromě šifrování certifikát také umožňuje ověřování. Vlastní důvěryhodný certifikát SSL můžete nahrát prostřednictvím rozhraní PowerShellu zařízení.
Set-HcsCertificate
K nahrání certifikátu použijte rutinu. Po zobrazení výzvy zadejte následující parametry:CertificateFilePath
– Cesta ke sdílené složce, která obsahuje soubor certifikátu ve formátu .pfx .CertificatePassword
- Heslo použité k ochraně certifikátu.Credentials
– Uživatelské jméno pro přístup ke sdílené složce, která obsahuje certifikát Po zobrazení výzvy zadejte heslo ke sdílené síťové složce.Následující příklad ukazuje použití této rutiny:
Set-HcsCertificate -Scope LocalWebUI -CertificateFilePath "\\myfileshare\certificates\mycert.pfx" -CertificatePassword "mypassword" -Credential "Username"
Můžete také nahrát certifikáty IoT Edge a tím umožnit zabezpečené připojení mezi vaším zařízením IoT Edge a podřízenými zařízeními, která se k němu můžou připojovat. Je potřeba nainstalovat tři soubory (formát .pem ):
- Kořenový certifikát certifikační autority nebo certifikační autorita vlastníka
- Certifikát certifikační autority zařízení
- Privátní klíč zařízení
Následující příklad ukazuje použití této rutiny k instalaci certifikátů IoT Edge:
Set-HcsCertificate -Scope IotEdge -RootCACertificateFilePath "\\hcfs\root-ca-cert.pem" -DeviceCertificateFilePath "\\hcfs\device-ca-cert.pem\" -DeviceKeyFilePath "\\hcfs\device-private-key.pem" -Credential "username"
Po spuštění této rutiny se zobrazí výzva k zadání hesla pro sdílenou síťovou složku.
Další informace o certifikátech najdete v části Certifikáty Azure IoT Edge nebo Nainstalujte certifikáty do brány.
Zobrazení informací o zařízení
Informace o vašem zařízení získáte pomocí příkazu.<
/a0> Následující příklad ukazuje použití této rutiny:
[10.100.10.10]: PS>Get-HcsApplianceInfo Id : b2044bdb-56fd-4561-a90b-407b2a67bdfc FriendlyName : DBE-NBSVFQR94S6 Name : DBE-NBSVFQR94S6 SerialNumber : HCS-NBSVFQR94S6 DeviceId : 40d7288d-cd28-481d-a1ea-87ba9e71ca6b Model : Virtual FriendlySoftwareVersion : Data Box Gateway 1902 HcsVersion : 1.4.771.324 IsClustered : False IsVirtual : True LocalCapacityInMb : 1964992 SystemState : Initialized SystemStatus : Normal Type : DataBoxGateway CloudReadRateBytesPerSec : 0 CloudWriteRateBytesPerSec : 0 IsInitialPasswordSet : True FriendlySoftwareVersionNumber : 1902 UploadPolicy : All DataDiskResiliencySettingName : Simple ApplianceTypeFriendlyName : Data Box Gateway IsRegistered : False
Tady je tabulka se souhrnem některých důležitých informací o zařízení:
Parametr Popis FriendlyName Popisný název zařízení nakonfigurovaný prostřednictvím místního webového uživatelského rozhraní během nasazování zařízení. Výchozí popisný název je sériové číslo zařízení. SerialNumber Sériové číslo zařízení je jedinečné číslo přiřazené v továrně. Model Model pro zařízení Azure Stack Edge nebo Data Box Gateway. Model je fyzický pro Azure Stack Edge a virtuální pro Službu Data Box Gateway. FriendlySoftwareVersion Popisný řetězec, který odpovídá verzi softwaru zařízení. V případě systému, na kterém běží verze Preview, by byla uživatelsky přívětivá verze softwaru Data Box Edge 1902. HcsVersion Verze softwaru HCS spuštěná na vašem zařízení. Například verze softwaru HCS odpovídající Data Box Edge 1902 je 1.4.771.324. LocalCapacityInMb Celková místní kapacita zařízení v Megabitech. IsRegistered Tato hodnota označuje, jestli je vaše zařízení aktivované se službou.
Resetování zařízení
Pokud chcete resetovat zařízení, musíte bezpečně vymazat všechna data na datovém a spouštěcím disku zařízení.
Pomocí rutiny Reset-HcsAppliance
můžete vymazat datové disky i spouštěcí disk nebo pouze datové disky. SecureWipeDataDisks
Přepínače SecureWipeBootDisk
umožňují vymazat spouštěcí disk a datové disky.
Přepínač SecureWipeBootDisk
vymaže spouštěcí disk a zařízení bude nepoužitelné. Měl by se použít pouze v případě, že je potřeba vrátit zařízení do Microsoftu. Další informace najdete v tématu Vrácení zařízení do Microsoftu.
Pokud využijete možnost resetování zařízení v místním webovém uživatelském rozhraní, bezpečně se vymažou pouze datové disky a spouštěcí disk zůstane nedotčený. Spouštěcí disk obsahuje konfiguraci zařízení.
Na příkazovém řádku zadejte:
Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks
Příklad použití této rutiny najdete v následujícím příkladu:
[10.128.24.33]: PS>Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks Confirm Are you sure you want to perform this action? Performing the operation "Reset-HcsAppliance" on target "ShouldProcess appliance". [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): N
Získání výpočetních protokolů
Pokud je na vašem zařízení nakonfigurovaná výpočetní role, můžete také získat výpočetní protokoly přes rozhraní PowerShellu.
Použijte k
Get-AzureDataBoxEdgeComputeRoleLogs
získání výpočetních protokolů pro vaše zařízení.Následující příklad ukazuje použití této rutiny:
Get-AzureDataBoxEdgeComputeRoleLogs -Path "\\hcsfs\logs\myacct" -Credential "username" -FullLogCollection
Tady je popis parametrů použitých pro rutinu:
Path
: Zadejte síťovou cestu ke sdílené složce, do které chcete vytvořit balíček výpočetního protokolu.Credential
: Zadejte uživatelské jméno pro sdílenou síťovou složku. Když tuto rutinu spustíte, budete muset zadat heslo ke sdílené složce.FullLogCollection
: Tento parametr zajistí, že balíček protokolu bude obsahovat všechny výpočetní protokoly. Ve výchozím nastavení balíček protokolu obsahuje pouze podmnožinu protokolů.
Monitorování a řešení potíží s výpočetními moduly
Na zařízení Azure Stack Edge s nakonfigurovanou výpočetní rolí můžete zařízení řešit nebo monitorovat pomocí dvou různých příkazů.
- Pomocí
iotedge
příkazů. Tyto příkazy jsou k dispozici pro základní operace pro vaše zařízení. - Pomocí
dkrdbe
příkazů. Tyto příkazy jsou k dispozici pro rozsáhlou sadu operací pro vaše zařízení.
Pokud chcete spustit některou z výše uvedených příkazů, musíte se připojit k rozhraní PowerShellu.
Použití iotedge
příkazů
Pokud chcete zobrazit seznam dostupných příkazů, připojte se k rozhraní PowerShellu a použijte iotedge
funkci.
[10.100.10.10]: PS>iotedge -? Usage: iotedge COMMAND
Commands:
check
list
logs
restart
[10.100.10.10]: PS>
Následující tabulka obsahuje stručný popis příkazů dostupných pro iotedge
:
příkaz | Popis |
---|---|
check |
Provádění automatizovaných kontrol běžných problémů s konfigurací a připojením |
list |
Seznam modulů |
logs |
Načtení protokolů modulu |
restart |
Zastavení a restartování modulu |
Použití dkrdbe
příkazů
Pokud chcete zobrazit seznam dostupných příkazů, připojte se k rozhraní PowerShellu a použijte dkrdbe
funkci.
[10.100.10.10]: PS>dkrdbe -?
Usage: dkrdbe COMMAND
Commands:
image [prune]
images
inspect
login
logout
logs
port
ps
pull
start
stats
stop
system [df]
top
[10.100.10.10]: PS>
Následující tabulka obsahuje stručný popis příkazů dostupných pro dkrdbe
:
příkaz | Popis |
---|---|
image |
Správa imagí Pokud chcete odebrat nepoužívané obrázky, použijte: dkrdbe image prune -a -f |
images |
Výpis imagí |
inspect |
Vrácení informací na nízké úrovni u objektů Dockeru |
login |
Přihlášení k registru Dockeru |
logout |
Odhlášení z registru Dockeru |
logs |
Načtení protokolů kontejneru |
port |
Zobrazení seznamu mapování portů nebo konkrétního mapování kontejneru |
ps |
Výpis kontejnerů |
pull |
Stažení image nebo úložiště z registru |
start |
Spuštění jednoho nebo více zastavených kontejnerů |
stats |
Zobrazení živého streamu statistik využití prostředků kontejnerů |
stop |
Zastavení jednoho nebo více spuštěných kontejnerů |
system |
Správa Dockeru |
top |
Zobrazení spuštěných procesů kontejneru |
Pokud chcete získat nápovědu k libovolnému dostupnému příkazu, použijte dkrdbe <command-name> --help
.
Pokud chcete například porozumět použití port
příkazu, zadejte:
[10.100.10.10]: P> dkrdbe port --help
Usage: dkr port CONTAINER [PRIVATE_PORT[/PROTO]]
List port mappings or a specific mapping for the container
[10.100.10.10]: P> dkrdbe login --help
Usage: docker login [OPTIONS] [SERVER]
Log in to a Docker registry.
If no server is specified, the default is defined by the daemon.
Options:
-p, --password string Password
--password-stdin Take the password from stdin
-u, --username string Username
[10.100.10.10]: PS>
Dostupné příkazy pro dkrdbe
funkci používají stejné parametry jako ty, které se používají pro normální příkazy Dockeru. Možnosti a parametry použité s příkazem Dockeru najdete v části Použití příkazového řádku Dockeru.
Kontrola úspěšného nasazení modulu
Výpočetní moduly jsou kontejnery, které mají implementovanou obchodní logiku. Pokud chcete zkontrolovat, jestli je výpočetní modul úspěšně nasazený, spusťte ps
příkaz a zkontrolujte, jestli je kontejner (odpovídající výpočetnímu modulu) spuštěný.
Pokud chcete získat seznam všech kontejnerů (včetně těch, které jsou pozastavené), spusťte ps -a
příkaz.
[10.100.10.10]: P> dkrdbe ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d99e2f91d9a8 edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64 "dotnet FileMoveModu…" 2 days ago Up 2 days movefile
0a06f6d605e9 edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64 "dotnet FileMoveModu…" 2 days ago Up 2 days filemove
2f8a36e629db mcr.microsoft.com/azureiotedge-hub:1.0 "/bin/sh -c 'echo \"$…" 2 days ago Up 2 days 0.0.0.0:443->443/tcp, 0.0.0.0:5671->5671/tcp, 0.0.0.0:8883->8883/tcp edgeHub
acce59f70d60 mcr.microsoft.com/azureiotedge-agent:1.0 "/bin/sh -c 'echo \"$…" 2 days ago Up 2 days edgeAgent
[10.100.10.10]: PS>
Pokud při vytváření image kontejneru nebo při načítání image došlo k chybě, spusťte logs edgeAgent
příkaz . EdgeAgent
je kontejner modulu runtime IoT Edge, který zodpovídá za zřizování dalších kontejnerů.
Vzhledem k tomu logs edgeAgent
, že výpisy všech protokolů, je dobrým způsobem, jak zobrazit nedávné chyby, je použít možnost --tail 20
.
[10.100.10.10]: PS>dkrdbe logs edgeAgent --tail 20
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Util.Uds.HttpUdsMessageHandler] - Connected socket /var/run/iotedge/mgmt.sock
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Util.Uds.HttpUdsMessageHandler] - Sending request http://mgmt.sock/modules?api-version=2018-06-28
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Core.Agent] - Getting edge agent config...
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Core.Agent] - Obtained edge agent config
2019-02-28 23:38:23.469 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Edgelet.ModuleManagementHttpClient] - Received a valid Http response from unix:///var/run/iotedge/mgmt.soc
k for List modules
--------------------CUT---------------------
--------------------CUT---------------------
08:28.1007774+00:00","restartCount":0,"lastRestartTimeUtc":"2019-02-26T20:08:28.1007774+00:00","runtimeStatus":"running","version":"1.0","status":"running","restartPolicy":"always
","type":"docker","settings":{"image":"edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64","imageHash":"sha256:47778be0602fb077d7bc2aaae9b0760fbfc7c058bf4df192f207ad6cbb96f7cc","c
reateOptions":"{\"HostConfig\":{\"Binds\":[\"/home/hcsshares/share4-dl460:/home/input\",\"/home/hcsshares/share4-iot:/home/output\"]}}"},"env":{}}
2019-02-28 23:38:28.480 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Core.Planners.HealthRestartPlanner] - HealthRestartPlanner created Plan, with 0 command(s).
Získání protokolů kontejneru
Pokud chcete získat protokoly pro konkrétní kontejner, nejprve vypište kontejner a získejte protokoly pro kontejner, který vás zajímá.
Pokud chcete získat seznam spuštěných kontejnerů, spusťte
ps
příkaz.[10.100.10.10]: P> dkrdbe ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d99e2f91d9a8 edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64 "dotnet FileMoveModu…" 2 days ago Up 2 days movefile 0a06f6d605e9 edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64 "dotnet FileMoveModu…" 2 days ago Up 2 days filemove 2f8a36e629db mcr.microsoft.com/azureiotedge-hub:1.0 "/bin/sh -c 'echo \"$…" 2 days ago Up 2 days 0.0.0.0:443->443/tcp, 0.0.0.0:5671->5671/tcp, 0.0.0.0:8883->8883/tcp edgeHub acce59f70d60 mcr.microsoft.com/azureiotedge-agent:1.0 "/bin/sh -c 'echo \"$…" 2 days ago Up 2 days edgeAgent
Poznamenejte si ID kontejneru kontejneru, pro který potřebujete protokoly.
Pokud chcete získat protokoly pro konkrétní kontejner, spusťte
logs
příkaz s ID kontejneru.[10.100.10.10]: PS>dkrdbe logs d99e2f91d9a8 02/26/2019 18:21:45: Info: Opening module client connection. 02/26/2019 18:21:46: Info: Initializing with input: /home/input, output: /home/output. 02/26/2019 18:21:46: Info: IoT Hub module client initialized. 02/26/2019 18:22:24: Info: Received message: 1, SequenceNumber: 0 CorrelationId: , MessageId: 081886a07e694c4c8f245a80b96a252a Body: [{"ChangeType":"Created","ShareRelativeFilePath":"\\__Microsoft Data Box Edge__\\Upload\\Errors.xml","ShareName":"share4-dl460"}] 02/26/2019 18:22:24: Info: Moving input file: /home/input/__Microsoft Data Box Edge__/Upload/Errors.xml to /home/output/__Microsoft Data Box Edge__/Upload/Errors.xml 02/26/2019 18:22:24: Info: Processed event. 02/26/2019 18:23:38: Info: Received message: 2, SequenceNumber: 0 CorrelationId: , MessageId: 30714d005eb048e7a4e7e3c22048cf20 Body: [{"ChangeType":"Created","ShareRelativeFilePath":"\\f [10]","ShareName":"share4-dl460"}] 02/26/2019 18:23:38: Info: Moving input file: /home/input/f [10] to /home/output/f [10] 02/26/2019 18:23:38: Info: Processed event.
Monitorování statistik využití zařízení
K monitorování paměti, využití procesoru a vstupně-výstupních operací na zařízení použijte stats
příkaz.
Spusťte příkaz,
stats
abyste zakázali živý stream a stáhli pouze první výsledek.dkrdbe stats --no-stream
Následující příklad ukazuje použití této rutiny:
[10.100.10.10]: P> dkrdbe stats --no-stream CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS d99e2f91d9a8 movefile 0.0 24.4MiB / 62.89GiB 0.04% 751kB / 497kB 299kB / 0B 14 0a06f6d605e9 filemove 0.00% 24.11MiB / 62.89GiB 0.04% 679kB / 481kB 49.5MB / 0B 14 2f8a36e629db edgeHub 0.18% 173.8MiB / 62.89GiB 0.27% 4.58MB / 5.49MB 25.7MB / 2.19MB 241 acce59f70d60 edgeAgent 0.00% 35.55MiB / 62.89GiB 0.06% 2.23MB / 2.31MB 55.7MB / 332kB 14 [10.100.10.10]: PS>
Ukončení vzdálené relace
Pokud chcete ukončit vzdálenou relaci PowerShellu, zavřete okno PowerShellu.
Další kroky
- Nasaďte Azure Stack Edge Pro FPGA na webu Azure Portal.