SlideShare a Scribd company logo
Oracle Solaris Day 2013
Oracle DB a OS Solaris
26.6.2013
Martin Červený
M.Cerveny@computer.org
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
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
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
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
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
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
Ří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
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
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
Integrita dat
1 2
3 4
možný
snapshot
mirror
1
2
3
aktuální
uberblock
poškozený
blok dat
ZFS
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
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
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
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
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
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
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
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
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
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
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
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
Stav služby
maintenance
degraded
disabled
uninitialized
offline
svcadm disable
svcadm enable
svcadm restart
svcadm refresh
svcadm clear
svcadm mark
online
crossbowdohled
SMF
25
Provázání služeb
crossbowdohled
SMF
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
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
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
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
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
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
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
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
syscall
Systémový audit
kernel
fronta
appl
auditd
audit
audit_event
audit_class
auditconfig audit audit_warn
auditreduce
praudit
crossbowspráva
systémový
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
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 ...

More Related Content

Similar to Oracle Solaris Day 2013 - Oracle DB and OS Solaris

Czech Sun Training Day 2008 - Java Enterprise System
Czech Sun Training Day 2008 - Java Enterprise SystemCzech Sun Training Day 2008 - Java Enterprise System
Czech Sun Training Day 2008 - Java Enterprise System
Martin Cerveny
 
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
LTP-portal-cz
 
Slovak Sun Training Day 2008 - Advanced Secure Networking
Slovak Sun Training Day 2008 - Advanced Secure NetworkingSlovak Sun Training Day 2008 - Advanced Secure Networking
Slovak Sun Training Day 2008 - Advanced Secure Networking
Martin Cerveny
 
SPARC T7 webinář
SPARC T7 webinářSPARC T7 webinář
SPARC T7 webinář
MarketingArrowECS_CZ
 
Webinář: Oracle DBA - RAC - Úvod do problematiky
Webinář: Oracle DBA - RAC - Úvod do problematikyWebinář: Oracle DBA - RAC - Úvod do problematiky
Webinář: Oracle DBA - RAC - Úvod do problematiky
Tomas Solar
 
Red Hat Storage Server presentation
Red Hat Storage Server presentationRed Hat Storage Server presentation
Red Hat Storage Server presentation
Elos Technologies s.r.o.
 
Czech Oracle Solaris Administrators Day 2011 - Solaris Express (OpenSolaris)
Czech Oracle Solaris Administrators Day 2011 - Solaris Express (OpenSolaris)Czech Oracle Solaris Administrators Day 2011 - Solaris Express (OpenSolaris)
Czech Oracle Solaris Administrators Day 2011 - Solaris Express (OpenSolaris)
Martin Cerveny
 
OpenStack Technical Overview
OpenStack Technical OverviewOpenStack Technical Overview
OpenStack Technical Overview
Lukas Korous
 
Vyzkoušejte si první SDN Lab v České republice
Vyzkoušejte si první SDN Lab v České republiceVyzkoušejte si první SDN Lab v České republice
Vyzkoušejte si první SDN Lab v České republice
MarketingArrowECS_CZ
 
Bezpečnost síťové části e-Infrastruktury CESNET
Bezpečnost síťové části e-Infrastruktury CESNETBezpečnost síťové části e-Infrastruktury CESNET
Bezpečnost síťové části e-Infrastruktury CESNET
CESNET
 
2011 X33EJA Výkonové Aspekty JEE Monitoring a optimalizace
2011 X33EJA Výkonové Aspekty JEE Monitoring a optimalizace2011 X33EJA Výkonové Aspekty JEE Monitoring a optimalizace
2011 X33EJA Výkonové Aspekty JEE Monitoring a optimalizace
Martin Ptáček
 
Disaster Recovery – aneb zálohování a obnova dat pro případ, když všechny och...
Disaster Recovery – aneb zálohování a obnova dat pro případ, když všechny och...Disaster Recovery – aneb zálohování a obnova dat pro případ, když všechny och...
Disaster Recovery – aneb zálohování a obnova dat pro případ, když všechny och...
MarketingArrowECS_CZ
 
Postgresql na EXT3/4, XFS, BTRFS a ZFS
Postgresql na EXT3/4, XFS, BTRFS a ZFSPostgresql na EXT3/4, XFS, BTRFS a ZFS
Postgresql na EXT3/4, XFS, BTRFS a ZFS
Tomas Vondra
 
Přednáška Virtualizace, clustery a cloud computing (V3C)
Přednáška Virtualizace, clustery a cloud computing (V3C)Přednáška Virtualizace, clustery a cloud computing (V3C)
Přednáška Virtualizace, clustery a cloud computing (V3C)
Jaroslav Prodelal
 
Škálování, optimalizaci a zálohování databáze MySQL
Škálování, optimalizaci a zálohování databáze MySQLŠkálování, optimalizaci a zálohování databáze MySQL
Škálování, optimalizaci a zálohování databáze MySQL
Jakub Vrána
 
Přednáška V3C jaro 2010 (IIVOS 1)
Přednáška V3C jaro 2010 (IIVOS 1)Přednáška V3C jaro 2010 (IIVOS 1)
Přednáška V3C jaro 2010 (IIVOS 1)
Jaroslav Prodelal
 
Přednáška Virtualizace, clustery a cloud computing (V3C) (zkrácená)
Přednáška Virtualizace, clustery a cloud computing (V3C) (zkrácená)Přednáška Virtualizace, clustery a cloud computing (V3C) (zkrácená)
Přednáška Virtualizace, clustery a cloud computing (V3C) (zkrácená)
Jaroslav Prodelal
 
Novinky Oracle db 12c
Novinky Oracle db 12cNovinky Oracle db 12c
Novinky Oracle db 12c
Tomas Solar
 
Přednáška V3C jaro 2010 (IIVOS 2)
Přednáška V3C jaro 2010 (IIVOS 2)Přednáška V3C jaro 2010 (IIVOS 2)
Přednáška V3C jaro 2010 (IIVOS 2)
Jaroslav Prodelal
 

Similar to Oracle Solaris Day 2013 - Oracle DB and OS Solaris (20)

Czech Sun Training Day 2008 - Java Enterprise System
Czech Sun Training Day 2008 - Java Enterprise SystemCzech Sun Training Day 2008 - Java Enterprise System
Czech Sun Training Day 2008 - Java Enterprise System
 
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
 
Slovak Sun Training Day 2008 - Advanced Secure Networking
Slovak Sun Training Day 2008 - Advanced Secure NetworkingSlovak Sun Training Day 2008 - Advanced Secure Networking
Slovak Sun Training Day 2008 - Advanced Secure Networking
 
SPARC T7 webinář
SPARC T7 webinářSPARC T7 webinář
SPARC T7 webinář
 
Webinář: Oracle DBA - RAC - Úvod do problematiky
Webinář: Oracle DBA - RAC - Úvod do problematikyWebinář: Oracle DBA - RAC - Úvod do problematiky
Webinář: Oracle DBA - RAC - Úvod do problematiky
 
Red Hat Storage Server presentation
Red Hat Storage Server presentationRed Hat Storage Server presentation
Red Hat Storage Server presentation
 
Czech Oracle Solaris Administrators Day 2011 - Solaris Express (OpenSolaris)
Czech Oracle Solaris Administrators Day 2011 - Solaris Express (OpenSolaris)Czech Oracle Solaris Administrators Day 2011 - Solaris Express (OpenSolaris)
Czech Oracle Solaris Administrators Day 2011 - Solaris Express (OpenSolaris)
 
OpenStack Technical Overview
OpenStack Technical OverviewOpenStack Technical Overview
OpenStack Technical Overview
 
Vyzkoušejte si první SDN Lab v České republice
Vyzkoušejte si první SDN Lab v České republiceVyzkoušejte si první SDN Lab v České republice
Vyzkoušejte si první SDN Lab v České republice
 
Bezpečnost síťové části e-Infrastruktury CESNET
Bezpečnost síťové části e-Infrastruktury CESNETBezpečnost síťové části e-Infrastruktury CESNET
Bezpečnost síťové části e-Infrastruktury CESNET
 
2011 X33EJA Výkonové Aspekty JEE Monitoring a optimalizace
2011 X33EJA Výkonové Aspekty JEE Monitoring a optimalizace2011 X33EJA Výkonové Aspekty JEE Monitoring a optimalizace
2011 X33EJA Výkonové Aspekty JEE Monitoring a optimalizace
 
Disaster Recovery – aneb zálohování a obnova dat pro případ, když všechny och...
Disaster Recovery – aneb zálohování a obnova dat pro případ, když všechny och...Disaster Recovery – aneb zálohování a obnova dat pro případ, když všechny och...
Disaster Recovery – aneb zálohování a obnova dat pro případ, když všechny och...
 
Postgresql na EXT3/4, XFS, BTRFS a ZFS
Postgresql na EXT3/4, XFS, BTRFS a ZFSPostgresql na EXT3/4, XFS, BTRFS a ZFS
Postgresql na EXT3/4, XFS, BTRFS a ZFS
 
Přednáška Virtualizace, clustery a cloud computing (V3C)
Přednáška Virtualizace, clustery a cloud computing (V3C)Přednáška Virtualizace, clustery a cloud computing (V3C)
Přednáška Virtualizace, clustery a cloud computing (V3C)
 
SVN základy
SVN základySVN základy
SVN základy
 
Škálování, optimalizaci a zálohování databáze MySQL
Škálování, optimalizaci a zálohování databáze MySQLŠkálování, optimalizaci a zálohování databáze MySQL
Škálování, optimalizaci a zálohování databáze MySQL
 
Přednáška V3C jaro 2010 (IIVOS 1)
Přednáška V3C jaro 2010 (IIVOS 1)Přednáška V3C jaro 2010 (IIVOS 1)
Přednáška V3C jaro 2010 (IIVOS 1)
 
Přednáška Virtualizace, clustery a cloud computing (V3C) (zkrácená)
Přednáška Virtualizace, clustery a cloud computing (V3C) (zkrácená)Přednáška Virtualizace, clustery a cloud computing (V3C) (zkrácená)
Přednáška Virtualizace, clustery a cloud computing (V3C) (zkrácená)
 
Novinky Oracle db 12c
Novinky Oracle db 12cNovinky Oracle db 12c
Novinky Oracle db 12c
 
Přednáška V3C jaro 2010 (IIVOS 2)
Přednáška V3C jaro 2010 (IIVOS 2)Přednáška V3C jaro 2010 (IIVOS 2)
Přednáška V3C jaro 2010 (IIVOS 2)
 

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 1020 ∗ 2 123 = 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
  • 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 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
  • 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. 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
  • 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
  • 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. 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
  • 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 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 ...