Cluster setup im Grid
Worker nodes LCG-cluster Karlsruhe
(unser Tier 1)
dzt 72 dual Xeon 2.66 GHZ
LCG Cluster HEPHY-UIBK
Tier „2“
LCG = LHC-Computing Grid
• LHC Experimente (Start 2007) : voraussichtlich 12-16 PB/year, 70000 CPUs (KSI2K), Investition soweit wie möglich auf Teilnehmerländer verteilt
• Hierarchie:– Tier-0: CERN– Tier-1: große regionale Zentren– Tier-2: 5-25% von Tier1 Zentrum– Tier-3: Arbeitsgruppen Cluster– Tier-4: einzelne PCs
• Setup– möglichst ähnliche Cluster , einfache Konfiguration und Installation (LCFG
LocalConFiGuration)– zentral koordinierte Softwareinstallation (InstallArea bei den einzelnen sites,
Installation durch Softwaremanager über Grid ohne Arbeit für die lokalen Administratoren
– 1 account pool / virtuelle Organisation für Grid Benutzer, Liste der authorisierten Benutzer periodisch aktualisiert (Ldap-server VO)
CERNTier0 GridKa
Nikhef
CNRS
UIBK
Prag
Wuppertal
LCG-Cluster HEPHY-UIBK
SE
grid01Storage Element0.6 TB
gridgate
WN
grid
grid02-04LCFG
UI
WN
WN
grid05User Interface
grid06
OpenPBS
Installation und Verwaltungexportiert :über NFS RPMs und root-Verzeichnis Installations-OSKonfigurationsdateien (http)
Computing Element
Gigabit switch
LCFG Local ConFiGuration
Profillesen
(rdxprof)
LCFG Komponentenz.B.auth, fstabupdaterpms
dbm-Datei
Client
Web Server
HTTP
LCFG Konfigurationsdateien
Erzeuge XML Profil(mkxprof)
LCFG-Server
notify (udp)
acknowledge
Konfigurationsdatei Bsp.
/* grid05 ================= UI for LCG-2 */
#define HOSTNAME grid05
#include "cfgdir-cfg.h"#include CFGDIR/macros-cfg.h"#include "site-cfg.h"#include CFGDIR/redhat73-cfg.h"+fstab.size_hda2 20000+fstab.size_hda3 1024+hardware.mod_eth0 alias eth0 8139too #include CFGDIR/UserInterface-cfg.h"#include "local-cfg.h"#include "private/local-users.cfg"
EXTRA(auth.groups) hephyauth.groupgid_hephy 233EXTRA(auth.users) bischof (...)
+auth.usercomment_bischof Reinhard Bischof+auth.userhome_bischof /home/bischof+auth.usergroup_bischof hephy+auth.useruid_bischof 20048+auth.usershell_bischof /bin/bash....
BASE-rpm
Standort CPU # CPU KSI2K
Technik Intel PIV, 1.8 GHz, 512 MB 135 87,75
Technik Intel PIII, 1 GHz, 256 MB 59 24,6
Innrain Intel PIII, 1GHz, 256 MB 44 18,4
Sowi Intel PIV, 1.8 GHz, 512 MB 83 53,95
321 184,7
• Benutzerraum-PCs werden außerhalb der Öffnungszeiten in Clustern organisiert zugänglich gemacht (für Grid- oder lokale Benutzer)
• Clustergröße flexibel (Gruppen sollen angemessenen Cluster bekommen), Vorgabe ist ein Cluster/Benutzerraum
• Verfügbarkeit: Zeittabelle für jeden Cluster• lokales Ressourcenmanagementsystem wählbar (OpenPBS, Condor, SGE)• Maschinen werden nach Bedarf gestartet
Master
Slaves
arch_14
Benutzerräume
Verwaltung,
Informationssystem : Ganglia, MDS
job submission
statusjobs
agridserver
start
Sowi
Technik
Innrain
Wake up on LAN server
Verwaltung
LRM pbsGRIDTIME onMyMaster c703-pc302GMONADDR 239.2.11.71NWS offWOL c703-wol1t9MAUI offADMIN hephy
cluster.conf
c703-pc303 00:08:74:13:6d:25 c703-pc304 00:08:74:13:6e:d9 c703-pc308 00:08:74:13:6f:5e c703-pc309 00:08:74:13:60:6d c703-pc310 00:08:74:13:70:79 c703-pc311 00:08:74:13:6f:64 c703-pc312 00:08:74:13:60:3f c703-pc313 00:08:74:13:6f:18 c703-pc314 00:08:74:13:60:ab c703-pc315 00:08:74:13:65:a6 c703-pc316 00:08:74:13:6e:75 ...
hostparams (PC, MAC-Adresse)
#generated by /usr/site/grid/bin/grid_setup - do not edit!"/C=AT/O=UIBK/OU=ZID/CN=Hong-Linh Truong" cb561000..."/C=AT/O=UIBK/OU=HEPG/CN=Reinhard Bischof/[email protected]" cb561010"/C=AT/O=UIBK/OU=HEPG/CN=Emmerich Kneringer/[email protected]" cb561011
gridmapfile
# TIME DATE WEEKDAY #start / stop | start / stop | start / stop 22:15 7:45 1.10. 31.1. mon sun7:45 22:15 1.10. 31.1. sat sun
Prinzip. Verfügbarkeit: Zeittabelle z.B.
Verwaltung
• Jeder Cluster ist einer (oder mehren) Gruppen zugeordnet, jeweils ein Administrator stellt mit einer zweiten Zeittabelle die tatsächliche Betriebszeit ein, die Tabelle kann von einem Webbrowser aus geändert werden (Authentifizierung mit Zertifikat von der AustrianGrid Zertifizierungsstelle)
• eine Konfigurationsdatei mit Informationen für alle Cluster (z.B. Gruppenreservierung)
• Ein Verwaltungsskript erzeugt daraus die cluster.conf, grid-mapfile, eine Liste für jeden wol server, eine „Nachschauliste“ für die Maschinen (in welchem Cluster bin ich?) und eine html-Datei, die den aktuellen Status der Reservierung angibt (http://agrid.uibk.ac.at/uibk.html)
Cluster Start
• Ausgangssituation: keine für Clusterbetrieb nötige Datei auf PC lokal vorhanden
• Auf Benutzerraummaschinen: in /etc/init.d/grid -> /usr/site/grid/etc/init.d/grid• grid Startskript
– prüft Verfügbarkeit der Maschine für Grid, Clusterzugehörigkeit– kopiert lokal nötige Dateien von netapp server– Konfigurationsdateien für Grid und Ressourcenmanagement-Dienste werden aus
Mustern erzeugt– setzt shutdown cron job (überprüft alle 5 Minuten ob Maschine noch für Grid
verfügbar, aendert firewall– startet daemons
• beim shutdown werden alle lokal kopierten Dateien wieder entfernt (oder spätestens beim nächsten Starten unter Linux)
Weitere Information: agrid.uibk.ac.at
AustrianGrid
• Projektbeginn 1. April 2004• Hardware bis jetzt
– Linz• SCI-Cluster 9 Knoten/18 CPUs• Myrinet Cluster 8 Knoten / 16 CPUs• SGI Altix 3000 128 CPUs• SGI Origin 3800 128 CPUs
– Wien• Cluster Bridge 16*4 CPUs• Cluster Gescher 16 CPUs• 4 kleinere Cluster 18 CPUs• 2. Quartal 2004 Cluster mit 128*1(2)
– Innsbruck • ZIDGrid
• AustrianGrid CA in Wien (noch nicht außerhalb Österreichs anerkannt)• Informationen über Zustand der Cluster (Supercomp) in einem server sammeln
Wie wird ein Cluster im Grid verfügbar
• middleware z.B. Globus Toolkit (auf frontend) – Authentifizierung von Grid Benutzern– grid Benutzer wird lokaler Benutzeraccount zugewiesen (z.B. aus account pool
atlas001 atlas050 )– gridftp sicherer und schneller Datentransfer– Informationssystem: macht Clusterstatus im Grid zugänglich (freie CPUs, Speicher,
OS, ..)• oder evtl. spezielle middleware Pakete (nordugrid, LCG, vdt , Grid2003...) • Hostzertifikat für frontend (z.B. von AustrianGrid CA http://vcpc.ac.at/ca • Entscheidung: welche Zertifizierungsstellen sollen akzeptiert werden (kann
jederzeit erweitert werden)• Benutzer in gridmapfile eintragen• daemons starten (gatekeeper, grid-ftp server, Informationssystem)