Presentation from training day for Oracle Solaris customers to explain advantages of running Oracle Database on Oracle Solaris.
Presentation covers following themes:
- system and network virtualization
- filesystem ZFS
- security with RBAC
- running with SMF
- tuning with DTrace
Demo labs: http://www.slideshare.net/m_cerveny/osd2013-cmd
Oracle Solaris Day 2013 - Oracle DB and OS Solaris
1. Oracle Solaris Day 2013
Oracle DB a OS Solaris
26.6.2013
Martin Červený
M.Cerveny@computer.org
2. virtualizace zónou v Solarisu
souborový systém ZFS
virtualizace sítí
role a uživatelé RBAC
dohled nad službami SMF
bezpečnostní audit
funkční a výkonnostní analýza DTrace
3. virtualizace zónou v Solarisu
souborový systém ZFS
virtualizace sítí
role a uživatelé RBAC
dohled nad službami SMF
bezpečnostní audit
funkční a výkonnostní analýza DTrace
4. 4
Virtualizace systémů
●
důvody a požadavky virtualizace
– bezpečné oddělení a ochrana
– rozdělení nebo vyhrazení zdrojů,
přebytek výkonu
– redundance a vysoká dostupnost
– spravovatelnost
●
dostupné virtualizace
– paravirtualizace (PVM, kooperativní)
(Oracle VM for SPARC = LDom)
– rozdělení na úrovni operačního systému
(zóny)
systém
5. 5
Zóna Solarisu
●
rozdělení na úrovni operačního
systému (zóny)
– nezávislý běh instance operačního
systému od procesu init (sdílené jádro
Solarisu)
– izolace softwarových chyb aplikací
– bezpečnostní oddělení (méně privilegií)
– možnost připojení citlivých části
souborového systému jen pro čtení
– žádné změny v API aplikací
– branding - emulace chování jiného jádra
operačního systému (solaris 10)
– zonecfg(1m), zoneadm(1m), zlogin(1),
zonename(1)
systém
zóna
6. 6
Zóna v Solarisu
zóna
hardware systému
Solaris kernel
app
app
konfigurace
globální
zóna
app
app
Solaris
zóna
RPC
IPC
app
app
brandz
zóna
sol10
syscall emulátor
syscall
systém
7. 7
Kontejner Solarisu
●
kontejner = zóna + řízení zdrojů
●
řízení zdrojů
– podle procesorů (dynamic resource
pools, processor sets)
● pooladm(1m), poolcfg(1m), poolbind(1m),
poolstat(1m), poold(1m), pbind(1m),
psrinfo(1m), psradm(1m), zonecfg(1m)
– přiřazení poměrného výkonu procesorů
(resource/workload manager, FSS
plánovač procesů (cpu-shares), projects)
● resource_controls(5), zonecfg(1m),
rctladm(1m), prctl(1), projadd(1m),
projmod(1m), projdel(1m), projects(1),
project(4), newtask(1)
– limit přiřazení fyzické paměti
● rcapadm(1m), rcapstat(1), rcapd(1m)
systém
zdroje
8. 8
Řízení zdrojů CPU
system 8 cpu
pool1 2-4 cpu pool2 2 cpu
zone3 1 share
zone2 10 shares
zone4 2 shares
zone5 1 share
zone1 20 shares
project1
3 shares
project2
2 share
project3
1 share
task2
proc4
proc3
task1
proc2
proc1
zdroje
4 ∗
20
1020
∗
2
123
=
8
9
systém
9. virtualizace zónou v Solarisu
souborový systém ZFS
virtualizace sítí
role a uživatelé RBAC
dohled nad službami SMF
bezpečnostní audit
funkční a výkonnostní analýza DTrace
11. 11
Integrita dat
1 2
3 4
možný
snapshot
mirror
1
2
3
aktuální
uberblock
poškozený
blok dat
ZFS
12. 12
ZFS pro Oracle DB
●
separace dat a redo, archivních logů
●
klonování databáze
– Database Cloning using Oracle Sun ZFS
Storage Appliance and Oracle Data Guard
●
použití hybrid-storage
– ZEUSRam (~8GB RAM + flash) pro ZIL
●
vyladění ZFS
– velikost ARC cache
● set zfs:zfs_arc_max = #
– ZFS recordsize == DB db_block_size
– ZFS prefetch
● set zfs:zfs_prefetch_disable = 1
● set zfs:zfs_vdev_cache_bshift = 13
– omezení ZIL pro pole (s NVRAM)
● set zfs:zfs_immediate_write_sz = 8191
ZFS
13. virtualizace zónou v Solarisu
souborový systém ZFS
virtualizace sítí
role a uživatelé RBAC
dohled nad službami SMF
bezpečnostní audit
funkční a výkonnostní analýza DTrace
14. 14
Administrace a vlastnosti sítí
● L2 (datalink layer) - dladm(1m),dlstat(1m)
– volitelná jména (rename-link)
– zobrazení, nastavení a smazání doplňujících
informací (show-ether,show-phys,delete-
phys,show-link,show-linkprop,set-
linkprop,reset-linkprop)
– automatické VNIC do zón (zonecfg/anet)
– Virtual Router Redundancy Protocol (VRRP)
– Link Layer Discovery Prot.(LLDP)-lldpadm(1m)
– řízení toků L3 - flowadm(1m),flowstat(1m)
● L3 (ip network layer) - ipadm(1m)
– autokonfigurace - netadm(1m),netcfg(1m)
●
network automagic (NWAM)
– IP multipathing (IPMP)
– konfigurace v SMF(5) - dns, nss ...
● L4 - integrovaný "loadbalancer" - ilbadm(1m)
sítě
15. 15
Sítě L2
sítě
L2
GLDv3
aggr
nic
nic nicnicnicnic nic
etherstub
vnitřní L2 síť
nicnicnicnic
aggr
více spojení k jednomu
přepínači ⇒ LACP, A/A
podle L2,L3,L4
bridge
více spojení
k více
přepínačům
⇒ STP, A/P
L2 na cestu
nic
nicnic
nic
vnic
více vNIC z jedné
NIC ⇒ každá vNIC
má vlastní L2 addr
vlan
více vNIC z
jedné NIC
⇒ každá vNIC
má vlastní
VLAN id
16. 16
chytrá NIC hloupá NIC
etherstub
tcp/ip tcp/iptcp/ip
Virtualizace sítí
sítě ●
komponenty pro virtualizaci
– virtuální síťové rozhraní (VNIC)
●
část kapacity (maxbw) a priorita (priority)
– řízení toků podle port,transport,ip,ds (flow)
●
hardwarová podpora VNIC a flow
– některé bge, e1000g, igb, ixgbe, nxge, nge
tcp/ip
vnic
ip flow
vnic
ringbufringbuf
hw flow
tcp/ip
vnic
ip flow
vnic
ringbufringbuf
sw flow
tcp/ip
vnic
ip flow
vnic
ringbufringbuf
sw flow
L2
17. virtualizace zónou v Solarisu
souborový systém ZFS
virtualizace sítí
role a uživatelé RBAC
dohled nad službami SMF
bezpečnostní audit
funkční a výkonnostní analýza DTrace
18. 18
Role Based Acces Control
●
cíl
– umožnit delegaci administrace systému
– definice programových autorizací
– snížit počet „setuid“ programů
– princip minimálních oprávnění
●
komponenty RBAC
– administrativní role (administrative roles)
●
nelze se přímo přihlásit, jen pomocí „su“ z
autorizovaných kont
– programové autorizace (authorizations)
– profily (profiles, rights), profily pro spuštění
programů včetně bezpečnostních privilegií
jádra (exec attributes, privileges)
●
nástroje
– useradd(1m),usermod(1m),userdel(1m),rolead
d(1m),rolemod(1m),roledel(1m),user_attr(4)
,auth_attr(4),exec_attr(4),prof_attr(4)
crossbowRBAC
19. 19
Privilegia
●
bezpečnostní oprávnění pro jádro Solarisu,
která nahrazují privilegovaný test
„euid==0“
●
součástí informací jádra o procesu
– Effektive set (E) – aktuální oprávnění, dají se přidávat a
odebírat shora omezené podle (P)
– Permitted set (P) – horní omezení pro oprávnění (E) a (I),
dají se pouze odebírat
– Inheritable set (I) – nastavení výchozích oprávnění (nové E
a P) pro synovský proces
– Limited set (L) – horní omezení pro dědičná oprávnění (I)
a nemůže nikdy růst
●
84 privilegií
● "file_dac_read" Override file's read perms
● "net_privaddr" Bind to privilege port (<1023+extras)
● "proc_exec" Allow use of execve()
● "proc_fork" Allow use of fork*() calls
● "proc_info" Examine /proc of other processes
crossbowRBAC
privilegia
21. virtualizace zónou v Solarisu
souborový systém ZFS
virtualizace sítí
role a uživatelé RBAC
dohled nad službami SMF
bezpečnostní audit
funkční a výkonnostní analýza DTrace
22. 22
Dohled nad hardware a software
●
Predictive Self-Healing (PSH)
– správa HW systému
●
Fault Management Architecture (FMA)
– správa SW služeb
●
Service Management Facility (SMF)
●
databáze s popisem chyb
– http://www.sun.com/msg/idchyby
crossbowdohled
23. 23
Start softwarových služeb
●
Service Management Facility (SMF)
– XML popisný soubor
●
jemnější definice vazby služeb
– konfigurační data v databázi - svc.configd(1m)
– restarter - svc.startd(1m), inetd(1m)
●
paralelní start služeb
●
automatický restart
●
delegace ovládání na běžné uživatele
●
stav údržby
●
nástroje
– svcadm(1m), svcs(1), svccfg(1m),svcprop(1)
inetadm(1m),inetconv(1m)
●
Fault Management Resource ID (FMRI)
– svc:/typ/název:instance
– svc:/milestone/
●
none, single-user, multi-user, multi-
user-server, ..., all
crossbowdohled
SMF
27. virtualizace zónou v Solarisu
souborový systém ZFS
virtualizace sítí
role a uživatelé RBAC
dohled nad službami SMF
bezpečnostní audit
funkční a výkonnostní analýza DTrace
28. 28
DTrace
●
DTrace je instrumentace pro dynamickou
analýzu problémů v systému a aplikacích v
celém rozsahu
●
dynamické vložení sondy -> aktivace
průchodem kódu -> interpretovaná akce
– D jazyk
●
úplný popis sondy a akce
provider:module:function:name
/logická podmínka (predicate)/
{ příkaz akce; … }
●
nástroje
– dtrace(1m)
●
chime, dtrace toolkit, dexpolorer, netbeans plugin,
sunstudio dlight
– knihovna libdtrace(3lib)
●
lockstat(1m)/plockstat(1m), intrstat(1m) ...
– vložené explicitní sondy do programů
●
interprtetry, Xserver, databáze …
crossbowdtrace
30. 30
Analýza uživatelských procesů
●
standardní provider
– pid*, plockstat*
– sledování prakticky omezeno na
entry/return
– hlavní program (a.out) a knihovny
– nutná znalost vnitřní architektury programu
●
User-Level Statically Defined Tracing (USDT)
– mysql*, postgresql*, Xserver*, apache*,
php*, phyton*, (perl*), ruby*, javascript*,
hotspot*, hotspot_jni*, (sh*), (gtk*/glib*) ...
– doplněné sondy "DTRACE_PROBE*()"
– zakompilované a popsané v ELF (využívá
linker)
– "exportuje" důležité události
●
start/stop, begin/end, entry/exit ...
crossbowdtrace
procesy
31. 31
Analýza Oracle DB
●
využití standardních providerů
– Oracle8i Internal Services for Waits, Latches, Locks, and Memory
– Oracle Core: Essential Internals for DBAs and Developers
– http://www.orafaq.com/wiki/Oracle_database_Internals_FAQ
crossbowdtrace
procesy
32. virtualizace zónou v Solarisu
souborový systém ZFS
virtualizace sítí
role a uživatelé RBAC
dohled nad službami SMF
bezpečnostní audit
funkční a výkonnostní analýza DTrace
33. 33
Možnosti auditu
●
aplikace
– vlastní logovací soubory - logadm(1m)
– systémový log - syslogd(1m)
●
kernel
– účtování běhu procesů - acct(1m)
– systémový audit v kernelu
●
283 událostí kernelu
●
609 událostí aplikací
● audit(1m), auditconfig(1m), praudit(1m),
auditreduce(1m)
●
souborový systém
– digitální podpisy souborů - elfsign(1m)
– změny v souborech - bart(1m)
crossbowaudit
35. 35
Kurzy kde Vás to naučíme
●
Oracle Solaris 11 System Administration
●
Oracle Solaris 11 Advanced System Administration
●
Transition to Oracle Solaris 11
●
Oracle VM Server for SPARC: Installation and
Configuration
●
Oracle Solaris 11 Zones Administration
●
Oracle Solaris 11 ZFS Administration
●
Oracle Solaris 11 Network Administration
●
Oracle Solaris 11 Security Administration
●
Oracle Solaris 11 Performance Management
●
Oracle Solaris DTrace for System Administrators
●
Developing and Deploying Applications on Oracle
Solaris 11
http://www.edumaster.cz
36. 36
Dotazy
?pro prezentaci byly použity inspirace z volně dostupných materiálů
a prezentací, z dokumentace docs.oracle.com a dalších zdrojů mezi jinými
blogs.oracle.com, solarisinternals.com, illumos.org, oss.oracle.com,
wikipedia.org, alexanderanokhin.wordpress.com, blog.tanelpoder.com ...