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
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
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
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
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
# 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
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
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
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
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
# dladm show-link
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.
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
Természetesen az ifconfig parancsban is látni fogjuk ezek után:
# ifconfig net1
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:
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
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
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
# ipadm help