Már az IBM PowerVM illetve Power kategóriás szerverek bevezetőjénél megemlítettem a Virtual I/O Server (VIOS vagy VIO Server) technológiát. Ezek után esett szó arról, hogyan kell installálni egy VIO Servert. Most pedig nézzük meg, hogyan tudjuk használni, illetve beállítani.

Kezdjük azzal, hogy fel elevenítjük, miért is kell VIO Server.

Miért és Mire használjunk VIO Servert?

Már említettem, hogy LPAR létrehozásakor, a CPU és MEMORY erőforrásokat lehet POOL szemlélet szerint megadni. Ergo a nagy közösből, dinamikusan odaadni neki valamennyit. Viszont az I/O esetében, egy I/O slotban lévő kártyák csak egyetlen LPAR-hoz tartozhatnak egyszerre. Így amennyiben viszonylag sok LPAR-t akarunk futtatni sok I/O slotra is van szükségünk, ezáltal nő a gépünk mérete. Ezt a sok I/O helyet és kártyát áthidalandó találták ki a VIO Server-t.

Virtual SCSI Disk

A Virtual SCSI Disk az egyik funkció, amit a VIO Server nyújtani tud, a kliens LPAR-ok számára. Ebben az esetben a VIO Server, ami a tényleges fizikai tárhely adaptereket kezeli, és a fizikai diszkeket látja. A virtualizáció azon alapul, hogy a VIO Server és a kliens LPAR-okhoz is rendelünk egy-egy virtuális SCSI adaptert párban. Ezek után a virtuális kapcsolatokhoz, a VIO Serveren keresztül diszkeket rendelünk. Ez a DISZK lehet fizikai, vagy lehet akár egy LVM kötet is.

Virtual Ethernet

A másik szolgáltatása a VIO Server-nek a Virtual Ethernet. Ebben az esetben, már nem szükséges a kliens LPAR-ok virtuális adaptere, illetve a VIO Server virtuális adaptere közötti egy az egybeni megfeleltetés. A Hpyervisor Virtual SWITCH-eket hoz létre, amire a virtuális adaptereket csatlakoztathatjuk. Így elegendő a VIO Server-ben egy virtuális hálózati adaptert elkészíteni, és arra csatlakoztathatunk megannyi kliens LPAR virtuális hálózati adaptert. Ennek is lehet több változata. Nézzük meg ezeket.

Privát/Belső hálózat

Ebben az esetben egy belső hálózat alakul ki a VIO Server és az LPAR-ok között. A VIO Server és az LPAR-ok tudnak egymással kommunikálni, de kifele nem, illetve kívülről se érheti el ezt a virtuális hálózatot senki.

Routolás a fizikai hálózat felé

Az előzőektől annyiban különbözik, hogy van egy fizikai hálózati port a VIO Server birtokában, ami egy másik (külső) hálózatba lóg. A külső, illetve a belső hálózat között a VIO Server teremti meg a szükséges routingot. Tehát az LPAR-ok hálózata, illetve a külső hálózat, külön tartományt fognak alkotni, de az átjárás megengedett lesz a VIO Serveren keresztül.

Shared Ethernet Adapter (SEA) a fizikai LAN felé

A harmadik esetben van a VIO Server birtokában fizikai port egy külső hálózatban, illetve az LPAR-ok virtuális hálózati adapteren keresztül érhetőek el a VIO Server által. Viszont a belső és külső hálózat egy speciális Shared Etherned Adapter (SEA) segítségével összekapcsolható. Ez a SEA egy kapocs lesz a fizikai és a virtuális adapterek között. Ezzel lesz elérhető, hogy az LPAR-ok ugyan azt a hálózatot használhassák, mint a fizikai gépek.

Előkészületek

A következőekben be fogom mutatni, hogyan lehet Virtual SCSI és Virtual Network adaptereket beállítani és működésre bírni.

Ehhez nekem már van működőképes 2.1-es VIO Serverem, a neve VIOS, illetve egy olyan (telepítetlen) LPAR-om aminek a neve oss_aix2.

A VIOS kezelei az összes fizikai erőforrást, az oss_aix2 kliens LPAR semmilyen fizikai eszközzel nem rendelkezik.

Virtual SCSI hozzáadása és konfigurációja

Virtuális adaptereket csak a HMC segítségével tudunk az LPAR-okhoz rendelni. Én a grafikus HMC-t fogom használni erre a célra. Válasszuk ki először a VIOS LPAR-t, és ezen belül kattintsunk a Konfiguráció / Profilok kezelése menüre.

A megjelenő új ablakban válasszuk ki a kívánt profilt, majd fent a Műveletek menüre kattintva, válasszuk ki a Szerkesztés almenüt.


A megjelenő ablakban válasszuk a Virtuális Adapterek fület, majd kattintsunk a Műveletek / Létrehozás / SCSI Adapter menüre.

Ugyan ezt, tehát a Virtuális SCSI adapter hozzáadását tegyük meg a kliens LPAR-on is. Ezzel érjük el azt, hogy két hasnló ablakot lássunk magunk előtt:

A fenti képen látszik a két ablak. A fenti a VIOS a lenti a kliens oss_aix2 LPAR-é. Ahogy látszik, oda vissza hivatkozást kell definiálnunk. Vagyis adnunk kell egy adapter számot a VIOS szerver adapterjének, illetve az oss_aix2 adapterének is, majd mindkettőben meghivatkozni a másikat és a másik adapter azonosítóját. Amennyiben itt valamit elrontunk, nem jó számokat adunk meg keresztbe, úgy nem fog működni az összerendelés.

Amennyiben jóváhagytuk, a megjelenő listában is láthatjuk, mit mihez rendeltünk hozzá. Az én két ablakomban is kiemeltem, hogy keresztbe, mi mihez tartozik.

Virtual Ethernet hozzáadása és konfigurációja

A virtuális ethernet hozzáadása hasonló képen zajlik. Mindkét LPAR-on (VIOS és oss_aix2) válasszuk a Konfiguráció / Profilok kezelése menüt.

A megjelenő ablakban válasszuk ki a profilunkat, és a felső menüben válasszuk a Műveletek / Szerkesztés menüpontot.



Válasszuk a megjelenő új ablakban a Virtuális Adapterek fület. Azon belül is a fenti Műveletek menüben a Létrehozás / Ethernet Csatoló almenü pontot.

Ezt ismételjük meg a kliens LPAR-al is. Ezek után rakjuk egymás mellé a két ablakot, valahogy úgy, ahogy a következő képen látszik:

Ahogy a fenti képeken látszik, mindkét LPAR-nak adunk egy-egy adapter azonosítót. Többnyire tökéletes a felajánlott szám. Ezek után meg kell adnunk a VLAN azonosítót. Sajnos a továbbiakban több VLAN is képbe fog kerülni, mert más-más hálózati szinten, valahogy azonosítani kell, ki mihez tartozik. Ezért a virtuális SWITCH-ek csatornáinak is VLAN-ja van, illetve az ETHERNET VLAN-jaiban is VLAN-okat kell megadnunk. Én a további hálózati VLAN-okkal nem foglalkozom. Az említett (Adapter Azonosító) alatti mezőbe egy számot kell megadnunk. Ezek után azon Virtuális Adapterek, melyeknek ez az Adapter VLAN azonosítója megegyezik, tudnak egymással kommunikálni. Az én esetemben látszik, hogy a zölddel jelzett részbe, mindkét helyen 1-es szerepel.

Amennyiben hozzáadtuk a fentieket kell látnunk. Sajnos Virtual Ethernet adapter esetében nem túl informatív a listázás.

VIO Server konfigurálása és a Virtuális Adapterek

Megtettük a szükséges lépéseket a HMC-ből, tehát a virtuális réteg már előállt. Mostmár csak a VIO Serveren kell lekezelnünk ezeket az új eszközöket.

A VIO Server-re egy speciális PADMIN nevű felhasználóval lehet belépni. Ez a user egy restricted shell-el rendelkezik, és az AIX-tól különböző parancsokkal működik javarészt.

Kérjük le a virtuális illetve fizikai adaptereket.

$ lsdev -type adapter
$ lsdev -virtual

Ahogy látszik nem jelentek meg az újonnan hozzáadott virtuális eszközök, így be kell frissítenünk a device list-et. Ezt az AIX-on cfgmgr-el tennénk, de a VIO Serveren cfgdev a parancs.

$ cfgdev

A frissítés után egyből látszik is, hogy megjelennek az új adapterek. Egy virtuális hálózati, illetve egy virtuális scsi adaptert látunk.

Tárhely hozzárendelése a virtuális scsi adapterhez

A vhost0 adapter lesz az, amely SCSI kapcsolatban áll a kliens LPAR vhost adapterével. Tehát a “cső” már ott van, most már csak láttatni kell a csövön keresztül valamilyen tárhelyet. Azaz hozzá kell rendelnünk tárhelyet.

Nézzük a VIO Serverünk jelenleg milyen diszkeket lát:

$ lspv

A fenti képen látszik, hogy van két nem használt DISZK a VIO Server kezelése alatt. A vhost adapterhez hozzá rendelhetünk teljes diszket is, illetve LVM által egy tetszőleges VOLUME-t is hozzárendelhetünk.

Nézzük először a teljes diszk hozzárendelését.

$ mkvdev -vdev hdisk2 -vadapter vhost0 -dev oss_aix2_wdisk1
$ lsmap -all

Az mkvdev parancs segítségével tudunk virtuális eszközökhöz szolgáltatást társítani. A -vdev után meg kell adni azt a BLOCK device-t, amit hozzá akarunk csatolni. A -vadapter után fel kell tüntetni, hogy melyik VIOS oldali virtuális adapterhez akarjuk hozzákötni. Mivel ezzel az összekötődéssel, egy új device fog létrejönni, ezért -dev kapcsolót követően adni kell egy nevet is ennek.

Az lsmap -all parancs segítségével tudjuk lekérni azt a listát, ami ezeket az összerendeléseket egy struktúrált formában megjeleníti. Itt láthatjuk, hogy melyik VIOS vhost adapterhez, milyen tárhely, milyen LUN azonosítóval van hozzárendelve.

Nagyobb céges környezetben inkább elképzelhető, hogy teljes LUN-okat adjunk tovább a VIO Serverünkkel. Kisebb környezetekben viszont a meglévő tárhelyet lenne ideális felszabdalni. Arra gondolok, hogy a diszkekből csináljunk egy LVM Volume Group-ot, és abból tetszőleges VOLUME-kat adjunk oda az LPAR-oknak a VIO Serveren keresztül. Ez is lehetséges. Nézzük is, hogy hogyan.

(Amennyiben valakinek gondja akadna az AIX LVM kezelésével, akkor a következő cikket olvassa el.)

Nézzük meg milyen PV-k érhetőek el.
$ lspv

A fenti kép kicsit csalóka, mert a hdisk2-t teljes egészében már kiajánlottuk, így azt nem szabad használnunk. Viszont a hdisk3 tökéletes egy Volume Grouphoz.

$ mkvg -f -vg vios_disks hdisk3
$ lsvg vios_disks

Hozzunk létre egy VOLUME-t.

$ mklv -lv oss_aix2_ldisk1 vios_disks 10G
$ lsvg -lv vios_disks

Ezek után ezt is hozzárendelhetjük a vhost adapterhez.

$ mkvdev -vdev oss_aix2_ldisk1 -vadapter vhost0 -dev oss_aix2_ldisk2
$ lsmap -all

Ahogy látszik a létrehozott LVM Volume is megjelent mint egy új tárolási eszköz, amit a vhost0-hoz rendeltünk.

$ lsdev -virtual

Hálózat hozzárendelése a virtuális ethernet adapterhez

Az első és legfontosabb, hogy olyan fizikai adaptert, amely használatban van (értsd: IP címet húztunk fel rá), nem használhatunk fel az összeköttetéshez. Ha megtennénk a következő hibába fogunk futni:

Detailed info: Adapter ent3 has an interface configured over it, or it belongs to another SEA, VLAN or EtherChannel

A következőekben én egy SEA adapterrel kívánom összekapcsolni a fizikai ENT4 illetve virtuális ENT5 adapteremet.

$ lsdev -virtual
$ lsdev -type adapter

Másik tipikus hiba, ha létrehozáskor a VIO Server virtuális ethernet adapterén nem engedélyeztük a külső hálózatok kezelését. Abban az esetben a következő hibát fogjuk kapni:

Detailed info: Virtual adapter ent5 is not trunk: it needs to be allowed to access external networks

Ebben az esetben menjünk be a HMC-be, válasszuk ki a VIO Server LPAR-t, majd a Konfiguráció / Profilok Kezelése menüpontot.

Válasszuk ki az adott profilt, és a Műveletek / Szerkesztés menüpontot.

A megjelenő ablakban válasszuk a Virtuális Adapterek fület. A listában a Virtuális Ethernet elemet. Majd fent a menüben válasszuk ki a Műveletek / Szerkesztés menüpontot.

Az adapter beállításoknál, az ablak alján található a Külső hálózat elérése rész, amit be kell jelölnünk. Majd az összes ablakot okézni.

Ezek után viszont már sikeresen elkészíthetjük a SEA adaptert, ami a fizikai ENT4 illetve virtuális ENT5 adapteremet fogja összekötni.

$ mkvdev -sea ent4 -vadapter ent5 -default ent5 -defaultid 1

Ahogy látszik létrejött, egy teljesen új SEA adapter. Sajnos ezt is “ent” néven nevezi, így csak az lsdev parancs leíró részében derül ki róla, hogy mi is ez.

$ lsdev -virtual

Természetesen hasonlóan, a tárhely hozzárendeléshez, a hálózati hozzárendelésekről is kérhetünk le információt:

$ lsmap -all -net

Ellenőrizzük a Kliens LPAR-ból

Most már be van állítva minden, indítsuk el a kliens LPAR-t, és menjünk be az SMS menüjébe.

Válasszuk az 5-ös, Select Boot Options menüpontot.

Válasszuk az 1-es, Select Install/Boot Device menü pontot.

Az egyszerűség miatt válasszuk a 7-es, List all Devices menü pontot.

Látszik, hogy egyetlen Hálózati kapcsolatot talált a rendszert, amit bootolhatónak értékelt. A Location Code-ban szerepel, hogy V2 azaz, ez egy virtuális adapter, illetve, hogy C2, azaz a kettes Adapter azonosítójú. A két diszk itt nem látszik. Viszont ez nem jelenti azt, hogy a rendszer nem is látja azokat, csupán nem bootlhatóak. Én egy NIMOL szerver segítségével ehhez a virtuális Ethernet adapterhez beállítottam egy hálózati installálást. Úgyhogy a továbbiakban kiválasztom telepítésre ezt a virtuális hálózati adaptert.

Az LPAR kapott IP címet, és elkezdte a kernelt tölteni a NIMOL szerverről, tehát a virtuális hálózati adapter, illetve a VIO Serveren a SEA adapter tökéletesen működik.

A telepítés befejeztével, beléptem, és kilistáztam az elérhető eszközöket. Zölddel jeleztem, hogy virtuális eszközöket használ. Illetve pirossal, azt a két diszket, amit kiajánlottunk neki.

Összegzés

A VIO Server egy nagyon jó technológia. Kicsit fapados a használat terén, viszont technológia szinten tökéletes megoldás.

Zavaró, hogy listázás, illetve manamgement tekintetében nem olyan informatív, mint Solaris esetében az LDOM-ok. Hiányzik az a felhasználóbarát, strukturált megjelenítés, ami pofon egyszerűvé teszi átlátni ki kivel van. Továbbá zavaró, hogy hálózati eszközök esetében mindent ENT[x] (EN[x] / ET[x]) néven hívnak.

Ennek ellenére, aki megfelelően lejegyzi, illetve átlátja, az pofon egyszerűen és dinamikusan virtualizálhat AIX számára erőforrásokat.