datum wcms-cluster der eth zürich © eth zürich |

15
Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

Upload: wilhelmus-gebhardt

Post on 06-Apr-2015

120 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

Datum

WCMS-Cluster der ETH Zürich

© ETH Zürich |

Page 2: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 2

Historische Entwicklung: Bottom-Up

2001/2002: ein Departement bricht komm. CMS-Projekt nach 125 kFr. Ausgaben ab

2002: Gemeinschaftsprojekt WCMS (Departemente + ID) beginnt Evaluation Wyona CMS (Java, Cocoon) Konventor (Zope), später Silva (Zope)

Page 3: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 3

Historische Entwicklung: Top-Down

SL-Beschluss: Jubiläum 1880-2005 mit WebCD

Page 4: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 4

Historische Entwicklung: Betrieb

Start März 2003, 1 Server

www.ethz.ch: Sept. 2003, 3 Server

ZEO-Cluster ab März 2004 9x 2 CPU Xeon 2.6 GHz, 4 GB RAM bis Ende '06

(für gewisse Aufgaben noch im Einsatz) 6x 4 CPU Xeon 5130 2 GHz, 16 GB RAM heute

Page 5: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 5

Historische Entwicklung: Zahlen

09/01/02 01/14/04 05/28/05 10/10/06 02/22/08 07/06/090

50100150200250300350400450

Sit

es o

nlin

e se

it S

ervi

ceb

egin

n

2007: 10 TByte verschickt, 460 Mio. Requests, 10 Mio. verschiedene Dateien

ZODB: 8 GByte, Assets (Binärdaten inkl. Bilder): 200 GByte

Page 6: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 6

Aktuelle Abdeckung

zentrale Site www.ethz.ch

11 (+1) von 16 Dept.-Sites

Verwaltung: Personalabt., Rektorat, Finanzabt., Informatikdienste uvm.

Institute, Kooperationen, Projekte

95% im Standard-Layout

Page 7: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected]

Page 8: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 8

Problem #1: Cache Trashing

Dedizierte Zope-Installation für 'Protos' und ETH

Dedizierte Prozesse auf Produktion für Editieren Suchmaschinen-Spider

Logisches Subclustering reduziert Cache Trashing genug Sites für

statistische Verteilung10 20 30 40 50 60 70 80 90 100

Page Hit Distribution

broad

sharp

Page 9: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 9

Komponenten des Subclusterings

Apache mod_rewrite jeder virt. Host mit eigener Regel für Weiterleitung auf

Loadbalancer-Ports

Distributions-Script verteilt Apache-Konfiguration auf 2 Apache-Server setzt Loadbalancer-Ports

Loadbalancer pro Port 2 Zope-Prozesse + Failover

Page 10: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 10

Matrix der logischen Subcluster

Endausbau Produktion ethzKnoten-Port 3080 3081 3082 3083 5080Knoten cmpfeb 1 1 4 7 10 13

2 1 4 7 10 133 2 5 8 11 134 2 5 8 11 135 3 6 9 12 136 3 6 9 12 13

Definitionen für den Loadbalancer

Port auf Loadbalancer: 5000 + N

Page 11: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 11

Subcluster-Selektion durch Apache

RewriteCond %{ENV:search_engine} 1RewriteRule ^/(.*) http://192.168.159.252:VIRTUAL_SERVER_SEARCHENGINE_PORT/VirtualHostBase /http/www.cms.ethz.ch:80/silva_ethz/ETH/id_sites/wcms/wcms/VirtualHostRoot/$1 [P,L]

# site specific rewriting rules# ........

RewriteRule ^/(.*manage(/.*|$)) https://%{HTTP_HOST}/$1 [R]RewriteRule ^/(.*edit(/.*|$)) https://%{HTTP_HOST}/$1 [R]RewriteRule ^/(.*intranet(/.*|$)) https://%{HTTP_HOST}/$1 [R]RewriteRule ^/(.*) http://192.168.159.252:VIRTUAL_SERVER_PORT/VirtualHostBase /http/www.cms.ethz.ch:80/silva_ethz/ETH/id_sites/wcms/wcms/VirtualHostRoot/$1 [P,L]

Selektion pro Site-spezifischer Konfiguration

search_engine: global anhand Browser-Kennung gesetzte Variable

VIRTUAL_SERVER_PORT (_SEARCHENGINE_PORT, _EDIT_PORT): bei

Transfer der Konfiguration auf Apache gesetzte Variablen, Portnummern der

Clustermatrix

Page 12: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 12

Strukturierung in ZopeZope Root

Silva Root

ETH Root FH RootLDAP, zentrale Code-Sources (Plugins),WebCD-Layout (CSS, Icons)

Gruppe 1 Gruppe 2 Gruppe N

Site 1 Site 2 Site NHeader-Bilder, spez. CSSund Icons, komplette Layouts

Ziele der Redirects

Renderer, Silva Konfigu-rations-Services

Page 13: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 13

SilvaExtETHLayout

Standard-Layout im ETH WebCD

Funktionen für Navigation, Sprachumschaltung, PDF-Umwandlung, Caching von externen Datenquellen, Formularbaukasten ...

Vielfältig konfigurierbar im SMI: HTML-Titel, Breadcrumb-Prefix, Menueinträge, Verbergen, 1-3 Spalten, Suchfunktion, Farbschema ...

Page 14: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 14

Standard-ElementeSite Root

/people SilvaExtPersonalInfo (Tel., Büro, Adresse aus LDAP)

Deutsch oder Englisch (Seiten in DE, EN, FR, IT möglich)

/contact standardisiertes Kontaktformular

/mail_this_page Seiten als PDF verschicken

/sitemap Auflistung aller Seiten

Weitere Module: RSS-Viewer/Feed, Zugriff auf Vorlesungsverzeichnis, iCalender, Mensa-Menu, ETH-Veranstaltungskalender

'Code-Elemente': Formular-Bearbeitung, Einbinden von Flash, Java, Filmen vom Streaming-Server, IFRAME, Newsletter-Service, ETH-Telefonbuch

Page 15: Datum WCMS-Cluster der ETH Zürich © ETH Zürich |

18. März 2008 Bengt Giger/Informatikdienste/[email protected] 15

Problemzonen

Assets: Inkonsistenzen möglich

NAS ist netztopologisch weit weg

Session-DB

Koordination mit ID-KOM (Loadbalancer)

Entwickler denken nicht grosstechnisch

Steuerung von HTTP-Caches mangelhaft