oracle solaris day 2013 - oracle db and os solaris

36
Oracle Solaris Day 2013 Oracle DB a OS Solaris 26.6.2013 Martin Červený [email protected]

Upload: martin-cerveny

Post on 20-Jun-2015

247 views

Category:

Education


6 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

Oracle Solaris Day 2013Oracle DB a OS Solaris

26.6.2013

Martin Červený[email protected]

Page 2: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 3: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 4: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 5: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 6: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

6

Zóna v Solarisu

zóna

hardware systému

Solaris kernel

app

app

konfigurace

globálnízóna

app

app

Solariszóna

RPC

IPCapp

app

brandzzóna sol10

syscall emulátorsyscall

systém

Page 7: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 8: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

8

Řízení zdrojů CPU

system 8 cpupool1 2-4 cpu pool2 2 cpu

zone3 1 share

zone2 10 shares

zone4 2 shares

zone5 1 share

zone1 20 shares

project13 shares

project22 share

project31 share

task2

proc4

proc3task1

proc2

proc1

zdroje

4 ∗20

1020∗

2123

=89

systém

Page 9: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 10: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

10

Vlastnosti● vysoká integrita dat

– end-to-end kontrolní součty– transakce

● kapacita (128bit)● storage pool

– RAID-0, RAID-1, RAID-Z, -Z2, -Z3● NFSv4/NT ACL● deduplikace, komprimace, šifrování● snapshot, clone● vzdálená replikace● nezávislé na platformě (x86-SPARC)● jednoduchá online administrace

– zpool(1m), zfs(1m)

ZFS

Page 11: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

11

Integrita dat

1 2

3 4

možnýsnapshot

mirror

12

3

aktuálníuberblock

poškozenýblok dat

ZFS

Page 12: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 13: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 14: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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ě

Page 15: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

15

Sítě L2sítě

L2

GLDv3aggrnic

nic nicnicnicnic nic

etherstubvnitřní L2 síť

nicnicnicnic

aggrvíce spojení k jednomupřepínači ⇒ LACP, A/A

podle L2,L3,L4

bridgevíce spojení

k více přepínačům⇒ STP, A/P L2 na cestu

nic

nicnic

nic

vnicvíce vNIC z jednéNIC ⇒ každá vNICmá vlastní L2 addr

vlanvíce vNIC z jedné NIC

⇒ každá vNICmá vlastní

VLAN id

Page 16: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

16

chytrá NIC hloupá NICetherstub

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

Page 17: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 18: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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),roleadd(1m),rolemod(1m),roledel(1m),user_attr(4),auth_attr(4),exec_attr(4),prof_attr(4)

crossbowRBAC

Page 19: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 20: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

20

Příklad profilu● passwd

– jack:x:100:1:InsideJack:/home/jack:/bin/sh– killer:x:200:1:Killer:/home/killer:/bin/pfsh

● user_attr– jack:::type=normal;roles=killer– killer:::type=role;profiles=Killer

● prof_attr– Killer:::Process killer:

● exec_attr– Killer::solaris:cmd:::/usr/bin/kill:privs=proc_owner

crossbowRBAC

role

Page 21: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 22: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 23: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 24: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

24

Stav služby

maintenance

degraded

disabled

uninitialized

offline

svcadm disablesvcadm enable

svcadm restartsvcadm refresh

svcadm clearsvcadm mark

online

crossbowdohled

SMF

Page 25: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

25

Provázání služebcrossbowdohled

SMF

Page 26: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

26

XML manifest<?xml version="1.0"?><!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">

<service_bundle type='manifest' name='osdevcon'>

<service name='site/mojesluzba' type='service' version='1'> <create_default_instance enabled='false'> <single_instance /> <dependency ...>...</dependency> <dependent ...>...</dependent> <exec_method ...>...</exec_method> <property_group ...>

...</property_group> <template>...</template> </service></service_bundle>

crossbowdohled

SMF

Page 27: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 28: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 29: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

29

Systémová implementace sondy

libdtrace(3lib)

lockstat(1m)

dtrace(1m) intrstat(1m)

plockstat(1m)

sondy&akce (DOF)

fbt(7d)

sdt(7d)

syscall(7d)

vmstat(7d)

dtrace(7d), logika a D-interpret

text/code

trap

USRSYS

crossbowdtrace

Page 30: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 31: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 32: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 33: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 34: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

34

syscall

Systémový audit

kernel

fronta

appl

auditdaudit

audit_eventaudit_class

auditconfig audit audit_warn

auditreducepraudit

crossbowspráva

systémový

Page 35: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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

Page 36: Oracle Solaris Day 2013 - Oracle DB and OS Solaris

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ýmiblogs.oracle.com, solarisinternals.com, illumos.org, oss.oracle.com, wikipedia.org, alexanderanokhin.wordpress.com, blog.tanelpoder.com ...