VMware

Drugi deo: Napredna administracija zajedničke infrastrukture
Port Group – povezivanje virtuelnih mašina na odgovarajuće mreže
V. Virtuelne mreže i dijagnostika povezivosti
22. Port Group – politike i povezivanje VM-ova sa odgovarajućim mrežama

Port Group predstavlja logičku grupu portova na VMware virtuelnom switchu preko koje se virtuelne mašine i VMkernel adapteri povezuju sa odgovarajućom mrežom. Virtuelna mašina se u praksi ne povezuje samo sa nazivom vSwitch-a, već bira konkretnu port grupu koja određuje kojoj mreži pripada i koja mrežna pravila se na njen saobraćaj primenjuju.

Port grupa omogućava da jedan virtuelni switch prenosi više različitih vrsta saobraćaja. Na istom vSwitch-u mogu, na primer, postojati odvojene port grupe za produkcione servere, testne sisteme, management, vMotion ili storage mrežu. Svaka port grupa može imati sopstveni naziv, VLAN identifikator, bezbednosnu politiku, NIC teaming i traffic shaping podešavanja.

Zbog toga port grupa nije samo naziv mreže prikazan prilikom uređivanja virtuelne mašine. Ona predstavlja administrativnu granicu između različitih mrežnih segmenata i jedan je od najvažnijih elemenata pravilnog projektovanja VMware mreža.

Mesto port grupe u VMware mrežnoj arhitekturi

Osnovni put mrežnog saobraćaja virtuelne mašine izgleda ovako:

Virtuelna mašina
    |
Virtuelni mrežni adapter – vNIC
    |
Port Group
    |
Virtual Switch
    |
Fizički uplink – vmnic
    |
Fizički mrežni switch
    |
Ostatak mreže

Port grupa se nalazi između virtuelnog mrežnog adaptera i virtuelnog switcha. Ona obezbeđuje skup pravila koja važe za sve virtuelne adaptere povezane na tu grupu.

Na primer:

VM-Web01
    |
Network adapter 1
    |
PG-PROD-WEB
    |
vSwitch-Production
    |
vmnic2 i vmnic3
    |
Fizička produkciona mreža

U ovom primeru naziv PG-PROD-WEB administratoru jasno pokazuje da virtuelna mašina pripada produkcionoj mreži namenjenoj web serverima.

Zašto su port grupe potrebne?

Bez port grupa sve virtuelne mašine na jednom vSwitch-u morale bi da koriste ista mrežna podešavanja. Port grupe omogućavaju razdvajanje i organizovanje saobraćaja prema njegovoj nameni.

Tipične port grupe mogu biti:

Naziv port grupe ne stvara VLAN niti automatski obezbeđuje mrežnu izolaciju. Naziv služi administratoru i vSphere objektima, dok se stvarno razdvajanje saobraćaja postiže odgovarajućom VLAN, fizičkom i routing konfiguracijom.

Standard Port Group i Distributed Port Group

U VMware okruženju postoje dve osnovne vrste port grupa:

Standardna port grupa postoji lokalno na svakom hostu. Ako klaster ima četiri ESXi hosta, port grupa potrebna za vMotion ili za virtuelne mašine mora biti pravilno kreirana na svakom hostu na kojem će se ta mreža koristiti.

Distributed port grupa centralno se definiše na Distributed Switch-u i njena konfiguracija distribuira se povezanim hostovima. Ona omogućava doslednije upravljanje većim okruženjima i podržava dodatne funkcionalnosti.

U ovoj lekciji fokus je na standardnim port grupama, jer se na njima najjasnije vidi odnos između hosta, virtuelnog switcha, port grupe, VLAN-a i fizičkog uplinka.

Osobina Standard Port Group Distributed Port Group
Opseg konfiguracije Lokalni ESXi host; mora se uskladiti na svakom hostu. vCenter objekat na vSphere Distributed Switch-u; politika se distribuira pridruženim hostovima.
Upravljanje Host Client, vSphere Client, ESXCLI ili PowerCLI. vSphere Client, VCF PowerCLI ili vSphere API; ESXCLI na hostu služi pre svega za pregled i recovery, ne za redovno upravljanje dvPortGroup objektima.
Politike i vidljivost VLAN, outbound shaping, security i NIC teaming/failover. Pored zajedničkih politika podržava centralizovanu port-level vidljivost i, zavisno od verzije i licence, mogućnosti kao što su Network I/O Control, health check, port mirroring, NetFlow i traffic filtering and marking.
Port binding Nije primenljivo kao dvPortGroup izbor. Static binding je uobičajen i preporučen; ephemeral se čuva za opravdane recovery scenarije. Dynamic binding je zastareo.
Preduslov Ne zahteva vCenter za lokalno postojanje i rad. Zahteva vCenter za centralno upravljanje i odgovarajuće licencno pravo; tačan entitlement mora se proveriti za ugovorenu vSphere/VCF ponudu.

Distributed port grupa nije „bolja” samo zato što je centralizovana. Ona je opravdana kada doslednost velikog broja hostova, napredna telemetrija i kontrola politika nadmašuju dodatnu zavisnost od vCenter-a i potrebu za pažljivo projektovanim recovery pristupom. Za malu laboratoriju ili samostalan host standardna port grupa je jednostavniji i potpuno valjan izbor.

Na distribuiranoj port grupi VLAN se savremeno automatizuje cmdletima kao što su Get-VDPortgroup i Set-VDVlanConfiguration. Stariji -VlanId i -VlanTrunkRange parametri cmdleta Set-VDPortgroup označeni su kao zastareli u aktuelnoj VCF PowerCLI referenci. Ova lekcija zato ne prikazuje zastareli obrazac kao preporučenu proceduru.

Port grupa za virtuelne mašine

Virtuelna mašina povezuje svoj vNIC sa port grupom namenjenom VM saobraćaju. Operativni sistem gosta zatim koristi taj adapter kao običnu mrežnu karticu.

Port grupa određuje:

IP adresa virtuelne mašine najčešće se ne podešava na port grupi. Ona se konfiguriše unutar operativnog sistema gosta, ručno ili preko DHCP servisa.

Port grupa obezbeđuje Layer 2 povezanost, dok se Layer 3 konfiguracija, kao što su IP adresa, maska, gateway i DNS, obično podešava u gostujućem operativnom sistemu.

Port grupa za VMkernel adapter

ESXi host koristi VMkernel adaptere za sopstveni mrežni saobraćaj. VMkernel adapter se takođe povezuje sa odgovarajućom port grupom.

VMkernel port grupe mogu se koristiti za:

VMkernel adapter dobija sopstvenu IP adresu. Njegova port grupa određuje Layer 2 mrežu, VLAN i pravila pristupa fizičkim uplinkovima.

Primer:

vmk1 – 10.100.20.11/24
    |
PG-vMotion
    |
vSwitch-Services
    |
vmnic2 i vmnic3
    |
VLAN 120

VMkernel adapteri i njihove servisne funkcije detaljno se obrađuju u posebnoj lekciji.

Network Label – naziv port grupe

Svaka port grupa ima mrežnu oznaku, odnosno naziv koji se prikazuje u vSphere Client-u i koristi pri povezivanju virtuelnih mrežnih adaptera.

Nazivi treba da budu:

Loši nazivi:

Network1
Network2
Test
Nova mreza
VM Network 2

Bolji nazivi:

PG-PROD-WEB-VLAN110
PG-PROD-DB-VLAN120
PG-DEV-VLAN210
PG-DMZ-VLAN310
PG-vMotion-VLAN410

Nije obavezno da VLAN ID bude deo naziva, ali to može olakšati administraciju. Organizacija treba da odabere jednu konvenciju i primenjuje je dosledno.

Zašto isti naziv mora postojati na svim hostovima?

Kod standardnih switcheva port grupe su lokalne za ESXi host. Ako virtuelna mašina treba da se migrira pomoću vMotion-a, odgovarajuća mreža mora postojati i na ciljnom hostu.

Pretpostavimo da VM koristi port grupu:

PG-PROD-WEB

Na ciljnom hostu treba proveriti:

Samo postojanje port grupe istog naziva nije dovoljno ako ona na drugom hostu koristi drugačiji VLAN ili pogrešan fizički uplink.

Pregled standardnih port grupa pomoću ESXCLI-ja

Prikaz svih standardnih port grupa na ESXi hostu:

esxcli network vswitch standard portgroup list

Primer izlaza:

Name                Virtual Switch       Active Clients  VLAN ID
------------------  -------------------  --------------  -------
Management Network  vSwitch0                          1        0
VM Network          vSwitch0                          3        0
PG-PROD-WEB         vSwitch-Production                6      110
PG-PROD-DB          vSwitch-Production                4      120
PG-vMotion          vSwitch-Services                  1      410

Kolone prikazuju:

Aktivni klijent može biti virtuelni mrežni adapter ili VMkernel adapter povezan sa port grupom.

Pregled celokupne standardne mrežne konfiguracije

Koristan početni pregled:

esxcli network vswitch standard list
esxcli network vswitch standard portgroup list
esxcli network nic list
esxcli network ip interface list

Dodatni sažeti prikaz:

esxcfg-vswitch -l

Ovaj izlaz pokazuje vezu između:

Kreiranje standardne port grupe pomoću ESXCLI-ja

Pre kreiranja port grupe treba proveriti da ciljni vSwitch postoji:

esxcli network vswitch standard list

Kreiranje port grupe:

esxcli network vswitch standard portgroup add \
  --portgroup-name=PG-LAB \
  --vswitch-name=vSwitch-Lab

Kraća forma:

esxcli network vswitch standard portgroup add \
  -p PG-LAB \
  -v vSwitch-Lab

Provera rezultata:

esxcli network vswitch standard portgroup list

Port grupa nakon kreiranja još nema aktivne klijente. Virtuelna mašina ili VMkernel adapter moraju se zasebno povezati sa njom.

Postavljanje VLAN ID-a

VLAN ID standardne port grupe podešava se komandom:

esxcli network vswitch standard portgroup set \
  --portgroup-name=PG-LAB \
  --vlan-id=220

Provera:

esxcli network vswitch standard portgroup list

U ovom primeru port grupa PG-LAB koristi VLAN 220.

Najčešće VLAN vrednosti imaju sledeće značenje:

VLAN 4095 ne treba koristiti kao uobičajenu konfiguraciju serverske port grupe. Namenjen je scenarijima u kojima gostujući sistem ili virtuelni mrežni uređaj obrađuje više VLAN-ova, na primer kod određenih virtuelnih firewall ili routing rešenja.

Kompletna VLAN arhitektura, načini označavanja i odnos sa fizičkim switch portovima obrađuju se u narednoj lekciji.

Promena naziva port grupe

Kod standardne port grupe promena naziva najbezbednije se izvodi kroz vSphere Client ili PowerCLI. Pre promene treba utvrditi koje virtuelne mašine i automatizovane skripte koriste postojeći naziv.

PowerCLI primer:

Get-VirtualPortGroup `
  -VMHost "esxi01.lab.local" `
  -Name "PG-LAB" |
Set-VirtualPortGroup -Name "PG-DEV-VLAN220"

Promena naziva može uticati na:

Uklanjanje port grupe

Pre uklanjanja treba proveriti da port grupa nema aktivne klijente.

esxcli network vswitch standard portgroup list

Uklanjanje:

esxcli network vswitch standard portgroup remove \
  --portgroup-name=PG-LAB \
  --vswitch-name=vSwitch-Lab

Kraća forma:

esxcli network vswitch standard portgroup remove \
  -p PG-LAB \
  -v vSwitch-Lab

Port grupu ne treba uklanjati dok je koriste:

Provera mora obuhvatiti i ugašene VM-ove, jer broj aktivnih klijenata može biti nula iako je port grupa i dalje upisana u njihovoj konfiguraciji.

Povezivanje virtuelne mašine sa port grupom

U vSphere Client-u:

Right Click VM
    Edit Settings
        Network adapter
            Network label: PG-PROD-WEB
            Connected: Enabled
            Connect at power on: Enabled

Opcija Connected određuje trenutno stanje adaptera, dok Connect at power on određuje da li će se adapter automatski povezati pri sledećem uključivanju VM-a.

Moguće je da adapter trenutno radi, ali da opcija Connect at power on nije uključena. Nakon sledećeg pokretanja VM tada može ostati bez mreže.

Pregled mrežnih adaptera virtuelne mašine pomoću PowerCLI-ja

Get-VM "WebServer01" |
Get-NetworkAdapter |
Select-Object Name,
              Type,
              NetworkName,
              MacAddress,
              ConnectionState

Ovim se proverava:

Premeštanje VM adaptera na drugu port grupu

Najpre pronaći željenu standardnu port grupu:

$vmhost = Get-VMHost "esxi01.lab.local"

$portgroup = Get-VirtualPortGroup `
  -VMHost $vmhost `
  -Name "PG-PROD-WEB"

Zatim promeniti mrežu adaptera:

Get-VM "WebServer01" |
Get-NetworkAdapter -Name "Network adapter 1" |
Set-NetworkAdapter `
  -Portgroup $portgroup `
  -Confirm:$false

Posle izmene:

Get-VM "WebServer01" |
Get-NetworkAdapter |
Select-Object Name, NetworkName, ConnectionState

Premeštanje adaptera između port grupa može odmah prekinuti mrežnu komunikaciju. Pre promene treba proveriti:

Prikaz svih standardnih port grupa pomoću PowerCLI-ja

Povezivanje na vCenter:

Connect-VIServer vcsa.lab.local

Pregled port grupa svih hostova:

Get-VMHost |
Get-VirtualPortGroup -Standard |
Select-Object VMHost,
              Name,
              VirtualSwitchName,
              VLanId

Pregled na jednom hostu:

Get-VirtualPortGroup `
  -VMHost "esxi01.lab.local" `
  -Standard |
Select-Object Name,
              VirtualSwitchName,
              VLanId

Kreiranje port grupe pomoću PowerCLI-ja

$vmhost = Get-VMHost "esxi01.lab.local"

$vswitch = Get-VirtualSwitch `
  -VMHost $vmhost `
  -Name "vSwitch-Production"

New-VirtualPortGroup `
  -VirtualSwitch $vswitch `
  -Name "PG-PROD-WEB" `
  -VLanId 110

Provera:

Get-VirtualPortGroup `
  -VMHost $vmhost `
  -Name "PG-PROD-WEB" |
Select-Object Name,
              VirtualSwitchName,
              VLanId

Promena VLAN ID-a pomoću PowerCLI-ja

Get-VirtualPortGroup `
  -VMHost "esxi01.lab.local" `
  -Name "PG-PROD-WEB" |
Set-VirtualPortGroup -VLanId 115

Promena VLAN-a aktivne port grupe može trenutno prekinuti komunikaciju svim povezanim VM-ovima. Ovu operaciju treba izvoditi planski i samo kada je fizička mreža prethodno pripremljena.

Uklanjanje port grupe pomoću PowerCLI-ja

Get-VirtualPortGroup `
  -VMHost "esxi01.lab.local" `
  -Name "PG-LAB" |
Remove-VirtualPortGroup -Confirm:$false

Pre uklanjanja treba napraviti izveštaj o VM-ovima koji je koriste.

Pronalaženje VM-ova povezanih sa port grupom

Get-VM |
Get-NetworkAdapter |
Where-Object {$_.NetworkName -eq "PG-PROD-WEB"} |
Select-Object Parent,
              Name,
              NetworkName,
              MacAddress,
              ConnectionState

Objekat u koloni Parent predstavlja virtuelnu mašinu kojoj adapter pripada.

Pregled i uključenih i ugašenih VM-ova važan je pre promene ili uklanjanja port grupe.

Provera VMkernel adaptera povezanih sa port grupom

Get-VMHostNetworkAdapter -VMKernel |
Select-Object VMHost,
              Name,
              PortGroupName,
              IP,
              SubnetMask,
              VMotionEnabled,
              VsanTrafficEnabled

Ova provera pomaže da se spreči slučajno uklanjanje port grupe koju koristi management, vMotion, vSAN ili storage VMkernel adapter.

Port Group policy inheritance

Standardni vSwitch definiše podrazumevane politike. Port grupa može:

Politike koje se mogu podešavati obuhvataju:

Nasleđivanje pojednostavljuje administraciju, dok override omogućava da različite port grupe na istom vSwitch-u koriste različite uplinkove ili bezbednosna pravila.

Override treba koristiti planski. Veliki broj pojedinačnih odstupanja otežava dijagnostiku i povećava mogućnost greške.

NIC teaming na nivou port grupe

Port grupa može definisati koji fizički uplinkovi su:

Primer:

vSwitch-Production
    |
    +-- vmnic2
    |
    +-- vmnic3

PG-PROD-WEB
    Active: vmnic2
    Standby: vmnic3

PG-PROD-DB
    Active: vmnic3
    Standby: vmnic2

Na ovaj način obe port grupe imaju redundansu, ali u normalnom radu mogu koristiti različite fizičke adaptere.

Ovakav dizajn nije isto što i garantovano ravnomerno balansiranje svakog paketa. Izbor uplinka zavisi od load-balancing politike i trenutnog stanja mreže.

Pregled failover politike port grupe

esxcli network vswitch standard portgroup policy failover get \
  --portgroup-name=PG-PROD-WEB

Izlaz može prikazati:

Ako port grupa nasleđuje politiku vSwitch-a, to će biti vidljivo u njenoj konfiguraciji.

Primer aktivnog i rezervnog uplinka

Pre izmene obavezno proveriti nazive fizičkih adaptera i postojeću politiku:

esxcli network nic list

esxcli network vswitch standard portgroup policy failover get \
  -p PG-PROD-WEB

Postavljanje aktivnog i standby uplinka:

esxcli network vswitch standard portgroup policy failover set \
  --portgroup-name=PG-PROD-WEB \
  --active-uplinks=vmnic2 \
  --standby-uplinks=vmnic3

Završna provera:

esxcli network vswitch standard portgroup policy failover get \
  -p PG-PROD-WEB

Ovu promenu ne treba izvoditi ako fizički switch portovi nisu pripremljeni za VLAN koji koristi port grupa.

Vraćanje na politiku vSwitch-a

Ako port grupa više ne treba sopstveni override:

esxcli network vswitch standard portgroup policy failover set \
  --portgroup-name=PG-PROD-WEB \
  --use-vswitch=true

Nakon toga port grupa ponovo koristi failover politiku roditeljskog standardnog switcha.

Security policy port grupe

Port grupa može naslediti ili promeniti tri osnovne VMware security politike:

Pregled:

esxcli network vswitch standard portgroup policy security get \
  --portgroup-name=PG-PROD-WEB

Promiscuous Mode

Kada je promiscuous režim odbijen, virtuelni adapter normalno prima saobraćaj namenjen njegovoj MAC adresi, kao i odgovarajući broadcast i multicast saobraćaj.

Kada je dozvoljen, VM može primati širi skup okvira koji prolaze kroz odgovarajući virtuelni mrežni segment. To je potrebno samo u posebnim slučajevima, kao što su određeni sistemi za analizu saobraćaja, IDS rešenja ili virtuelni mrežni uređaji.

Promiscuous Mode ne treba uključivati kao nasumičan pokušaj rešavanja mrežnog problema.

MAC Address Changes

Ova politika određuje kako ESXi reaguje kada gostujući operativni sistem promeni efektivnu MAC adresu svog mrežnog adaptera.

Određene cluster, load balancer ili virtuelne mrežne aplikacije mogu zahtevati specifično ponašanje, ali na standardnim serverskim VM-ovima najčešće nema potrebe za promenom podrazumevane sigurnosne konfiguracije.

Forged Transmits

Ova politika kontroliše izlazne Ethernet okvire čija izvorna MAC adresa ne odgovara MAC adresi koju ESXi očekuje za virtuelni adapter.

Dozvoljavanje forged transmits može biti potrebno kod pojedinih virtuelnih mrežnih uređaja ili aplikacija, ali smanjuje zaštitu od lažnog predstavljanja MAC adresa.

Primer strože sigurnosne politike

esxcli network vswitch standard portgroup policy security set \
  --portgroup-name=PG-PROD-WEB \
  --allow-promiscuous=false \
  --allow-mac-change=false \
  --allow-forged-transmits=false

Provera:

esxcli network vswitch standard portgroup policy security get \
  -p PG-PROD-WEB

Pre promene treba proveriti zahteve aplikacija. Stroža politika može prekinuti rad proizvoda koji legitimno koriste promenljive ili virtuelne MAC adrese.

Vraćanje security politike na vSwitch podešavanja

esxcli network vswitch standard portgroup policy security set \
  --portgroup-name=PG-PROD-WEB \
  --use-vswitch=true

PowerCLI pregled sigurnosne politike

Get-VirtualPortGroup `
  -VMHost "esxi01.lab.local" `
  -Name "PG-PROD-WEB" |
Get-SecurityPolicy

Prikaz odabranih svojstava:

Get-VirtualPortGroup `
  -VMHost "esxi01.lab.local" `
  -Name "PG-PROD-WEB" |
Get-SecurityPolicy |
Select-Object AllowPromiscuous,
              MacChanges,
              ForgedTransmits

Promena mora biti usklađena sa bezbednosnom politikom organizacije i zahtevima konkretne aplikacije.

Traffic shaping

Traffic shaping ograničava ili oblikuje mrežni saobraćaj na osnovu definisanih vrednosti.

Kod standardnih switcheva oblikovanje saobraćaja prvenstveno se odnosi na odlazni saobraćaj.

Osnovni parametri su:

Pregled shaping politike:

esxcli network vswitch standard portgroup policy shaping get \
  --portgroup-name=PG-PROD-WEB

Traffic shaping se ne koristi kao zamena za pravilno dimenzionisanu mrežu. Pre primene ograničenja treba razumeti karakteristike aplikacije i poslovni uticaj smanjenog protoka.

Utvrđivanje mrežnog porta aktivne VM

Pregled aktivnih VM mrežnih procesa:

esxcli network vm list

Primer:

World ID  Name         Num Ports  Networks
--------  -----------  ---------  -----------
345721    WebServer01          1  PG-PROD-WEB
345812    DBServer01           2  PG-PROD-DB

Detalji mrežnih portova određene VM:

esxcli network vm port list -w 345721

Izlaz može prikazati:

Ova komanda je veoma korisna kada administrator mora da potvrdi kojim fizičkim adapterom trenutno izlazi saobraćaj određene VM.

Praćenje portova pomoću esxtop-a

Pokretanje:

esxtop

Pritiskom na:

n

otvara se mrežni prikaz.

Važne kolone:

Podatak o fizičkom adapteru pomaže da se proveri da li teaming politika radi prema očekivanju.

Događaji, logovi i dokazi pre promene

Pre promene VLAN-a, uplinka ili security politike sačuvaj vreme promene, trenutno stanje objekta, pogođene VM-ove i poslednje zadatke i događaje u vSphere Client-u. Za host networking relevantan je /var/log/hostd.log, jer hostd obrađuje veliki deo lokalnih konfiguracionih operacija; za vCenter-orkestrirane zadatke koreliši vreme sa /var/log/vmware/vpxd/vpxd.log na vCenter Server Appliance-u. VMkernel događaji o fizičkim NIC linkovima i drajverima traže se u /var/log/vmkernel.log. Ne zaključuj uzrok iz jedne poruke: poveži log sa Tasks and Events zapisom, link statusom, brojačima paketa i poslednjom odobrenom promenom.

# Read-only; izvršava se u ESXi Shell-u kao root tokom uskog vremenskog prozora.
tail -n 200 /var/log/hostd.log
tail -n 200 /var/log/vmkernel.log
grep -Ei 'portgroup|vswitch|uplink|link.*(down|up)' /var/log/hostd.log /var/log/vmkernel.log

SSH i ESXi Shell ne treba ostavljati uključene bez potrebe. Za produkcioni incident postavi tačan vremenski opseg, sačuvaj relevantan isečak ili support bundle i zatim isključi privremeno omogućen servis prema politici organizacije. Ako promena dodiruje Management Network, obezbedi out-of-band konzolu kao što su iLO, iDRAC ili fizički DCUI; rad iz iste mrežne putanje koju menjaš nema pouzdan rollback ako izgubiš vezu.

Kako razlikovati problem port grupe od problema gosta?

Kada VM nema mrežu, dijagnostika treba da odvoji VMware konfiguraciju od konfiguracije operativnog sistema.

Na VMware nivou proveriti:

Unutar gosta proveriti:

Linux dijagnostika nakon povezivanja na port grupu

ip -br address
ip link show
ip route
ip route get 8.8.8.8

Test lokalnog gateway-a:

ping -c 4 192.168.110.1

Test udaljene IP adrese:

ping -c 4 8.8.8.8

Test DNS-a:

getent hosts example.com

Pregled link informacija, ako je dostupan ethtool:

sudo ethtool ens192

Brojači interfejsa:

ip -s link show ens192

Windows dijagnostika nakon povezivanja na port grupu

ipconfig /all
route print

Test gateway-a:

ping 192.168.110.1

Test DNS-a:

nslookup example.com

PowerShell pregled adaptera:

Get-NetAdapter |
Format-Table Name,
             Status,
             LinkSpeed,
             MacAddress

Pregled IP konfiguracije:

Get-NetIPConfiguration

Test TCP porta:

Test-NetConnection 192.168.110.50 -Port 443

Praktikum 1: kreiranje port grupe za testne VM-ove

Cilj vežbe je kreiranje standardne port grupe, povezivanje dve testne virtuelne mašine i potvrda lokalne komunikacije.

Laboratorijska struktura

ESXi host: esxi01.lab.local
vSwitch: vSwitch-Lab
Port Group: PG-LAB
VLAN: 0
VM-Lab01: 192.168.200.10/24
VM-Lab02: 192.168.200.20/24

Korak 1 – sačuvati početno stanje

esxcli network vswitch standard list
esxcli network vswitch standard portgroup list
esxcli network nic list

Korak 2 – proveriti postojanje switcha

esxcli network vswitch standard list -v vSwitch-Lab

Ako switch ne postoji:

esxcli network vswitch standard add \
  --vswitch-name=vSwitch-Lab

Za potpuno izolovanu vežbu fizički uplink nije potreban.

Korak 3 – kreirati port grupu

esxcli network vswitch standard portgroup add \
  --portgroup-name=PG-LAB \
  --vswitch-name=vSwitch-Lab

Korak 4 – postaviti VLAN 0

esxcli network vswitch standard portgroup set \
  --portgroup-name=PG-LAB \
  --vlan-id=0

Korak 5 – potvrditi konfiguraciju

esxcli network vswitch standard portgroup list

Očekivano:

PG-LAB    vSwitch-Lab    0    0

Raspored kolona može se razlikovati, ali port grupa treba da pripada switchu vSwitch-Lab i koristi VLAN 0.

Korak 6 – povezati virtuelne mašine

U vSphere Client-u za obe testne VM:

Edit Settings
    Network adapter 1
        Network: PG-LAB
        Connected: Enabled
        Connect at power on: Enabled

Korak 7 – podesiti IP adrese

Prva VM:

192.168.200.10/24

Druga VM:

192.168.200.20/24

Gateway nije potreban za komunikaciju u istoj podmreži.

Korak 8 – testirati komunikaciju

Sa prve VM:

ping 192.168.200.20

Sa druge VM:

ping 192.168.200.10

Korak 9 – potvrditi aktivne klijente

esxcli network vswitch standard portgroup list

Broj aktivnih klijenata trebalo bi da odražava povezane i uključene VM adaptere.

Korak 10 – proveriti portove VM-ova

esxcli network vm list

Za svaku VM uzeti odgovarajući World ID:

esxcli network vm port list -w <World-ID>

Proveriti da izlaz prikazuje:

Praktikum 2: PowerCLI kreiranje i povezivanje VM-a

Korak 1 – povezivanje

Connect-VIServer vcsa.lab.local

Korak 2 – definisanje hosta i switcha

$vmhost = Get-VMHost "esxi01.lab.local"

$vswitch = Get-VirtualSwitch `
  -VMHost $vmhost `
  -Name "vSwitch-Lab"

Korak 3 – kreiranje port grupe

New-VirtualPortGroup `
  -VirtualSwitch $vswitch `
  -Name "PG-DEV" `
  -VLanId 0

Korak 4 – povezivanje VM adaptera

$portgroup = Get-VirtualPortGroup `
  -VMHost $vmhost `
  -Name "PG-DEV"

Get-VM "VM-Lab01" |
Get-NetworkAdapter -Name "Network adapter 1" |
Set-NetworkAdapter `
  -Portgroup $portgroup `
  -Connected:$true `
  -StartConnected:$true `
  -Confirm:$false

Korak 5 – provera

Get-VM "VM-Lab01" |
Get-NetworkAdapter |
Select-Object Name,
              NetworkName,
              MacAddress,
              ConnectionState

Praktikum 3: provera doslednosti port grupa u klasteru

Cilj vežbe je pronalaženje port grupa koje ne postoje na svim ESXi hostovima ili koriste različite VLAN vrednosti.

Osnovni izveštaj

$cluster = Get-Cluster "Cluster01"

$report = Get-VMHost -Location $cluster |
ForEach-Object {
    $vmhost = $_

    Get-VirtualPortGroup `
      -VMHost $vmhost `
      -Standard |
    Select-Object `
      @{N='VMHost';E={$vmhost.Name}},
      Name,
      VirtualSwitchName,
      VLanId
}

$report |
Sort-Object Name, VMHost |
Format-Table -AutoSize

Grupisanje po nazivu port grupe

$report |
Group-Object Name |
ForEach-Object {
    [PSCustomObject]@{
        PortGroup = $_.Name
        HostCount = $_.Count
        Hosts     = ($_.Group.VMHost -join ', ')
        VLANs     = (
            $_.Group.VLanId |
            Sort-Object -Unique
        ) -join ', '
    }
} |
Sort-Object PortGroup |
Format-Table -AutoSize

Izveštaj treba analizirati na sledeći način:

Praktikum 4: pronalaženje port grupa bez VM adaptera

Port grupa bez aktivnih klijenata nije nužno nepotrebna. Mogu je koristiti ugašene VM ili template-i. Zato je potrebno proveriti konfiguraciju svih VM adaptera.

$usedNetworks = Get-VM |
Get-NetworkAdapter |
Select-Object -ExpandProperty NetworkName -Unique

Get-VMHost |
Get-VirtualPortGroup -Standard |
Where-Object {
    $_.Name -notin $usedNetworks
} |
Select-Object VMHost,
              Name,
              VirtualSwitchName,
              VLanId

Pre uklanjanja pronađenih port grupa dodatno proveriti VMkernel adaptere:

Get-VMHostNetworkAdapter -VMKernel |
Select-Object VMHost,
              Name,
              PortGroupName,
              IP

Praktikum 5: promena VLAN-a uz kontrolisanu proveru

Ova vežba se izvodi samo u laboratorijskom okruženju ili u odobrenom terminu održavanja.

Korak 1 – evidentirati postojeće stanje

esxcli network vswitch standard portgroup list

esxcli network vswitch standard portgroup policy failover get \
  -p PG-LAB

esxcli network vswitch standard portgroup policy security get \
  -p PG-LAB

Korak 2 – proveriti povezane VM-ove

Get-VM |
Get-NetworkAdapter |
Where-Object {$_.NetworkName -eq "PG-LAB"} |
Select-Object Parent,
              Name,
              MacAddress,
              ConnectionState

Korak 3 – promeniti VLAN

esxcli network vswitch standard portgroup set \
  --portgroup-name=PG-LAB \
  --vlan-id=220

Korak 4 – potvrditi promenu

esxcli network vswitch standard portgroup list

Korak 5 – testirati komunikaciju

Unutar VM proveriti:

ip -br address
ip route
ping -c 4 <gateway-VLAN-220>

Ako komunikacija ne radi, proveriti:

Korak 6 – rollback

Ako je početna vrednost bila VLAN 0:

esxcli network vswitch standard portgroup set \
  --portgroup-name=PG-LAB \
  --vlan-id=0

Posle rollback-a ponovo proveriti komunikaciju.

Praktikum 6: bezbedno uklanjanje laboratorijske port grupe

Korak 1 – pronaći VM adaptere

Get-VM |
Get-NetworkAdapter |
Where-Object {$_.NetworkName -eq "PG-LAB"} |
Select-Object Parent,
              Name,
              ConnectionState

Korak 2 – proveriti VMkernel adaptere

Get-VMHostNetworkAdapter -VMKernel |
Where-Object {$_.PortGroupName -eq "PG-LAB"}

Korak 3 – premestiti ili ukloniti sve klijente

Mrežne adaptere VM-ova povezati na drugu odgovarajuću port grupu ili ukloniti samo laboratorijski adapter.

Korak 4 – ukloniti port grupu

esxcli network vswitch standard portgroup remove \
  --portgroup-name=PG-LAB \
  --vswitch-name=vSwitch-Lab

Korak 5 – završna provera

esxcli network vswitch standard portgroup list

Scenario: VM je posle vMotion migracije ostala bez mreže

Najčešći uzroci su:

Na ciljnom hostu proveriti:

esxcli network vswitch standard portgroup list
esxcli network vswitch standard list
esxcli network nic list

Zatim proveriti VM:

esxcli network vm list
esxcli network vm port list -w <World-ID>

PowerCLI poređenje:

Get-VMHost "esxi01.lab.local",
           "esxi02.lab.local" |
Get-VirtualPortGroup -Standard |
Where-Object {$_.Name -eq "PG-PROD-WEB"} |
Select-Object VMHost,
              Name,
              VirtualSwitchName,
              VLanId

Scenario: samo jedna VM nema mrežu

Ako druge VM na istoj port grupi rade, vSwitch, VLAN i fizički uplink verovatno funkcionišu. Fokus treba prebaciti na:

PowerCLI:

Get-VM "WebServer01" |
Get-NetworkAdapter |
Format-List *

Na Linux gostu:

ip -br address
ip route
ip neigh
ip -s link

Na Windows gostu:

ipconfig /all
arp -a
Get-NetAdapter
Get-NetIPConfiguration

Scenario: sve VM na port grupi nemaju mrežu

Ako su pogođene sve VM na istoj port grupi, proveravaju se zajedničke komponente:

  1. VLAN ID port grupe
  2. vSwitch kojem pripada
  3. aktivni i standby uplinkovi
  4. link status fizičkih adaptera
  5. konfiguracija fizičkog switcha
  6. security ili shaping politika port grupe
esxcli network vswitch standard portgroup list

esxcli network vswitch standard portgroup policy failover get \
  -p PG-PROD-WEB

esxcli network vswitch standard portgroup policy security get \
  -p PG-PROD-WEB

esxcli network nic list

Scenario: port grupa postoji, ali nema pristup fizičkoj mreži

Proveriti da li njen vSwitch ima uplink:

esxcli network vswitch standard list

Ako je polje Uplinks prazno, port grupa je izolovana od fizičke mreže.

Ako uplink postoji:

esxcli network nic get -n vmnic2
esxcli network nic stats get -n vmnic2

Zatim proveriti fizički switch:

Česte greške u radu sa port grupama

Dobre administratorske prakse

Preporučena dokumentacija port grupe

Za svaku produkcionu port grupu korisno je evidentirati:

Operativna kontrolna lista

# Prikaz standardnih port grupa
esxcli network vswitch standard portgroup list

# Kreiranje port grupe
esxcli network vswitch standard portgroup add \
  -p PG-LAB \
  -v vSwitch-Lab

# Podešavanje VLAN-a
esxcli network vswitch standard portgroup set \
  -p PG-LAB \
  --vlan-id=220

# Failover politika
esxcli network vswitch standard portgroup policy failover get \
  -p PG-LAB

# Security politika
esxcli network vswitch standard portgroup policy security get \
  -p PG-LAB

# Traffic shaping
esxcli network vswitch standard portgroup policy shaping get \
  -p PG-LAB

# Aktivne VM mrežne veze
esxcli network vm list

# Portovi određene VM
esxcli network vm port list -w <World-ID>

# Fizički adapteri
esxcli network nic list

# Standardni switchevi
esxcli network vswitch standard list

# VMkernel adapteri
esxcli network ip interface list

# Sažeti pregled
esxcfg-vswitch -l

PowerCLI operativna kontrolna lista

# Sve standardne port grupe
Get-VMHost |
Get-VirtualPortGroup -Standard

# Port grupe jednog hosta
Get-VirtualPortGroup `
  -VMHost "esxi01.lab.local" `
  -Standard

# Kreiranje
$vswitch = Get-VirtualSwitch `
  -VMHost "esxi01.lab.local" `
  -Name "vSwitch-Lab"

New-VirtualPortGroup `
  -VirtualSwitch $vswitch `
  -Name "PG-LAB" `
  -VLanId 220

# Mrežni adapteri VM-a
Get-VM "VM-Lab01" |
Get-NetworkAdapter

# VM-ovi koji koriste port grupu
Get-VM |
Get-NetworkAdapter |
Where-Object {$_.NetworkName -eq "PG-LAB"}

# VMkernel adapteri
Get-VMHostNetworkAdapter -VMKernel

# Security politika
Get-VirtualPortGroup `
  -VMHost "esxi01.lab.local" `
  -Name "PG-LAB" |
Get-SecurityPolicy

Završna kontrolna tačka

Lekcija je završena kada administrator može bez nagađanja da nacrta put vNIC → port grupa → vSwitch/dvPortGroup → uplink → fizički switch; razlikuje standardnu i distribuiranu port grupu i njihove granice upravljanja; pročita VLAN, teaming, security i shaping politiku; pronađe sve VM i VMkernel potrošače, uključujući ugašene VM-ove; napravi i validira standardnu laboratorijsku port grupu; poredi konfiguraciju hostova; bezbedno izvede promenu uz početni dokaz, plan povratka i out-of-band pristup kada je ugrožena management mreža; i razdvoji simptom, neposredni uzrok, osnovni uzrok, privremeni workaround i trajnu korektivnu meru.

Zaključak

Port Group predstavlja logičku mrežnu pristupnu tačku preko koje se virtuelne mašine i VMkernel adapteri povezuju sa VMware virtuelnim switchom. Ona određuje naziv mreže, VLAN pripadnost i politike koje upravljaju bezbednošću, fizičkim uplinkovima i protokom saobraćaja.

Kod vSphere Standard Switch-a port grupe su lokalne za svaki ESXi host. Zbog toga administrator mora da obezbedi dosledne nazive, VLAN vrednosti, teaming i security politike na svim hostovima između kojih se virtuelne mašine mogu migrirati.

Kvalitetna administracija port grupa ne završava se njihovim kreiranjem. Potrebno je proveriti fizičke uplinkove, VLAN konfiguraciju fizičkog switcha, povezane VM i VMkernel adaptere, stanje virtuelnih mrežnih kartica i IP konfiguraciju gostujućih sistema. ESXCLI, esxtop i PowerCLI omogućavaju da se ove provere izvrše precizno, ponovljivo i na većem broju hostova.

Najvažnija praktična veština jeste razumevanje da port grupa povezuje virtuelnu konfiguraciju sa stvarnom mrežnom infrastrukturom. Kada su njen VLAN, uplinkovi, sigurnosna pravila i fizički switch pravilno usklađeni, virtuelne mašine dobijaju stabilnu i predvidivu mrežnu povezanost.

← Prethodna lekcija Povratak na sadržaj Sledeća lekcija →