Gyorsított hálózatkezeléssel rendelkező, Linux rendszerű virtuális gép létrehozása az Azure CLI-vel

Ez az oktatóanyag bemutatja, hogyan hozhat létre gyorsított hálózattal linuxos virtuális gépet (VM). Gyorsított hálózat Windows virtuális gép létrehozásához lásd: Windows virtuális gép létrehozása gyorsított hálózattal. A Gyorsított hálózatkezelés engedélyezi az egygyökerű I/O-virtualizálást (SR-IOV) a virtuális gépekre, nagy mértékben javítva a hálózati teljesítményt. Ez a nagy teljesítményű útvonal megkerüli a gazdagépet az adatútvonalról, így csökkenti a késést, a jittert és a processzorhasználatot, ami a támogatott virtuálisgép-típusok esetében a legnagyobb teljesítményt igénylő hálózati számítási feladatokkal használható. Az alábbi képen a gyorsított hálózattal és anélküli kommunikáció látható két virtuális gép között:

Összehasonlítás

Gyorsított hálózatépítés nélkül a virtuális gép összes hálózati forgalmának a gazdagépen és a virtuális kapcsolón keresztül kell áthaladni. A virtuális kapcsoló biztosítja az összes szabályzat betartatási funkcióját, például a hálózati biztonsági csoportokat, a hozzáférés-vezérlési listákat, az elkülönítést és az egyéb hálózat virtualizált szolgáltatásokat a hálózati forgalom számára. A virtuális kapcsolókról a Hyper-V hálózat virtualizálásával és virtuális kapcsolóval kapcsolatos cikkben talál további információt.

A gyorsított hálózattal a hálózati forgalom a virtuális gép hálózati adapterére (NIC) érkezik, majd továbbítja a virtuális gépre. A virtuális kapcsoló által alkalmazott összes hálózati házirend ki van töltve és alkalmazva van a hardveren. A házirend hardveren való alkalmazása lehetővé teszi, hogy a hálózati adapter közvetlenül a virtuális gépre továbbítja a hálózati forgalmat, megkerülve a gazdagépet és a virtuális kapcsolót, miközben a gazdagépen alkalmazott összes házirendet megőrzi.

A gyorsított hálózatépítés előnyei csak azokra a virtuális gépekre érvényesek, amelyeken engedélyezve van. A legjobb eredmény érdekében ideális, ha ezt a funkciót legalább két, ugyanabba az Azure-beli virtuális hálózathoz (VNet) csatlakozó virtuális gépre engedélyezi. A virtuális hálózatok közötti kommunikáció vagy a helyszíni csatlakozás során ez a funkció minimális hatással van a teljes késésre.

Előnyök

  • Kisebb késés /nagyobb csomag/másodperc (pps): Ha eltávolítja a virtuális kapcsolót az adatkapcsolatból, azzal eltávolítja a csomagokat a gazdagépen a házirendek feldolgozásához szükséges időből, és növeli a virtuális gépen feldolgozható csomagok számát.
  • Kisebb jitter: A virtuális kapcsolók feldolgozása az alkalmazandó szabályzat mennyiségétől és a feldolgozást feldolgozó cpu számítási feladatától függ. A házirend hardverre való kiszervezése megszünteti ezt az változékonyságot azáltal, hogy a csomagokat közvetlenül a virtuális gépre kézbesíti, eltávolítja a gazdagépet a virtuális gépek közötti kommunikációból, és minden szoftverhiba és környezetkapcsoló.
  • Csökkent CPU-kihasználtság: A virtuális kapcsoló gazdagépen való megkerülése kisebb processzorkihasználtságot eredményezhet a hálózati forgalom feldolgozása során.

Támogatott operációs rendszerek

Az Alábbi disztribúciók használatra készen támogatottak az Azure-katalógusból:

  • Ubuntu 14.04 linux-azure kernel használatával
  • Ubuntu 16.04 vagy újabb
  • SLES12 SP3 vagy újabb
  • RHEL 7.4 vagy újabb
  • CentOS 7.4 vagy újabb
  • CoreOS Linux
  • Debian "Stretch" a backports kernel, a Debian " Illetve újabb" kernelével
  • Oracle Linux 7.4-es vagy újabb verzió a Red Hat-kompatibilis kernel (ASCK)
  • Oracle Linux 7.5-ös vagy újabb verzió az UEK 5-ös verziójával
  • FreeBSD 10.4, 11.1 & 12.0 vagy újabb

Korlátozások és megkötések

Támogatott virtuálisgép-példányok

A gyorsított hálózat a legtöbb általános célú és számításra optimalizált példányméreten támogatott, 2 vagy több vCPU-val. A hyperthreadingot támogató példányok esetében a gyorsított hálózatépítés támogatott a 4 vagy több vCPU-val futó virtuálisgép-példányok esetében.

A gyorsított hálózatépítés támogatása az egyes virtuálisgép-méretek dokumentációjában található.

Egyéni rendszerképek

Ha egyéni rendszerképet használ, és a rendszerkép támogatja a gyorsított hálózatépítést, győződjön meg arról, hogy az azure-beli Mellanox ConnectX-3, ConnectX-4 Lx és ConnectX-5 hálózati adapterek kezeléséhez szükséges illesztőprogramokkal dolgozik. Emellett a gyorsított hálózatépítéshez olyan hálózati konfigurációkra van szükség, amelyek kivételt képeznek a virtuális funkciók (mlx4_en és mlx5_core illesztőprogramok) konfigurációja alól. A cloud-init =19.4 >rendszerképeken a hálózat megfelelően van konfigurálva, hogy támogassa a gyorsított hálózatépítést a kiépítés során.

Régiók

Minden nyilvános Azure-régióban és felhőben Azure Government érhető el.

Gyorsított hálózatépítés engedélyezése futó virtuális gépen

A támogatott virtuálisgép-méretek, amelyeken nincs engedélyezve a gyorsított hálózat, csak akkor lehet engedélyezni a funkciót, amikor le vannak állítva és fel vannak szabadodva.

Üzembe helyezés Azure Resource Manager

A (klasszikus) virtuális gépek nem helyezhetők üzembe gyorsított hálózattal.

Linux rendszerű virtuális gép létrehozása az Azure gyorsított hálózat használatával

Portál létrehozása

Bár ez acikk a gyorsított hálózatépítést használó virtuális gépek Azure CLI használatával való létrehozásához nyújt lépéseket, a virtuális gépeket gyorsított hálózatépítéssel is létrehozhatja a Azure Portal. Amikor virtuális gépet hoz létre a portálon, a Virtuális gép létrehozása panelen válassza a Hálózat lapot. Ezen a lapon lehetősége van a gyorsított hálózatra. Ha támogatott operációs rendszert és virtuálisgép-méretet választott,ez a beállítás automatikusan "Be" lesz töltve. Ha nem, akkor a gyorsított hálózat építés "Kikapcsolva" beállítását tölti fel, és okot ad a felhasználónak arra, hogy miért nincs engedélyezve.

  • Megjegyzés: Csak a támogatott operációs rendszerek engedélyezhetők a portálon keresztül. Ha egyéni rendszerképet használ, és a rendszerkép támogatja a gyorsított hálózatépítést, hozza létre a virtuális gépet a parancssori felület vagy a PowerShell használatával.

A virtuális gép létrehozása után a Gyorsított hálózatépítés engedélyezése lehetőségről a Gyorsított hálózatépítés engedélyezése a következőben található utasításokat követve ellenőrizhet:.

CLI létrehozása

Virtuális hálózat létrehozása

Telepítse a legújabb Azure CLI-t, és jelentkezzen be egy Azure-fiókba az az login használatával. Az alábbi példákban cserélje le a példaparaméter-neveket a saját értékeire. A paraméternevek közé tartozik például a myResourceGroup, a myNic és a myVm.

Hozzon létre egy erőforráscsoportot az az group create paranccsal. A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot a központi helyen:

az group create --name myResourceGroup --location centralus

Válasszon ki egy támogatott Linux-régiót a Linux gyorsított hálózatának listázva.

Hozzon létre egy virtuális hálózatot az az network vnet create paranccsal. Az alábbi példa egy myVnet nevű virtuális hálózatot hoz létre egy alhálózattal:

az network vnet create \
    --resource-group myResourceGroup \
    --name myVnet \
    --address-prefix 192.168.0.0/16 \
    --subnet-name mySubnet \
    --subnet-prefix 192.168.1.0/24

Hálózati biztonsági csoport létrehozása

Hozzon létre egy hálózati biztonsági csoportot az az network nsg create gombra. A következő példa a myNetworkSecurityGroup nevű hálózati biztonsági csoportot hozza létre:

az network nsg create \
    --resource-group myResourceGroup \
    --name myNetworkSecurityGroup

A hálózati biztonsági csoport számos alapértelmezett szabályt tartalmaz, amelyek egyike letiltja az internetről bejövő hozzáférést. Nyisson meg egy portot, hogy engedélyezze az SSH-hozzáférést a virtuális géphez az az network nsg rule create segítségével:

az network nsg rule create \
  --resource-group myResourceGroup \
  --nsg-name myNetworkSecurityGroup \
  --name Allow-SSH-Internet \
  --access Allow \
  --protocol Tcp \
  --direction Inbound \
  --priority 100 \
  --source-address-prefix Internet \
  --source-port-range "*" \
  --destination-address-prefix "*" \
  --destination-port-range 22

Gyorsított hálózatépítést lehetővé tő hálózati adapter létrehozása

Hozzon létre egy nyilvános IP-címet az az network public-ip create paranccsal. Nincs szükség nyilvános IP-címre, ha nem tervezi elérni a virtuális gépet az internetről, de a cikkben található lépések éhez szükség van rá.

az network public-ip create \
    --name myPublicIp \
    --resource-group myResourceGroup

Hozzon létre egy hálózati adaptert az az network nic create használatával, engedélyezett gyorsított hálózattal. A következő példa létrehoz egy myNic nevű hálózati adaptert a myVnet virtuális hálózat mySubnet alhálózatán, és társítja a myNetworkSecurityGroup hálózati biztonsági csoportot a hálózati adapterhez:

az network nic create \
    --resource-group myResourceGroup \
    --name myNic \
    --vnet-name myVnet \
    --subnet mySubnet \
    --accelerated-networking true \
    --public-ip-address myPublicIp \
    --network-security-group myNetworkSecurityGroup

Virtuális gép létrehozása és a hálózati adapter csatolása

A virtuális gép létrehozásakor adja meg a következővel létrehozott hálózati adaptert: --nics . Válasszon egy méretet és egy disztribúciót a Linux gyorsított hálózatának listázva.

Hozzon létre egy virtuális gépet az az vm create paranccsal. Az alábbi példa létrehoz egy myVM nevű virtuális gépet az UbuntuLTS rendszerképtel és egy olyan mérettel, amely támogatja a gyorsított hálózat Standard_DS4_v2 ):

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image UbuntuLTS \
    --size Standard_DS4_v2 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --nics myNic

Az összes virtuálisgép-méret és -jellemző listáját lásd: Linux rendszerű virtuális gépek méretei.

A virtuális gép létrehozása után a rendszer az alábbi példához hasonló kimenetet ad vissza. Jegyezze fel a publicIpAddress értékét. A következő lépésekben ezzel a címmel férhet hozzá a virtuális géphez.

{
  "fqdns": "",
  "id": "/subscriptions/<ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "centralus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "192.168.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Annak ellenőrzése, hogy engedélyezve van-e a gyorsított hálózat

Használja az alábbi parancsot egy SSH-munkamenet létrehozásához a virtuális géphez. Cserélje le a helyére a létrehozott virtuális géphez rendelt nyilvános IP-címet, ha pedig más értéket használt a virtuális gép létrehozásakor, cserélje le az <your-public-ip-address> azureuser --admin-username értéket.

ssh azureuser@<your-public-ip-address>

A Bash-rendszerhéjban írja be a következőt, és győződjön meg arról, hogy a kernelverzió az alábbi vagy újabb uname -r verziók valamelyike:

  • Ubuntu 16.04: 4.11.0-1013
  • SLES SP3: 4.4.92-6.18
  • RHEL: 3.10.0-693
  • CentOS: 3.10.0-693

Az paranccsal ellenőrizze, hogy a Mellanox VF-eszköz elérhető-e a virtuális lspci gépen. A visszaadott kimenet az alábbihoz hasonló:

0000:00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
0000:00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01)
0000:00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
0000:00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
0000:00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA
0001:00:02.0 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]

A VF-re (virtuális függvényre) vonatkozó tevékenységeket az ethtool -S eth0 | grep vf_ paranccsal ellenőrizheti. Ha az alábbi mintához hasonló kimenetet kap, a gyorsított hálózatépítés engedélyezve van és működik.

vf_rx_packets: 992956
vf_rx_bytes: 2749784180
vf_tx_packets: 2656684
vf_tx_bytes: 1099443970
vf_tx_dropped: 0

A gyorsított hálózat már engedélyezve van a virtuális gépen.

Dinamikus kötés és virtuális függvény visszavonása

Az alkalmazásoknak a virtuális gépen elérhető szintetikus hálózati adapteren kell futniuk. Ha az alkalmazás közvetlenül a VF hálózati adapteren fut, akkor nem kapja meg a virtuális gépre szánt összes csomagot, mivel egyes csomagok a szintetikus interfészen keresztül omolnak. Ha egy alkalmazást a szintetikus hálózati adapteren futtat, az garantálja, hogy az alkalmazás megkapja az összes oda szánt csomagot. Emellett arról is biztosít, hogy az alkalmazás tovább fut, még akkor is, ha a VF-et a gazdagép szervizeltekor visszavonják. A szintetikus hálózati adapterhez kötést kötő alkalmazások kötelezően követelmény minden olyan alkalmazás esetében, amely kihasználja a gyorsított hálózat előnyeit.

Gyorsított hálózatépítés engedélyezése meglévő virtuális gépeken

Ha gyorsított hálózatépítés nélkül hozott létre egy virtuális gépet, akkor ezt a funkciót egy meglévő virtuális gépen is engedélyezheti. A virtuális gépnek támogatnia kell a gyorsított hálózatépítést a következő, szintén a fentiekben ismertetett előfeltételeknek megfelelően:

  • A virtuális gépnek támogatott méretűnek kell lennie a gyorsított hálózatban
  • A virtuális gépnek támogatott Azure Gallery-rendszerképnek (linuxos kernelverziónak) kell lennie
  • A rendelkezésre állási csoportban vagy a VMSS-en lévő összes virtuális gépet le kell állítani/fel kell szabadítani, mielőtt engedélyezték volna a gyorsított hálózatépítést bármely hálózati adapteren

Az egyes virtuális & rendelkezésre állási készletben vannak virtuális gépek

Először állítsa le/szabadítsák fel a virtuális gépet, vagy rendelkezésre állási készlet esetén a készletben található összes virtuális gépet:

az vm deallocate \
    --resource-group myResourceGroup \
    --name myVM

Fontos, vegye figyelembe, hogy ha a virtuális gépet külön, rendelkezésre állási készlet nélkül hozta létre, csak le kell állítania/fel kell szabadítania az egyes virtuális gépeket a gyorsított hálózatépítés engedélyezéséhez. Ha a virtuális gép rendelkezésre állási készlettel lett létrehozva, a rendelkezésre állási készletben található összes virtuális gépet le kell állítani/fel kell szabadítani, mielőtt bármelyik hálózati adapteren engedélyezné a gyorsított hálózatépítést.

Ha le van állítva, engedélyezze a gyorsított hálózatépítést a virtuális gép hálózati adapterében:

az network nic update \
    --name myNic \
    --resource-group myResourceGroup \
    --accelerated-networking true

Indítsa újra a virtuális gépet, vagy ha rendelkezésre állási csoportban van, a készletben található összes virtuális gépet, és ellenőrizze, hogy engedélyezve van-e a gyorsított hálózat:

az vm start --resource-group myResourceGroup \
    --name myVM

VMSS

A VMSS kissé eltérő, de ugyanazt a munkafolyamatot követi. Először állítsa le a virtuális gépeket:

az vmss deallocate \
    --name myvmss \
    --resource-group myrg

A virtuális gépek leállása után frissítse a gyorsított hálózatépítés tulajdonságot a hálózati adapter alatt:

az vmss update --name myvmss \
    --resource-group myrg \
    --set virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].enableAcceleratedNetworking=true

Vegye figyelembe, hogy a VMSS virtuálisgép-frissítésekkel rendelkezik, amelyek három különböző beállítás (automatikus, működés közbeni és manuális) frissítéseket alkalmaznak. Ezekben az utasításokban a szabályzat automatikusra van állítva, így a VMSS az újraindítás után azonnal átveszi a módosításokat. Ha automatikusra kell állítani, hogy a módosítások azonnal átvevessződnek:

az vmss update \
    --name myvmss \
    --resource-group myrg \
    --set upgradePolicy.mode="automatic"

Végül indítsa újra a VMSS-t:

az vmss start \
    --name myvmss \
    --resource-group myrg

Az újraindítás után várja meg, amíg a frissítések befejeződnek, de ha befejeződött, a virtuális gép megjelenik a virtuális gépen. (Győződjön meg arról, hogy támogatott operációs rendszert és virtuálisgép-méretet használ.)

Meglévő virtuális gépek átméretezése gyorsított hálózattal

A gyorsított hálózattal rendelkező virtuális gépeket csak olyan virtuális gépekre lehet átméretezni, amelyek támogatják a gyorsított hálózatépítést.

A gyorsított hálózattal rendelkező virtuális gépek nem méretezhetők át olyan virtuálisgép-példányra, amely nem támogatja a gyorsított hálózatépítést az átméretezési művelettel. Ehelyett az alábbi virtuális gépek egyikének átméretezése:

  • Állítsa le/szabadítsák fel a virtuális gépet, vagy ha rendelkezésre állási készletben vagy VMSS-ben vannak, állítsa le/szabadítsák fel a készletben/VMSS-ben található összes virtuális gépet.
  • A gyorsított hálózatépítést le kell tiltani a virtuális gép hálózati adapterében, vagy ha rendelkezésre állási csoportban vagy VMSS-en található, akkor a csoportban/VMSS-en található összes virtuális gépnek.
  • Ha a gyorsított hálózatépítés le van tiltva, a virtuális gép/rendelkezésre állási készlet/VMSS új méretre is áthelyezható, amely nem támogatja a gyorsított hálózatépítést, és újraindítható.