Oracle Solaris Day 2013 - Oracle DB and OS Solaris

444 views

Published on

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

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
444
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Oracle Solaris Day 2013 - Oracle DB and OS Solaris

  1. 1. Oracle Solaris Day 2013 Oracle DB a OS Solaris 26.6.2013 Martin Červený M.Cerveny@computer.org
  2. 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. 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. 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. 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. 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. 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. 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 1020 ∗ 2 123 = 8 9 systém
  9. 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
  10. 10. 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
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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
  20. 20. 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
  21. 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. 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. 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
  24. 24. 24 Stav služby maintenance degraded disabled uninitialized offline svcadm disable svcadm enable svcadm restart svcadm refresh svcadm clear svcadm mark online crossbowdohled SMF
  25. 25. 25 Provázání služeb crossbowdohled SMF
  26. 26. 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
  27. 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. 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
  29. 29. 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 USR SYS crossbowdtrace
  30. 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. 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. 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. 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
  34. 34. 34 syscall Systémový audit kernel fronta appl auditd audit audit_event audit_class auditconfig audit audit_warn auditreduce praudit crossbowspráva systémový
  35. 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. 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 ...

×