View
216
Download
0
Category
Preview:
Citation preview
Sun OS Strategie+
Solaris 10Ulrich GräfSenior Consultant, OS AmbassadorPlatform Technology GroupSun Microsystems Deutschland GmbH
Anwendungen skalieren von 1 bis einigen 100 Nutzern
Auf dem Desktop:1 Kopie SW = 1 Kopie HW
Traditionelle Software-Architektur
Shrink-Wrap
SolarisSparc
Linuxx86
VMSVAX
MVS370
AIXPower
MAC OSPower
HP-UXPrecision
DGUX88K
OS400AS400
Windowsx86
UltrixAlphaAegis
68K
ProzessorProzessor
O/SO/S
App
IrixMIPS
Shrink-Wrap
SolarisSparc
Linuxx86
VMSVAX
MVS370
AIXPower
MAC OSPower
HP-UXPrecision
DGUX88K
OS400AS400
Comp
MWMW
Comp
MWMW
Comp
MWMW
Comp
MWMW
Windowsx86
UltrixAlphaAegis
68K
VernetzteKomponenten
Neue Software-Architektur
ProzessorProzessor
O/SO/S
App
Service muss auf einige1000 oder gar Millionengleichzeitiger Nutzer skalieren!
IrixMIPS
JavaJavaTMTM Plattform Plattform
WindowsWindowsPlattformPlattform
XML
Software-Architekturen
Shrink-Wrap
SolarisSparc
Linuxx86
VMSVAX
MVS370
AIXPower
MAC OSPower
HP-UXPrecision
DGUX88K
OS400AS400
Comp
MWMW
Windowsx86
UltrixAlphaAegis
68K
ProzessorProzessor
O/SO/S
App
IrixMIPS
Comp
MWMW
Comp
MWMW
Comp
MWMW
VernetzteKomponenten
ComputingPools
ServicesGraphs
StoragePools
Storage Storage VirtualizationVirtualization
SQLDB
EJBApp
JSPWeb
MidletsJ2ME
X 106
MSGLDAPDir
XML
Internet/Internet/IntranetIntranet
cache/filter
XML
XML
Capability Capacity Connectivity
SLA
VirtualisierungProvisioning- Infrastruktur- ServicesTelemetryObservability
Suns Multi-Plattform OS-Strategie
• SPARC und x86• Etablierte ISV-Akzeptanz bei
SPARC, beginnende bei x86 > Linux Anwendungen
ausführbar (x86)• Skalierung
> horizontal und vertikal• Sun Systeme und 3rd Party HW• Berechenbarer Release-Zyklus
> Binärkompatibilität “write once – run forever”
• Gerichtete Innovation
• Interoperabilität
• Support:Sun Partner
• Ergänzt Solaris (x86 / x64)
• ISVs: Akzeptanz der Enterprise Versionen> Red Hat> SuSE
• Horizontale Skalierung
• Sun und 3rd Party HW> breites Spektrum
• Fokus: Open Source
• ? Binär- Kompatibilität ?
Proc
Memory Switch
Proc
Mem
I/O
Mem I/O
Proc
Network Switch
Proc
Mem
I/O
Mem
I/O
Proc
Mem
I/O
Horizontale Skalierung / Scale Out / Network Facing
Vert
ikal
e Sk
alie
rung
/ Sc
ale
Up
/ Dat
a Fa
cing
Cluster Mgmt.
Mehrere
OS Instanzen
Cache-kohärente SMPs● Ein grosser Hauptspeicher● Ein Pool an Prozessoren● Eng gekoppelt
● Hohe Bandbreite, geringe Latenz
● Flexibles, dynamisches Scheduling durch OS
● Skalierung im Knoten● Hochverfügbare Knoten● Leistungsfähige I/O-Subsysteme
Multiprozessor “Cluster” ● Lose gekoppelt● Preisgünstige kleine Knoten
1-4 Wege, wenige IO-Slots● Skalierung über Zahl der Systeme● Last-Scheduling durch separate Komponente (HW
oder SW)● Loadbalancer, Oracle RAC, App Server, Grid
Job Queing Systeme● i.d.R. nur zu Beginn einer TA/Session/Job
● Hochparallele/parallisierte Lasten (Web, HPTC)● RAS durch Replikation
Solaris 10Zeitablauf:
> 15. November 2004 Solaris 10 Launch
> 25. Januar 2005 OpenSolaris Launch
> 31. Januar 2005 Revenue-Release (Download)
> 7. März 2005 General Availability (DVD/CD)
> 14. Juni 2005 OpenSolaris online (Source + Tools)
Solaris 10 LizenzenSolaris 10 Lizenz ist kostenfrei
> Test, Development und Produktion> SPARC und x86 / x64> 1 ... beliebig viele CPUs
Source ist kostenfrei verfügbar (CDDL)> Recht auf Nutzung der Patente> änderbar, distributierbar> proprietäre Ergänzungen möglich
Service Vertrag auf Wunsch> ggf. in Hardware Wartung enthalten
Solaris – Design Entscheidungen
• Reliability - Zuverlässigkeit> Bessere Bearbeitung von Fehler-Situationen
>Predictive Self Healing>lange Prüfsummen in ZFS
• Servicability – Service im laufenden Betrieb> Dynamische Rekonfiguration (auch online)
• Observability - Überwachbarkeit> durchgängig OS-Kern, Anwendung, Java
• Resource Management – bessere Auslastung
? Linux = Low Cost ?
• x86 Hardware> billig, wenn basierend auf dem Home-PC> RZ braucht enterprise-grade HW (Home-PC?)
• Erweiterungen (Netzwerk-, Platten- Adapter)> Lebensdauer <= 1 Jahr> Linux Treiber nur für neue Kernels> Kontrast zu langlebigen Installationen
> HW-Ersatz führt zur Neuinstallation, Service-Verlust> Ersatz-HW muss ggf. von Anfang an bereit stehen
Suns Beiträge zur CommunityOpen Systems for Open Minds
Definition von Standards
Förderung und Mitarbeit in Standardisierungsgremien
Open Source Implementierungen
ReferenzImplementierungen
http://www.sunsource.netMozilla.org
GNOME.org
GridEngine
NFS
NFSv4
Die integrierte Plattform für Network Computing
Open SourceSoftware
Hardware
Operating Systems
Infrastructure Services
SolarisTM Linux
N1
Java Enterprise
System
Java DesktopSystem
Java MobilitySystem
JavaCard
System
Sun JAVATM SYSTEMS
Java Studio
SPARC x86
Solaris Release Zyklus
01/03 04/03 07/03 10/03 01/04 04/04 07/04 10/04 01/05
Solaris 8
S9 12/02 S9 4/03 S9 8/03 S9 12/03 S9 4/04 S9U7
Solaris 7(EOL - TBD)? 2005 ?
S8 2/02
Software Express for Solaris Beta/Express Solaris 10
Innovation in Solaris 10
Predictive Self Healing
Fault ManagementArchitecture
Service ManagementFacility
ExtremePerformance
Schneller TCP/IP Stack
Out of the Box Performance
Vielzahl von Optimierungen
SolarisContainer
SoftwarePartitioning
Resource Management+
Zonen
DynamicTracing
Live Monitoringvon produktiven
Systemen
TrustedSolaris
Military-Grade Security
und vieles mehr (über 600 Projekte)... NewBoot... ZFS
Predictive Self Healing
• Verfügbarkeit unter allen Umständen> Fehler-Erkennung & -Aggregation, Auto Recovery
• Reduzierte Downtime> Proaktives Offlining von Komponenten vor Ausfall> Automatischer Restart von Services> Diagnose & vorbeugende Massnahmen in Millisekunden
• Reduzierte Komplexität> Vereinfachtes Error Reporting> System & Service Abhängigkeiten werden korreliert
• Reduziert Kosten > Weniger Downtime> Mehr Server je Administrator
[AFT0] errID 0x0000004d.23105c04 Corrected Memory Error on U1004 is Intermittent
[AFT0] errID 0x0000004d.23105c04 ECC Data Bit 14 was in error and corrected
WARNING:/io-unit@fe0200000/sbi@0,0/dma@0,81000/esp@0,8000000 (esp0): Connected command timeout for Target 0.0
NOTICE: correctable error detected by pci0 (upa mid 1f) during DVMA read transaction AFSR=40f40000.1f800000 AFAR=00000000.a25b4000 ...
Traditionelle Fehlerbehandlung
● Jede Komponente agiert unabhängig behandelt und meldet Fehler eigenständig
● Menschen adressieren Fehler, Auswirkung, und korrigierende Aktion
App
CPUCPU
UFS
MD
SD
PCI
Definition von Fault Management
“I saw X ”
“I saw Y ”
“I saw Z ”
“F is broken ”
FaultAny defect that may produce errors
Error HandlingData gathering, detection, and management of errors
Fault ManagementDiagnosis and event recording App
Agent Logs
Fault Mgr
F
Fault Management Architecture (FMA)
ErrorErrorHandlerHandler
Fault Fault ManagerManager
ServiceServiceAgentAgent
● Action● Service Restart● Black Listing
● Diagnosis● Event Recording
● Error Detection● Data Gathering● Error Handling
Fault Management der nächsten Generation
SUNW-MSG-ID: SUN4U-8000-6H; TYPE: Fault, VER: 1, SEVERITY: MajorEVENT-TIME: Tue Aug 10 11:30:16 PDT 2004PLATFORM: SUNW,Sun-Fire-880, CSN: -, HOSTNAME: donutsSOURCE: cpumem-diagnosis, REV: 1.2EVENT-ID: dd541c0b-ddc5-46eb-aba0-b4bc01500b23DESC: The number of errors associated with this CPU has exceeded acceptable levels. Refer to http://sun.com/msg/SUN4U-8000-6H for more information.AUTO-RESPONSE: An attempt will be made to remove the affected CPU from service.IMPACT: Performance of this system may be affected.REC-ACTION: Schedule a repair procedure to replace the affected CPU. Use fmdump -v -u <EVENT_ID> to identify the CPU.
App
CPUCPU
UFS
MD
SD
PCI
Manager● Nutzerfreundliche Fehlermeldungen mit
Aussagen zu Auswirkungen und erforderlichen Aktionen
● Alle Ereignisse werden durch einen einzigen Fault Manager Dienst verwaltet und koordiniert
SUNW-MSG-ID: SUN4U-8000-6H; TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Tue Aug 10 11:30:16 PDT 2004
PLATFORM: SUNW,Sun-Fire-880, CSN: -, HOSTNAME: donuts
SOURCE: cpumem-diagnosis, REV: 1.2
EVENT-ID: dd541c0b-ddc5-46eb-aba0-b4bc01500b23
DESC: The number of errors associated with this CPU has exceeded acceptable levels. Refer to http://sun.com/msg/SUN4U-8000-6H for more information.
AUTO-RESPONSE: An attempt will be made to remove the affected CPU from service.
IMPACT: Performance of this system may be affected.
REC-ACTION: Schedule a repair procedure to replace the affected CPU. Use fmdump -v -u <EVENT_ID> to identify the CPU.
Solaris 9 (10) - Performance• UFS Logging Performance Enhancements (12/02)
• NFS Optimierungen• Neue libthread– one-to-one model
• Multiple Page Size Support– stack, heap, anon memory– US-III: 8K, 64K, 512K, 4M
• Neue Fixed-Priority (FX) Scheduling Klasse
• Optimierte Defaults für Tuning-Parameter
• Memory Placement Optimization (9/02)
• DISM: Large Page support (9/02)
• Small System Performance (4/04) • Neuer ftp-Server und -Client
• TCP Multi Data Transmit (8/03)
IP Stack Streamlining“Fire Engine”
• Ziel: Sättigen eines 10 Gb Ethernet > Classification Engine für IP Pakete> TCP Offloading Engine (TOE auf Netzwerk-Karte)
• TCP und IP Pakete:> neue dedizierte und effiziente Algorithmen> Fastpath für TCP (weniger Kopien der Daten)
• Verbesserte Skalierung auf SMP-Systemen> Netzwerk-Thread pro CPU
• Network Cache Accelerator in IP stack integriert
Dynamic Tracing• Analyse und Diagnose in Echtzeit
• Bahnbrechendes Werkzeug für Tuning
• Sicher und umfassend> Nicht-invasiv, geringer Overhead, einfach zu nutzen> Eine Sicht auf System- und Anwendungsebene> Über 30,000 Monitoring-Punkte:
• Ausgelegt für Nutzung auf Produktionssystemen> Testsysteme f. Reproduktion von Problemen nur selten> Postmortem-Debugging entfällt> Keine Produktion mit speziellem OS-Kernel (kadb)
• Reduziert Kosten> Lösungen in Minuten oder Stunden, statt Tage / Wochen> Optimierte Anwendungen: Beispiele mit 3-300x Speedup
DTrace# mpstat
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 12 1 27 3504 338 206 765 27 114 65 1 337 9 19 41 31 13 1 19 5725 98 68 723 22 108 120 0 692 3 17 20 61 14 0 57 3873 224 192 670 22 75 86 1 805 7 10 35 48 15 36 7 1551 42 28 689 6 68 59 0 132 2 9 35 54 16 14 7 7209 504 457 1031 37 125 244 0 459 6 30 4 60 17 5 5 4960 150 108 817 37 98 154 0 375 6 26 6 62 18 5 6 6085 1687 1661 741 60 76 248 0 434 3 33 0 64 19 0 15 10037 72 41 876 23 100 291 1 454 2 19 9 71 20 12 5 5890 746 711 992 32 122 216 2 960 10 33 4 53 21 60 5 1567 729 713 467 15 80 59 0 376 2 35 10 53 22 0 6 4378 315 291 751 17 84 142 1 312 3 16 1 80 23 0 6 12119 33 3 874 20 82 384 1 513 4 24 11 62
# dtrace -n xcalls'{@[execname] = count()}'dtrace: description 'xcalls' matched 4 probes[ letting this run for a few seconds ]^C
mozilla-bin 1 lockd 1 in.mpathd ... nfsd 3709 tar 27054
Service Management Facility (SMF)
• Kompatibilität: “Everything still works”> Anwendungen funktionieren wie gewohnt> Aufruf dokumentierter /etc/init.d Skripte geht> Keine Änderungen an Konfigurationsdateien
> (ausser inetd.conf)
• Konvertierung rc-Scripte nach Services> nach und nach erfolgen> erfordert lediglich ein Service-Manifest> rc*.d Skripte werden durch Service-Methoden
ersetzt oder als solche aufgerufen
Solaris Service Dependency Graph
IP Filternetwork/pfil
network/rpc/bind
Fault Managersystem/fmd
Stephen Hahn's Bloghttp://blogs.sun.com/roller/page/sch/20040917#smf_5_a_view_from1
Service Management Facility (SMF): Architektur
KERNEL
init(1M)
observabilityagent
inet-service
svc.configd(1M) svc.startd(1M)
inetd(1M)
repository API
managementagent
service
processcontract
repositoryclient
Service Management Facility(SMF): CLI
• Allgemeine Kommandos> svcs(1) service status listings> svcadm(1M) administrative actions> svccfg(1M) general property manipulation> svcprop(1) property reporting (scripting)
• inetd(1M) Management Kommandos:> inetadm(1M) administrative actions/property mods> inetconv(1M) conversion of legacy inetd.conf entries
Solaris Container
IndependentIndependentUsersUsers
SeparateSeparateNetworksNetworksIndependentIndependentStorageStorage
IsolatedIsolatedContainersContainers
Netzwerk
Disk StorageandFile Systems
wwwwww s to res to re B2 BB2 B
appserverappserver oltpoltp
192.9.9.1192.9.9.1 192.9.9.2192.9.9.2 192.9.9.3192.9.9.3
192.9.9.4192.9.9.4 192.9.9.5192.9.9.5
Domain 1Domain 1Resource Management+
Isolation im Hinblick auf- Security- Fehler
Features einer Zone
• Filesystem (~= Komfort - chroot - Konfigurator)• Netzwork Interfaces• Prozesse (/proc – Schutz nach Zoneid)• Shared Memory (Online Konfiguration)• physikalische Devices (nur konfigurierte)• Name Service (hosts, passwd, ...)• Kein Zugriff zu anderen lokalen Zonen• root ist limitiert in der lokalen Zone (Application-root)• Platform-Administration: root in globaler Zone
CPU
Solaris Resource ManagementSolaris Container = Zones + Resource Management
CPU CPU CPU
proc proc proc proc proc proc
task task task task
project zone zone
pset psetpool pool
= Resource Controls
Scheduler SchedulerFSSIA, TS
RAM
Resource Containment
WorkloadClassification
ResourceAccounting
DifferentiatedServices
IPQoS rcapd
Solaris Container ManagerContainerContainerManagement Management AgentAgent
DomainDomain 1 1 Domain 3Domain 3
Sun Server 1Sun Server 1 Sun Server 2Sun Server 2
Domain 2Domain 2
Beispiel für minimale Zone
global# zonecfg -z twilighttwilight: No such zone configuredUse 'create' to begin configuring a new zone.zonecfg:twilight> createzonecfg:twilight> set zonepath=/export/home/twilightzonecfg:twilight> add netzonecfg:twilight:net> set physical=hme0zonecfg:twilight:net> set address=192.9.200.55/24zonecfg:twilight:net> endzonecfg:twilight> verifyzonecfg:twilight> commitzonecfg:twilight> ̂ Dglobal# zonecfg -z twilight info zonepathzonepath: /export/home/twilightglobal#
Virtuelle Maschinen versus Container
Con
tain
er
Con
tain
er
Con
tain
er
SPARC or x86SPARC or x86
HyperVisorHyperVisor
Host OSHost OS
HardwareHardware
Eine OS InstanzViele OS Instanzen
Solaris 10 OSSolaris 10 OSKernelKernel
KernelKernel KernelKernel KernelKernel
OS
OS
OS
{
5-15
%?
Ove
rhea
d
{<1
% O
verh
ead
4000
auf
ein
er V
880
gete
stet
IBM LPARHP VPAREMC VMware
Layered Trusted SolarisMilitary Grade Security in Solaris
TrustedNetworking
TrustedDesktop
Label-Aware
Services
TrustedNetworking
TrustedDesktop
Label-Aware
Services
TCP/IPSolarisZones
SolarisPrivileges
ModifiedTCP/IP
Trusted'sLabels
Trusted'sPrivileges
Trusted Solaris 8 Layered Trusted Solaris
Solaris 10
Certificate
Framework
Pri v
a te
Ke y
s
Cer
tific
a tes
Cer
t Val
idat
ion
SSLSecure
Shell
IKE/
IPsec
GSS-API
SASL
GS S
-AP I
Dig
est-M
D5
CR
AM
-MD
5
Java's
JCE
JCE
Prov
ide r
Cryptographic Framework
Software
Crypto
Plug-in
Smart
Card
Plug-in Smart Card
Framework
Hardware
Crypto
Plug-in
Future releaseFuture release
Solaris 10Solaris 10
Available back to Solaris 9Available back to Solaris 9
ISV InterfacesISV Interfaces
Color IndexColor Index
aa
a
Ker
bero
s
Publ
ic K
ey
Network Security Architecture
Certificate
Framework
Pri v
a te
Ke y
s
Cer
tific
a tes
Cer
t Val
idat
ion
Secure
Shell
IKE/
IPsec
GSS-API
SASL
GS S
-AP I
Dig
est-M
D5
CR
AM
-MD
5
Java's
JCE
JCE
Prov
ide r
Cryptographic Framework
Software
Crypto
Plug-in
Smart
Card
Plug-in Smart Card
Framework
Hardware
Crypto
Plug-in
SSL
Ker
bero
s
Publ
ic K
ey
Security Platform for Sun
JavaCardSunRay Card
Readers
ServiceProcessors
WebServices
DirectoryServer
AppServer
CryptoProcessors
Sun CryptoAccelerators
WebServer
IdentityServer
Solaris Datapath• NFS
> NFSv4> NFS in WANs> Security
> Performance
• UFS> Logging-Performance (S9 12/02)> Logging Default (S9 9/04)> Multiterrabyte UFS
• Solaris Volume Manager > “good enough volume manager”> Soft Partitioning, Persistent Device Ids ...> Multiterrabyte volumes (S9 4/03)> Cluster Volume Management für Oracle RAC> Export/Import von Metasets
Future: New Boot
• Besserer erster Eindruck für Solaris x86• Booten von ZFS• Installation von mehreren CDs ohne Reboot
⇨
Future: ZFS
• Existierende lokale Dateisysteme> Design: 70s / 80s> Datenkorruption nicht berücksichtigt
> Spiegel ist Sache des Volume Managers> Zugriff auf andere Spiegelhälfte nicht vorgesehen
> Vielzahl von Limits> Grösse, Anzahl Dateien, Zylindergruppen, Fragmente, ...> Metadaten sind besondere Strukturen (limitiert!)
> Aufwändig zu verwalten● fsck, /etc/fstab, Partitionen, Volumes● Zu viele Stellschrauben (? Erfolg)
Future: ZFS
• End-to-end Datenintegrität (128-Bit Prüfsummen)• Transaktionen (Copy on Write)• Self-Healing (Zugriff auf 2. Spiegel)• Überlegene Performance (random -> sequentiell)• Immense Kapazität (128 Bit)• Einfach zu verwalten
> Volume Manager Funktionen (zpool kann viele zfs enthalten)> Mount-Punkte im ZFS space (vfstab Einträge können entfallen)> quota/reservation als Attribute eines ZFS
FS/Volume Model vs. ZFS
Traditional Volumes• Abstraction: virtual disk• Partition/volume for each FS• Grow/shrink by hand• Each FS has limited bandwidth• Storage is fragmented, stranded
ZFS Pooled Storage• Abstraction: malloc/free• No partitions to manage• Grow/shrink automatically• All bandwidth always available• Pool allows space to be shared
Storage PoolVolume
FS
Volume
FS
Volume
FS ZFS ZFS ZFS
SVM/UFS Administration# format... (long interactive session omitted)
# metadb -a -f disk1:slice0 disk2:slice0
# metainit d10 1 1 disk1:slice1d10: Concat/Stripe is setup# metainit d11 1 1 disk2:slice1d11: Concat/Stripe is setup# metainit d20 -m d10d20: Mirror is setup# metattach d20 d11d20: submirror d11 is attached
# metainit d12 1 1 disk1:slice2d12: Concat/Stripe is setup# metainit d13 1 1 disk2:slice2d13: Concat/Stripe is setup# metainit d21 -m d12d21: Mirror is setup# metattach d21 d13d21: submirror d13 is attached
# metainit d14 1 1 disk1:slice3d14: Concat/Stripe is setup# metainit d15 1 1 disk2:slice3d15: Concat/Stripe is setup# metainit d22 -m d14d22: Mirror is setup# metattach d22 d15d22: submirror d15 is attached
# newfs /dev/md/rdsk/d20newfs: construct a new file system /dev/md/rdsk/d20: (y/n)? y... (many pages of 'superblock backup' output omitted)# mount /dev/md/dsk/d20 /export/home/ann# vi /etc/vfstab ... while in 'vi', type this exactly:/dev/md/dsk/d20 /dev/md/rdsk/d20 /export/home/ann ufs 2 yes -
# newfs /dev/md/rdsk/d21newfs: construct a new file system /dev/md/rdsk/d21: (y/n)? y... (many pages of 'superblock backup' output omitted)# mount /dev/md/dsk/d21 /export/home/ann# vi /etc/vfstab ... while in 'vi', type this exactly:/dev/md/dsk/d21 /dev/md/rdsk/d21 /export/home/bob ufs 2 yes -
# newfs /dev/md/rdsk/d22newfs: construct a new file system /dev/md/rdsk/d22: (y/n)? y... (many pages of 'superblock backup' output omitted)# mount /dev/md/dsk/d22 /export/home/sue# vi /etc/vfstab ... while in 'vi', type this exactly:/dev/md/dsk/d22 /dev/md/rdsk/d22 /export/home/sue ufs 2 yes -
# format... (long interactive session omitted)# metattach d12 disk3:slice1d12: component is attached# metattach d13 disk4:slice1d13: component is attached# metattach d21# growfs -M /export/home/bob /dev/md/rdsk/d21/dev/md/rdsk/d21:... (many pages of 'superblock backup' output omitted)
ZFS Administration (Skizze*)
• zpool erzeugen (~ disk / volume group ) # zpool create home mirror c1t0d0 c2t0d0
• Filesystem erzeugen und eintragen # zfs create home/ann /export/home/ann
# zfs create home/bob /export/home/bob
# zfs create home/sue /export/home/sue
• zpool vergrössern # zpool add home mirror c1t1d0 c2t1d0
*) Syntax kann sich noch ändern!
Recommended