Solaris

Kapcsolódó tárgy: 
UNIX rendszerek a gyakorlatban

Jegyzetvázlat a Solaris előadáshoz (előadó: Fischer Erik, Sun)

Készítette Mészáros Tamás, BME MIT, 2009
Utolsó frissítés - 2010. április

Áttekintés

  • BSD alapokról indult bő két évtizede (SunOS avagy Solaris 1.x)
  • System V alapokra váltott a BSD fejlődési lassúsága, gyenge multiprocesszoros támogatottsága miatt (Solaris 2.x)
  • Nagyjából 6 hónapos kiadási ciklusokkal dolgozik
  • Jelenlegi változata a Solaris 10 (avagy 2.10), hamarosan érkezik a Solaris 11

Főbb jellemzők

  • modularizált kernel
  • 700+ alrendszer, projekt
  • 64 bites kernel, akár intel és amd processzorokon is
  • változtatható memória lapméret
  • összetett ütemezők, több processzor, több core, több szál / core (CMT)
  • ütemezési és erőforrás csoportok (pool-ok) dinamikus megvalósítása
  • dinamikus hardverkezelés (erőforrások hozzáadása, elvétele, összekapcsolása)
  • virtualizációs szolgáltatások (a kernel alapműködésében is)
  • kernel szintű hálózatkezelés és terhelés-elosztás
  • linux emulációs szolgáltatás

ZFS (Zettabyte Filesystem)

  • diszk, volume és fájlrendszer menedzsment, virtualizáció
  • tranzakcionális fájlrendszer
  • adatvédelem, replikáció
  • dinamikus méretkezelés (fizikai méret =/= logikai méret)
  • beépített tömörítés és titkosítás (utóbbi fejlesztés alatt)
  • beépített copy-on-write és hibajavítás (ábrák)
  • fájlrendszer másolatok (snapshot) készítésének támogatása
  • alapparancsok: zpool, zfs, zvol

DTrace (Dynamic Tracing)

  • hibakereső eszköz: végzetes hibák (core) és átmeneti hibák vizsgálata
  • erős futásidejű invazív nyomkövetési technikák
  • operációs rendszer "mérőrendszer": adatgyűjtés mérőhelyeken és elemzés
  • több ezer mérőhely (a felhasználói és kernel rétegben is lehetséges)
  • alaphelyzetben csak rendszergazda (root) használhatja
  • C-szerű nyelv awk beütésekkel a nyomkövetés programozására

Virtualizáció: zónák (avagy konténerek)

  • nem párhuzamos virtuális gépek, hanem erőforrás-virtualizáció (elosztás és teljes szeparálás) (ábra)
  • az operációs rendszer szolgáltatásainak teljes virtualizációja
  • ütemezési osztályok (rendszer, időosztásos, real-time, fair share) hozzárendelhetők folyamatcsoportokhoz
  • globális zóna (szülő, mindent lát) és lokális zónák (gyerekek, csak önmagukat látják)
  • lokális zónánként saját IP cím, önálló címtér, saját IPC tér, authentikáció, fájlrendszer (olvasási joggal örökölhet a globális zónától), szoftver csomagok (itt is lehetséges az öröklés), rendszergazda, stb.
  • akár más operációs rendszereket is telepíthetek a zónákba
  • zónák állapotátmeneti gráfja (ábra): konfigurálás, telepítés, készenléti állapot (single user), futó állapot (multiuser)
  • zónák parancsai: zoneadm, zlogin -C zona, ...

IPfilter

  • operációs rendszer kernelbe integrált tűzfal
  • egyszerű, alapszolgáltatásokat nyújt
  • NAT és port transzformáció támogatás (zónák számára hasznos)

Privilégium rendszer

  • a korábbi kitüntetett rendszergazda (root) helyett szerepalapú privilégiumok
  • least privilege - csak a szükséges jogosultságokat
  • > 50 alap privilégium, bővíthető
  • privilégium halmazok: effektív, megengedett, örökölhető, limitált
  • saját halmazokat is definiálhatok (pl. zónákra)
  • lehetséges a root kompatibilitási mód is

BART (Basic Auditing and Reporting Tool)

  • a rendszeren történt (pl. parancsfájlok) változások követése
  • korábbi állapottal és más rendszerrel is képes összehasonlítani az aktuális állapotot
  • parancsok: bart

SMF (Service Management Facility)

  • a hagyományos rc szkriptek helyett
  • a "contract" alrendszerben regisztráljuk a szolgáltatásokat
  • az elindítás és leállítás mellett a monitorozást is elvégzi
  • a szolgáltatások közötti függőségeket is leírhatjuk
  • hiba esetén meghatározott tevékenységet hajthatunk végre