Eljött az ideje a Solaris 11 komolyabb, és produktívabb használatának. Így mélyebben bele kellett merülni abba, hogy a Solaris 11 esetében, milyen hálózat specifikus változásokat hozott az új verzió. Sajnos vagy szerencsére nagyon sokat. Így érdemes ezzel egy részletesebb cikkben foglalkozni. Nem csak új dolgok kerültek elérhetővé, de gyakorlatilag az összes meglévő hálózati beállítás is átalakították a 11-es rendszerben. Nézzük is akkor szépen lépésről lépésre ezeket.

Rétegek

Először is fontosnak kihangsúlyozni, hogy a Solaris 11-ben a hálózati konfiguráció és így a hozzá kapcsolódó parancsok próbálják tükrözni valamennyire a hálózati rétegeket és azok egymásra épülését. Most már nem csak egy halom konfigurációs állományunk, és különálló parancsunk van. Ha valaki megérti a rétegeket és a lehetőségeket, akkor sokkal logikusabbnak fog tűnni a Solaris 11 hálózat kezelése, mint az előtte lévő rendszereknél.

Profile-Based Networking Modes

A Solaris 11-ben megjelennek az hálózati profilok. Attól függően, hogy a telepítésnél automatikus hálózati módot választottunk, vagy manuálisan adtuk meg az interfész információit kapjuk az alapértelmezett profilt.

  • The Automatic NCP (network configuration profile) uses DHCP to obtain a basic network configuration (IP address, router, and DNS server) from any of the connected Ethernet interfaces. If this fails, it will try connecting to the best wireless network in the list of known networks.
  • The DefaultFixed NCP(network configuration profile) effectively disables automatic network configuration and requires the network interfaces to be manually configured using dladm and ipadm and the name services to be configured using the Oracle Solaris Service Management Facility (SMF).

Ahogy látszik is az Automatikus profil tipikusan desktop gépeknél lehet hasznos. Olyan esetekben, amikor egy mobil eszközzel kapcsolódunk akár kábeles, akár rádiós hálózat segítségével egy hálózathoz. Hálózatonként pedig más-más beállításokat akarnánk érvényesíteni. Ezeket az automatikus profilokat a netcfg parancs segítségével hozhatjuk létre.

Nézzünk erre egy példát:

# netcfg

sol11-net1

Természetesen a szerverek esetében, mi a DefaultFixed profilt fogjuk használni, és szépen manuálisan beállítunk mindent. Először is ellenőrizzük, milyen profile létezik, és közülük melyik aktív:

# netadm list

sol11-net2

Amennyiben váltani akarnánk a kettő között úgy a következő paranccsal tudjuk megtenni az NCP kapcsolást:

# netadm disable -p ncp Automatic
# netadm enable -p ncp DefaultFixed

vagy

# netadm disable -p ncp DefaultFixed
# netadm enable -p ncp Automatic

Fizikai és Adatkapcsolati réteg

Tételezzük fel, hogy DefaultFixed profilt választottunk ki. Én a továbbiakban csak ezt a helyzetet fogom fejtegetni. Először is listázzuk le az interface-ket.

# dladm show-phys

sol11-net3

Ahogy látszik a Solaris 11 szakított a driver alapú interface nevekkel. Most már csak NET és utána egy szám azonosítja a különböző csatolókat. Persze a fenti kimenet utolsó oszlopából lekérhető, hogy milyen legacy device tartozik hozzá.

Felmerül a kérdés azonnal, hogy a régi, jól ismert NDD parancsokat, amivel lehetett a duplexitást, sebességet állítani, azzal most mi lett. A jó hír, hogy végre egységes vezérlést kapott a dolog.

Egységesen lekérhetjük a property-ket egy interface-hez a következő paranccsal:

# dladm show-linkprop net0

sol11-net4

Az NDD-ből jól ismert attribútumok itt is megtalálhatóak. Amennyiben pedig változtatni kívánunk valamit, azt a következő módokon tehetjük meg. Íme pár példa, de természetesen akármelyik írható attribútumot meg tudjuk változtatni.

# dladm show-linkprop -p mtu net1
# dladm set-linkprop -p mtu=9000 net1

sol11-net5

# dladm set-linkprop -p en_1000fdx_cap=0 net0
# dladm set-linkprop -p en_1000hdx_cap=0 net0

Amennyiben a csatoló képességei, beállítható duplexitás/sebesség érdekel, abban az esetben pedig a következő parancs lehet hasznos:

# dladm show-ether -x net1

sol11-net6

Virtual Network Interface Card

A Solaris 11 előtt nagyon hiányzott, hogy legyenek virtuális hálózati csatolók. Szerencsére most már vannak. Ezáltal megadhatunk egy fizikai interface-ra több virtuális csatolót. Amik ezek után teljesen függetlenül fognak működni. Egyetlen közös pontjuk az őket kiszolgáló backend lesz.

Létrehozok két virtuális csatolót, ugyan arra a fizikai eszközre.

# dladm create-vnic -l net0 path0
# dladm create-vnic -l net0 path1

# dladm show-link
# dladm show-vnic

sol11-net7

Látszik, hogy a PATH nevezető devicek létrejöttek. Generálódik egy MAC hozzájuk, illetve alapból a fizikai kártya sebességét használhatják.

Amennyiben akarjuk, már úgy hozhatjuk létre a virtuális hálózati interface-kat, hogy sebesség limitet adunk meg:

# dladm create-vnic -l net0 -m random -p maxbw=100m path0

Vagy a meglévőn is online átállíthatjuk azt:

# dladm set-linkprop -p maxbw=100m path0

sol11-net8

Link Aggregation

A Link Aggregáció egy speciális csoportosítása / teamingelése a hálózati interfacek-nek. Ilyenkor az IEEE 802.3ad Link Aggregation Standard hálózati szabvány megoldását fogjuk használni. Miért jó?

    – Egyetlen logikai kapcsolatra tudjuk csoportosítani megannyi hálózati port kapacitását
    – Hiba esetén a csoport többi tagja fogja átvenni a meghibásodott tag feladatát is
    – Teljes terhelésmegosztás alakítható ki, a csoport minden tagja párhuzamosan részt vehet a bejövő is kimenő forgalomban
    – Több hálózati kapcsolat is csoportosan konfigurálható, amennyiben egy aggregate-hez tartoznak

sol11-net15

Az aggregation esetében meg kell addni, hogy milyen policy szerint történjen a terhelés elosztás (alapértelmezett az L4):

    L2 – Determines the outgoing link by hashing the MAC (L2) header of each packet
    L3 – Determines the outgoing link by hashing the IP (L3) header of each packet
    L4 – Determines the outgoing link by hashing the TCP, UDP, or other ULP (L4) header of each packet

Illetve amennyiben switch-et is használunk, úgy be kell állítanunk a Aggregation Mode-t:

  • Off mode – The default mode for aggregations. LACP packets, which are called LACPDUs are not generated.
  • Active mode – The system generates LACPDUs at regular intervals, which you can specify.
  • Passive mode – The system generates an LACPDU only when it receives an LACPDU from the switch. When both the aggregation and the switch are configured in passive mode, they cannot exchange LACPDUs.

Aggregation létrehozása

Először is meg kell bizonyosodnunk arról, hogy az csatolón nincs IP interface konfigurálva:

# ipadm delete-ip subvideo0
# ipadm delete-ip subvideo1

Ezek után létrehozhatjuk az aggregation-t:

# dladm create-aggr -l subvideo0 -l subvideo1 video0

Hozzunk létre egy IP interface-t az új video0 aggregátumnak:

# ipadm create-ip video0

Majd állítsunk be rá egy címet:

# ipadm create-addr -T static -a 10.8.57.50/24 video/v4
# dladm show-aggr

sol11-net16

# dladm show-link

sol11-net17

Ezek után ha a Policy-t szeretnénk módosítani azt a következő paranccsal tehetjük meg:

# dladm modify-aggr -P L2 video0

A -P kapcsoló után kell felsorolnunk az érvéney Policy-kat.

# dladm modify-aggr -L active -T short video0

A fenti parancs segítségével pedig a -L kacsoló után adhatjuk meg hogy active vagy passive módban működjön az aggregátumunk, illetve -T után hogy short vagy long LACP timer beállítással konfiguráljuk.

sol11-net18

Hálózati réteg

Míg az előző szinten a dladm vezérlő utasításokkal boldogultunk. A hálózati rétegnél már az ipadm parancs lesz segítségünkre.

Először is fontos, hogy az Interface-hoz egy IP interface-t kell létrehoznunk. (ez sok esetben létrejön, de ha nem, akkor nekünk kell megcsinálni)

# ipadm create-ip path0
# ipadm create-ip path1

Ezek után tudjuk ezt az IP interface-t megcímezni, címet adni.

# ipadm create-addr -T static -a 192.168.132.121/25 net1/v4
# ipadm show-addr

sol11-net11

Természetesen az ifconfig parancsban is látni fogjuk ezek után:

# ifconfig net1

sol11-net12

Hogy egy kicsit jobban lássuk az összefüggéseket íme egy ábra arról, ahogy a különböző rétegek közötti kapcsolatok, hogy néznek ki:

sol11-net19

IPMP group

Amennyiben valamiféle redundanciát akarunk elérni, abban az esetben IPMP groupokat kell használnunk. Én most a meglévő két virtuális NIC-el fogom bemutatni:

Link Base – Transitive-Brobing

# ipadm create-ip path0
# ipadm create-ip path1
# ipadm create-ipmp -i path0,path1 ipmp0
# svccfg -s svc:/network/ipmp setprop config/transitive-probing=true
# svcadm refresh svc:/network/ipmp:default
# ipadm set-ifprop -p standby=on -m ip path1

Most nézzük mit is csináltunk:

# ipmpstat -g
# ipmpstat -t

sol11-net9

Ahogy látszik is nincs teszt cím. Az IPMP group állapota OK. Jelenleg a path0-n működik a rendszer és standby-ban vár a path1.

Probe Base

Link Base esetén a hiba detektálás csak a Portok link állapotára érvényes. Akkor lép bármilyen failover életbe, ha az aktív portról lemegy a link. Ennél hatékonyabb ha Probe Base IPMP group-ot használunk. Ugyanis akkor van mindkét kártyának egy próba címe. Ahonnan pingelnek.

# ipadm create-addr -T static -a 192.168.132.123/25 path0/test
# ipadm create-addr -T static -a 192.168.132.124/25 path1/test
# ipadm create-addr -T static -a 192.168.132.125/25 ipmp0/v4

Elegendő az előző parancsok után csak IP-t adni ezeknek az interfaceknek, és máris probe base IPMP group-unk lesz:

# ipmpstat -a
# ipmpstat -t
# ipmpstat -g

sol11-net10

Amennyiben ki akarunk törölni egy IPMP group-ot, azt a következő módon tehetjük meg:

# ipadm delete-ipmp ipmp0

ipadm: cannot delete IPMP interface ipmp0: IPMP group is not empty

Ahogy látszik, addig amíg nem üres az IPMP group addig nem lehet eltávolítani.

# ipadm remove-ipmp -i path1,path2 ipmp0
# ipadm delete-ipmp ipmp0

Tehát először el kell távolítani a tagjait, majd akkor törölhető a IPMP group maga is.

Összegzés

A Solaris 11 nagyon jó irányba indult el a hálózati struktúrájában. Sajnos ez parancsok tekintetében is nagy változást hozott. Solaris 10-ről Solaris 11-re nem olyan egyszerű átállni, és hálózatot beállítani. Ebben nagy segítséget nyújthat az DLADM és IPADM parancsok help-je. Ha nem is részletes helpet kapunk, de egy jó áttekintést, hogy az a parancs milyen hálózati szintek vezérlésére alkalmas:

# dladm help

sol11-net20

# ipadm help

sol11-net21