IoT Edge létrehozása és üzembe helyezése Linuxhoz Windows-eszközön nagy méretekben TPM használatával
A következőkre vonatkozik: IoT Edge 1.5 IoT Edge 1.4
Fontos
Az IoT Edge 1.5 LTS és az IoT Edge 1.4 LTS támogatott kiadások. Az IoT Edge 1.4 LTS 2024. november 12-én megszűnik. Ha egy korábbi kiadáson dolgozik, olvassa el az IoT Edge frissítése című témakört.
Ez a cikk útmutatást nyújt a Linuxhoz készült Azure IoT Edge automatikus fejlesztéséhez Windows-eszközön egy megbízható platformmodul (TPM) használatával. Az Azure IoT Hub eszközkiépítési szolgáltatásával automatikusan kiépítheti az Azure IoT Edge-eszközöket. Ha nem ismeri az automatikus üzembe helyezés folyamatát, a folytatás előtt tekintse át a kiépítés áttekintését .
Ez a cikk két módszertant ismertet. Válassza ki a kívánt beállítást a megoldás architektúrája alapján:
- Linux rendszerű eszközök automatikus létrehozása fizikai TPM-hardverrel Windows-eszközön.
- Linux rendszerű eszközök automatikus létrehozása szimulált TPM használatával. Ezt a módszertant csak tesztelési forgatókönyvként javasoljuk. A szimulált TPM nem nyújt ugyanolyan biztonságot, mint a fizikai TPM.
A feladatok a következők:
- Telepítse a Linuxhoz készült IoT Edge-et Windows rendszeren.
- Kérje le a TPM-adatokat az eszközről.
- Hozzon létre egy egyéni regisztrációt az eszközhöz.
- Az eszköz kiépítése a TPM-információival.
Előfeltételek
Felhőbeli erőforrások
- Aktív IoT Hub
- Az IoT Hub eszközkiépítési szolgáltatásának egy példánya az Azure-ban, az IoT Hubhoz csatolva
- Ha nem rendelkezik eszközkiépítési szolgáltatáspéldánysal, kövesse az új IoT Hub-eszközkiépítési szolgáltatás létrehozása, valamint az IoT Hub és az IoT Hub eszközkiépítési szolgáltatás szakaszainak összekapcsolása rövid útmutatójában leírtakat.
- Az eszközkiépítési szolgáltatás futtatása után másolja ki az azonosító hatókörének értékét az áttekintési oldalról. Ezt az értéket az IoT Edge-futtatókörnyezet konfigurálásakor használja.
Eszközkövetelmények
Az alábbi minimális követelményekkel rendelkező Windows-eszköz:
Rendszerkövetelmények
- Windows 101/11 (Pro, Enterprise, IoT Enterprise)
- Windows Server 20191/2022
1 Windows 10 és Windows Server 2019 minimális build: 17763, az összes aktuális kumulatív frissítés telepítve van.
Hardverkövetelmények
- Minimális szabad memória: 1 GB
- Minimális szabad lemezterület: 10 GB
Virtualizálási támogatás
- Windows 10 rendszeren engedélyezze a Hyper-V-t. További információ: Hyper-V telepítése Windows 10-en.
- Windows Serveren telepítse a Hyper-V szerepkört, és hozzon létre egy alapértelmezett hálózati kapcsolót. További információ: Beágyazott virtualizáció a Linuxhoz készült Azure IoT Edge-hez Windows rendszeren.
- Virtuális gépen konfigurálja a beágyazott virtualizálást. További információ: beágyazott virtualizálás.
Hálózatkezelési támogatás
- A Windows Server nem rendelkezik alapértelmezett kapcsolóval. Mielőtt üzembe helyezheti az EFLOW-t Egy Windows Server-eszközön, létre kell hoznia egy virtuális kapcsolót. További információ: Virtuális kapcsoló létrehozása Linuxhoz Windows rendszeren.
- A Windows Desktop-verziók alapértelmezett kapcsolóval rendelkezik, amely az EFLOW telepítéséhez használható. Szükség esetén létrehozhatja saját egyéni virtuális kapcsolóját.
Tipp.
Ha GPU-val felgyorsított Linux-modulokat szeretne használni a Linuxhoz készült Azure IoT Edge-ben Windows-környezetben, több konfigurációs lehetőséget is figyelembe kell vennie.
A GPU-architektúrától függően telepítenie kell a megfelelő illesztőprogramokat, és előfordulhat, hogy hozzá kell férnie egy Windows Insider Program-buildhez. A konfigurációs igények meghatározásához és az előfeltételek teljesítéséhez tekintse meg a Linuxhoz készült Azure IoT Edge GPU-gyorsítását Windows rendszeren.
Mindenképpen szánjon időt a GPU-gyorsítás előfeltételeinek teljesítésére. Ha úgy dönt, hogy gpu-gyorsítást szeretne a telepítés során, újra kell indítania a telepítési folyamatot.
Fejlesztői eszközök
Készítse elő a céleszközt a Linuxhoz készült Azure IoT Edge windowsos telepítésére és a Linux rendszerű virtuális gép üzembe helyezésére:
Állítsa be a végrehajtási szabályzatot a céleszközön a következőre
AllSigned
: . Az aktuális végrehajtási szabályzatot egy emelt szintű PowerShell-parancssorban ellenőrizheti az alábbi paranccsal:Get-ExecutionPolicy -List
Ha a végrehajtási szabályzat
local machine
nemAllSigned
, a végrehajtási szabályzatot a következővel állíthatja be:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
A Linuxhoz készült Azure IoT Edge windowsos PowerShell-modullal kapcsolatos további információkért tekintse meg a PowerShell-függvények hivatkozását.
Feljegyzés
A TPM 2.0 akkor szükséges, ha TPM-igazolást használ az eszközkiépítési szolgáltatással.
TPM használata esetén csak egyéni, nem csoportszintű eszközkiépítési szolgáltatásregisztrációkat hozhat létre.
Az IoT Edge telepítése
Telepítse az Azure IoT Edge for Linuxot Windows rendszeren a céleszközön.
Feljegyzés
Az alábbi PowerShell-folyamat bemutatja, hogyan helyezheti üzembe a Linuxhoz készült IoT Edge-et Windows rendszeren a helyi eszközön. Távoli céleszközre a PowerShell használatával történő üzembe helyezéshez a Távoli PowerShell használatával létesíthet kapcsolatot egy távoli eszközzel, és távolról futtathatja ezeket a parancsokat az eszközön.
Emelt szintű PowerShell-munkamenetben futtassa az alábbi parancsok egyikét a céleszköz architektúrájától függően, hogy letöltse a Linuxhoz készült IoT Edge-et Windows rendszeren.
X64/AMD64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
ARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
Telepítse az IoT Edge for Linuxot Windows rendszeren az eszközére.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
A Linuxhoz készült egyéni IoT Edge-et windowsos telepítéskor és VHDX-címtárakban is megadhatja, ha hozzáadja
INSTALLDIR="<FULLY_QUALIFIED_PATH>"
ésVHDXDIR="<FULLY_QUALIFIED_PATH>"
paramétereket a telepítési parancshoz. Ha például a telepítéshez a D:\EFLOW mappát, a VHDX-hez pedig a D:\EFLOW-VHDX mappát szeretné használni, a következő PowerShell-parancsmagot használhatja.Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"
Állítsa be a végrehajtási szabályzatot
AllSigned
a céleszközön, ha még nem tette meg. Tekintse meg a parancsok PowerShell-előfeltételeit az aktuális végrehajtási szabályzat ellenőrzéséhez és a végrehajtási szabályzat beállításáhozAllSigned
.Hozza létre a Linuxhoz készült IoT Edge-t Windows rendszeren. Az üzembe helyezés létrehozza a Linux rendszerű virtuális gépet, és telepíti az IoT Edge-futtatókörnyezetet.
Deploy-Eflow
Tipp.
A parancs alapértelmezés szerint 1 GB RAM-mal,
Deploy-Eflow
1 vCPU maggal és 16 GB lemezterülettel hozza létre a Linux rendszerű virtuális gépet. A virtuális gép által igényelt erőforrások azonban nagy mértékben függenek az üzembe helyezhető számítási feladatoktól. Ha a virtuális gép nem rendelkezik elegendő memóriával a számítási feladatok támogatásához, nem indul el.A virtuális gép elérhető erőforrásait testre szabhatja a
Deploy-Eflow
parancs választható paramétereivel. Ez szükséges az EFLOW minimális hardverkövetelményekkel rendelkező eszközön való üzembe helyezéséhez.A következő parancs például létrehoz egy virtuális gépet 1 vCPU maggal, 1 GB RAM-mal (MB-ban ábrázolva) és 2 GB lemezterülettel:
Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDataSize 2
Az összes választható paraméterről további információt a Windowson futó Linuxhoz készült IoT Edge PowerShell-függvényeivel kapcsolatban talál.
Figyelmeztetés
Alapértelmezés szerint az EFLOW Linux rendszerű virtuális gép nem rendelkezik DNS-konfigurációval. A DHCP-t használó üzemelő példányok megpróbálják beszerezni a DHCP-kiszolgáló által propagált DNS-konfigurációt. Ellenőrizze a DNS-konfigurációt az internetkapcsolat biztosításához. További információ: AzEFLOW-DNS.
GPU-t rendelhet az üzembe helyezéshez a GPU-val felgyorsított Linux-modulok engedélyezéséhez. Ezeknek a funkcióknak a eléréséhez telepítenie kell a Linuxhoz készült Azure IoT Edge GPU-gyorsításával kapcsolatos előfeltételeket Windows rendszeren.
GPU-átengedés használatához adja hozzá a gpuName, a gpuPassthroughType és a gpuCount paramétereket a
Deploy-Eflow
parancshoz. Az összes választható paraméterről további információt a Windowson futó Linuxhoz készült IoT Edge PowerShell-függvényeivel kapcsolatban talál.Figyelmeztetés
A hardvereszközök átadásának engedélyezése növelheti a biztonsági kockázatokat. A Microsoft egy eszközcsökkentési illesztőprogramot javasol a GPU gyártójától, ha van ilyen. További információ: Grafikus eszközök üzembe helyezése különálló eszközhozzárendelés használatával.
Adja meg az "Y" értéket a licencfeltételek elfogadásához.
Adja meg az "O" vagy az "R" értéket a választható diagnosztikai adatok be- vagy kikapcsolásához a beállításoktól függően.
Az üzembe helyezés befejezése után a PowerShell-ablak a sikeres üzembe helyezést jelenti.
A sikeres üzembe helyezés után készen áll az eszköz üzembe helyezésére.
Néhány lépéssel előkészítheti az eszközt a TPM-sel való üzembe helyezésre. Az eszköz előkészítése során hagyja nyitva az üzembe helyezést. A cikk későbbi részében visszatér az üzembe helyezéshez.
TPM-átengedés engedélyezése
A Windows rendszerű virtuális gépeken futó Linux IoT Edge egy TPM-funkcióval rendelkezik, amely engedélyezhető vagy letiltható. Alapértelmezés szerint le van tiltva. Ha ez a funkció engedélyezve van, a virtuális gép hozzáférhet a gazdagép TPM-éhez.
Nyissa meg a PowerShellt emelt szintű munkamenetben.
Ha még nem tette meg, állítsa az eszközön a végrehajtási szabályzatot
AllSigned
úgy, hogy a Windows PowerShell-függvényeken futtathassa a Linuxhoz készült IoT Edge-et.Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Kapcsolja be a TPM funkciót.
Set-EflowVmFeature -feature 'DpsTpm' -enable
A TPM adatainak lekérése az eszközről
Az eszköz üzembe helyezéséhez szüksége van egy jóváhagyási kulcsra a TPM-chiphez és az eszköz regisztrációs azonosítójához . Ezeket az információkat az eszközkiépítési szolgáltatás példányának adja meg, hogy a szolgáltatás felismerje az eszközt, amikor csatlakozni próbál.
A jóváhagyási kulcs egyedi az egyes TPM-chipek esetében. A termék a hozzá társított TPM chip gyártójától származik. A TPM-eszköz egyedi regisztrációs azonosítóját például úgy hozhatja létre, hogy létrehoz egy SHA-256 kivonatot a jóváhagyási kulcsból.
A Windows rendszeren futó Linux IoT Edge egy PowerShell-szkriptet biztosít, amely segít lekérni ezeket az információkat a TPM-ből. A szkript használatához kövesse az alábbi lépéseket az eszközön:
Nyissa meg a PowerShellt emelt szintű munkamenetben.
Futtassa a következő parancsot: .
Get-EflowVmTpmProvisioningInfo | Format-List
Eszközkiépítési szolgáltatás regisztrációjának létrehozása
A TPM kiépítési adataival egyéni regisztrációt hozhat létre az eszközkiépítési szolgáltatásban.
Amikor regisztrációt hoz létre az eszközkiépítési szolgáltatásban, lehetősége van az ikereszköz kezdeti állapotának deklarálására. Az ikereszközön beállíthatja, hogy a címkéket a megoldásban használt bármely metrika alapján csoportosítsa, például régió, környezet, hely vagy eszköztípus szerint. Ezek a címkék automatikus üzembe helyezéseket hoznak létre.
Tipp.
A cikkben szereplő lépések az Azure Portalon érhetők el, de egyéni regisztrációkat is létrehozhat az Azure CLI használatával. További információ: az iot dps-regisztráció. A CLI-parancs részeként használja az edge-kompatibilis jelzőt annak megadásához, hogy a regisztráció egy IoT Edge-eszközhöz tartozik- e.
Az Azure Portalon nyissa meg az IoT Hub eszközkiépítési szolgáltatásának példányát.
A Beállítások területen válassza a Regisztrációk kezelése lehetőséget.
Válassza az Egyéni regisztráció hozzáadása lehetőséget, majd végezze el a következő lépéseket a regisztráció konfigurálásához:
A Mechanizmus beállításnál válassza a TPM lehetőséget.
Adja meg a virtuális gépről vagy fizikai eszközről másolt jóváhagyási kulcsot és regisztrációs azonosítót .
Ha szeretné, adjon meg egy azonosítót az eszközéhez. Ha nem ad meg eszközazonosítót, a rendszer a regisztrációs azonosítót használja.
Az Igaz lehetőséget választva deklarálhatja, hogy a virtuális gép vagy a fizikai eszköz IoT Edge-eszköz.
Válassza ki azt a csatolt IoT Hubot, amelyhez csatlakoztatni szeretné az eszközt, vagy válassza a Hivatkozás az új IoT Hubra lehetőséget. Több központot is választhat, és az eszköz a kiválasztott hozzárendelési szabályzatnak megfelelően az egyikhez lesz hozzárendelve.
Ha szeretné, adjon hozzá egy címkeértéket az ikereszköz kezdeti állapotához . Címkék használatával célcsoportokat célozhat meg a modul üzembe helyezéséhez. További információ: IoT Edge-modulok nagy léptékű üzembe helyezése.
Válassza a Mentés lehetőséget.
Most, hogy már létezik regisztráció ehhez az eszközhöz, az IoT Edge-futtatókörnyezet automatikusan kiépítheti az eszközt a telepítés során.
Az eszköz kiépítése a felhőbeli identitással
Nyisson meg egy emelt szintű PowerShell-munkamenetet a Windows-eszközön.
Az eszköz kiépítése az eszközkiépítési szolgáltatás példányából gyűjtött hatókör-azonosító használatával.
Provision-EflowVM -provisioningType "DpsTpm" -scopeId "SCOPE_ID_HERE"
Ha egyéni regisztrációs azonosítóval regisztrálta az eszközt, a kiépítéskor is meg kell adnia a regisztrációs azonosítót:
Provision-EflowVM -provisioningType "DpsTpm" -scopeId "SCOPE_ID_HERE" -registrationId "REGISTRATION_ID_HERE"
Sikeres telepítés ellenőrzése
Ellenőrizze, hogy a Windows rendszeren futó Linux IoT Edge sikeresen telepítve lett-e és konfigurálva lett-e az IoT Edge-eszközön.
Ha a futtatókörnyezet sikeresen elindult, bemehet az IoT Hubba, és megkezdheti az IoT Edge-modulok üzembe helyezését az eszközön.
Ellenőrizheti, hogy az eszközkiépítési szolgáltatásban létrehozott egyéni regisztrációt használták-e. Nyissa meg az eszközkiépítési szolgáltatáspéldányt az Azure Portalon. Nyissa meg a létrehozott egyéni regisztráció regisztrációs adatait. Figyelje meg, hogy a regisztráció állapota ki van rendelve , és az eszközazonosító megjelenik a listában.
Az eszközön az alábbi parancsokkal ellenőrizheti, hogy az IoT Edge sikeresen telepítve van-e és elindult-e.
Csatlakozzon a Linuxhoz készült IoT Edge-hez Windows rendszerű virtuális gépen a Következő paranccsal a PowerShell-munkamenetben:
Connect-EflowVm
Feljegyzés
A virtuális gép számára az egyetlen SSH-fiók az, aki létrehozta.
A bejelentkezés után az alábbi Linux-paranccsal ellenőrizheti a futó IoT Edge-modulok listáját:
sudo iotedge list
Ha az IoT Edge szolgáltatás hibaelhárítására van szüksége, használja az alábbi Linux-parancsokat.
Ha hibaelhárításra van szükség, kérje le a szolgáltatás naplóit.
sudo iotedge system logs
check
Az eszköz konfigurálásának és kapcsolati állapotának ellenőrzéséhez használja az eszközt.sudo iotedge check
Feljegyzés
Egy újonnan kiépített eszközön az IoT Edge Hubhoz kapcsolódó hiba jelenhet meg:
× éles üzemkészség: Az Edge Hub tárolókönyvtára megmarad a gazdagép fájlrendszerén – Hiba
Nem sikerült ellenőrizni az edgeHub-tároló aktuális állapotát
Ez a hiba egy újonnan kiépített eszközön várható, mert az IoT Edge Hub modul nem fut. A hiba megoldásához az IoT Hubban állítsa be az eszköz moduljait, és hozzon létre egy üzembe helyezést. Az eszköz központi telepítésének létrehozása elindítja a modulokat az eszközön, beleértve az IoT Edge Hub modult is.
Linux IoT Edge eltávolítása Windows rendszeren
Ha el szeretné távolítani Az Azure IoT Edge for Linux windowsos telepítését az eszközéről, használja az alábbi parancsokat.
- Beállítások megnyitása Windows rendszeren
- Válassza a Programok hozzáadása vagy eltávolítása lehetőséget
- Az Azure IoT Edge-alkalmazás kiválasztása
- Válassza az Eltávolítás lehetőséget
Következő lépések
Az eszközkiépítési szolgáltatás regisztrációs folyamata lehetővé teszi az eszközazonosító és az ikereszköz-címkék beállítását az új eszköz üzembe helyezésével egyidejűleg. Ezeket az értékeket az automatikus eszközfelügyelettel megcélzhatja az egyes eszközökre vagy eszközcsoportokra.
Megtudhatja, hogyan helyezhet üzembe és monitorozhat nagy léptékű IoT Edge-modulokat az Azure Portal vagy az Azure CLI használatával.