< Return to Video

DENOG Meetup 2021-01 - Moodle für BW in 72 Stunden

  • 0:00 - 0:08
    Tim: Ja servus. Guten Abend zusammen. ich
    freue mich dass wir Heute Abend Sebastian
  • 0:08 - 0:13
    Neuner bei uns haben. Er arbeitet seit
    2014 als Netzwerkingenieur bei BelWü - dem
  • 0:13 - 0:19
    Landeshochschulnetz in Baden-Württemberg
    und verbindet damit die Universitäten,
  • 0:19 - 0:24
    Hochschulen und die DHBW sowie sonstige
    wissenschaftliche und öffentliche
  • 0:24 - 0:29
    Einrichtungen und Schulen. Sebastian ist
    dort zuständig für die Planung und Betrieb
  • 0:29 - 0:34
    des Backbone Netzes inklusive der
    optischen Übertragungstechnik IP-Routing,
  • 0:34 - 0:39
    Peering, Policies aber heute abend erzählt
    er uns wie sie zu Beginn des Lockdowns
  • 0:39 - 0:45
    letztes jahr moodel für Baden-Württemberg
    in 72 Stunden gebaut haben. Ich würde
  • 0:45 - 0:52
    sagen, Sebastian die Bühne gehört dir.
    Sebastian: Ja. Dankeschön, Tim. Ja, es
  • 0:52 - 0:58
    wird ein bisschen Storytelling jetzt
    hauptsächlich. Wir haben auch vor noch mal
  • 0:58 - 1:02
    ein technischeres write-up zu machen, wo
    wir ein bisschen genauer darauf eingehen
  • 1:02 - 1:06
    anwelchen Rädchen wir noch wie gedreht
    haben um das eben ganz performant, so
  • 1:06 - 1:10
    performant wie man es eben machen kann auf
    die Beine zu kriegen. Aber das ist, soll
  • 1:10 - 1:14
    jetzt erst mal darum gehen, wie wir das
    quasi im März in einer großen Hauruck-
  • 1:14 - 1:20
    Aktion gewuppt haben. Kurz zu uns. Wir
    sind so 25 Leute ungefähr. Der Tim hat das
  • 1:20 - 1:24
    meiste gerade schon erzählt. Wir haben
    eben Leute die sich ums Netz kümmern, aber
  • 1:24 - 1:27
    wir haben auch Sys-Admins und Leute die
    dann eben noch verschiedene Services
  • 1:27 - 1:33
    betreuen und ja unsere Kernaufgabe ist
    eben dieses Landeshochschulnetz, hier mit
  • 1:33 - 1:37
    einer kleinen Karte zu betreiben . Das
    Ganze gehört nicht zum Kultusministerium,
  • 1:37 - 1:43
    sondern ist nachgeordnet dem Ministerium
    für Wissenschaft und Kunst. Und ja wir
  • 1:43 - 1:47
    bauen und betreiben dieses Netz in enger
    Absprache und Zusammenarbeit mit den
  • 1:47 - 1:51
    Hochschulrechenzentren. Das heißt da gibt
    es verschiedene Gremien in denen man dann
  • 1:51 - 1:55
    eben guckt, ja wie bei einem Ausbau zum
    Beispiel oder bei technischen größeren
  • 1:55 - 2:00
    Änderungen man eben eine Lösung findet die
    technisch für alle gut funktioniert. Wir
  • 2:00 - 2:05
    betreiben dafür so dreieinhalbtausend km
    darkfiber und haben da oben drauf aktive
  • 2:05 - 2:10
    dwdm Systeme das ganze in ungefähr 60
    Knoten. Und ja, wie es der Tim gerade
  • 2:10 - 2:14
    schon angesprochen hat,machen, machen wir
    damit Internet für neun Universitäten 40
  • 2:14 - 2:19
    Hochschulen, aber auch noch für andere
    Sachen, die da am Ministerium dranhängen.
  • 2:19 - 2:26
    Also Museen oder Staatsarchive, aber auch
    so was wie Studentenwohnheime und dazu
  • 2:26 - 2:30
    kommen eben noch Services, die man also
    klassisch als Netzbetreiber , dann
  • 2:30 - 2:34
    vielleicht auch noch irgendwie dabei hat.
    So was wie DNS eben oder E-Mail das sind
  • 2:34 - 2:38
    gerade Sachen die hauptsächlich von
    kleinen Hochschulen viel nachgefragt
  • 2:38 - 2:42
    werden, die es sich eben, also für die es
    sich einfach nicht lohnt selber Personal
  • 2:42 - 2:47
    und Infrastruktur bereitzustellen für
    diese Dienste. Und dann kommt auch noch
  • 2:47 - 2:53
    Webhosting dazu. Das wird hauptsächlich
    von Schulen momentan genutzt. Auch schon
  • 2:53 - 2:58
    seit vielen Jahren. Und es gibt auch
    Moodle bei uns von Schulen oder für
  • 2:58 - 3:02
    Schulen schon seit einigen Jahren. Das ist
    also grundsätzlich nichts Neues gewesen.
  • 3:02 - 3:06
    Es gibt auch noch Internetanschlüsse für
    Schulen da gibt es verschiedene
  • 3:06 - 3:13
    Konstruktionen. Und für dieses ganze Ding
    schießt das Kultusministerium noch bei uns
  • 3:13 - 3:19
    Personal dazu und eben auch Mittel. Das
    heißt dadurch sind wir größer, können
  • 3:19 - 3:22
    flexibler sein. Also man kann sich auch
    gegenseitig mal aushelfen an manchen
  • 3:22 - 3:26
    Stellen hatten wir Know-How im Haus.
    Dadurch haben wir sehr viel Synnergie
  • 3:26 - 3:34
    Effekte und eine hohe Flexibilität. Ja ,
    dann kam Freitag der 13. Wir saßen dann
  • 3:34 - 3:38
    abends in unserer Videokonferenz. Weil man
    konnte ja nirgends hin. Restaurants hatten
  • 3:38 - 3:45
    zu, Kino ging nicht. Das heißt, wir saßen
    dann irgendwie gelangweilt in unserem
  • 3:45 - 3:51
    Jitsi und haben gequatscht und ein Bier
    getrunken und haben uns überlegt, ja wie
  • 3:51 - 3:55
    das jetzt mit den Schulschließungen so
    ist. Das Kultusministerium hatte davor
  • 3:55 - 4:02
    paar Jahren schon angefangen eine große
    Bildungsplattform ja zu beauftragen die
  • 4:02 - 4:06
    sollte Ella heißen das ganze Projekt lief
    aber irgendwie nicht so gut. Wir waren da
  • 4:06 - 4:10
    am Rande beteiligt also nur quasi gar
    nicht beteiligt. Deswegen kann ich euch da
  • 4:10 - 4:14
    keine Details geben. Müsst ihr selber
    googeln. Aber Punkt war jedenfalls an dem
  • 4:14 - 4:18
    Abend war das ganze nicht wirklich
    nutzbar. Das heißt die Schulen mussten
  • 4:18 - 4:21
    irgendwie eine Lösung haben. Der erste
    Schritt war dann dass das
  • 4:21 - 4:26
    Kkultusministerium den Schulen erlaubt hat
    sich nach eigenem Ermessen , also nach
  • 4:26 - 4:30
    nach nach eigenem Wissen und Gewissen
    sozusagen sich eine eigene Lösung zu
  • 4:30 - 4:35
    suchen. Also eigene Lernplattformen sich
    irgendwo einzukaufen oder Microsoft Teams
  • 4:35 - 4:40
    sich zu nutzen oder sowas. Einfach damit
    die schon mal irgendwie eine Möglichkeit
  • 4:40 - 4:44
    haben zu agieren. Gleichzeitig wollte das
    Kultusministerium dafür sorgen, dass alle
  • 4:44 - 4:50
    Schulen irgendwie versorgt sind und
    irgendwie unterstützen. Und unter anderem
  • 4:50 - 4:53
    kam auch bei uns eine Anfrage an, ob wir
    irgendwie unsere Moodle-Plattform und
  • 4:53 - 4:59
    Webhosting-Plattform, die wir bisher schon
    hatten irgendwie hochziehen können auf-,
  • 4:59 - 5:02
    ausbauen können und eben den Schulen die
    jetzt noch nichts haben irgendwie noch was
  • 5:02 - 5:06
    bereitstellen können. Und dann haben wir
    erst gelacht und haben gesagt na ja also
  • 5:06 - 5:12
    normalerweise kommt eine Schule einzeln zu
    uns. Und dann fragen die halt nach einer
  • 5:12 - 5:17
    Domain und nem Moodel und kriegen dann
    noch SSL-Zertifikate. Und in dem Prozess
  • 5:17 - 5:21
    passieren halt einige Schritte von Hand.
    Und normalerweise also wenn man es arg
  • 5:21 - 5:25
    angestrengt hätten hätten wir vielleicht
    so 50 bis 100 pro Tag hingekriegt und die
  • 5:25 - 5:30
    Aufgabe war ja von freitagabend bis Montag
    soll das quasi laufen. Also haben wir
  • 5:30 - 5:34
    irgendwie erst gelacht. Nach dem Motto,
    wie soll das denn gehen? Und dann kam aber
  • 5:34 - 5:38
    der Dennis unser Kollege und meinte, na ja
    also wir haben da noch die Server wir
  • 5:38 - 5:42
    wollten ja irgendwie diese Webhosting-
    Plattform eh neu machen. Und wenn man es
  • 5:42 - 5:47
    mit der heißen Nadel strickt und das alles
    initial irgendwie noch bisschen eng wird,
  • 5:47 - 5:51
    aber er hat es durch gerechnet. Da gibt es
    irgendwie, hat ein großes Spreadsheet
  • 5:51 - 5:55
    gemacht. Das könnte gerade hingehen. Und
    naja wir saßen da und hatten genug
  • 5:55 - 6:00
    Freiwillige. Wir waren irgendwie
    motiviert. Wir hatten irgendwie Bock auf
  • 6:00 - 6:04
    die Challenge. Und haben uns dann überlegt
    okay wir können das vielleicht machen.
  • 6:04 - 6:08
    Aber wollen wir das machen? Also wenn wir
    da jetzt zu sagen oder jetzt anbieten dass
  • 6:08 - 6:12
    wir da helfen dann haben wir irgendwie
    alle in echt beschissenes Wochenende. Und
  • 6:12 - 6:15
    wir haben natürlich ein großes Risiko,
    dass am Ende nicht klappt. Und wenn wir
  • 6:15 - 6:18
    dann sagen wir helfen und das verlassen
    sich Leute drauf und es funktioniert
  • 6:18 - 6:22
    nachher nicht, weil es irgendwo
    Sonntagmittag einen Showstopper gab, dann
  • 6:22 - 6:27
    stehen irgendwie blöd da. Andererseits
    wenn wir jetzt irgendwie sagen hm, ne, hm
  • 6:27 - 6:33
    schwierig, machen wir nicht. Wer macht es
    dann? Also Kultusministerium hat ja nicht
  • 6:33 - 6:38
    nur bei uns angefragt und das hörte sich
    alles nicht sehr hoffnungsvoll an. Und
  • 6:38 - 6:42
    dann haben wir hin und her überlegt haben
    gedacht na ja okay wir versuchen es. Wir
  • 6:42 - 6:48
    bieten mal Hilfe an. Haben dann uns um
    zehn abends beim Kultusministerium noch
  • 6:48 - 6:51
    gemeldet haben gesagt, ja also wir würden
    es versuchen, wir wollen nichts
  • 6:51 - 6:56
    versprechen, aber wir holen alles aus dem
    Keller was noch da ist und versuchen
  • 6:56 - 7:00
    irgendwie Plattformen hochzuziehen. Die
    Ansage war dann, ja okay also manche Leute
  • 7:00 - 7:05
    schlafen jetzt gerade und eine offizielle
    Entscheidung, also die offizielle
  • 7:05 - 7:09
    Beauftragung in aller Förmlichkeit wird
    frühestens Samstag Vormittag passieren.
  • 7:09 - 7:14
    Wir haben dann entschieden Samstag
    Vormittag ist uns zu spät. Wir fangen
  • 7:14 - 7:20
    direkt an. Ich bin dann ins Rechenzentrum.
    Ich habe das kürzeste Streichholz gezogen
  • 7:20 - 7:24
    sozusagen. Ich wohne am nächsten dran.
    Habe die Server, die dann quasi schon da
  • 7:24 - 7:29
    waren, die aber noch nicht in Benutzung
    waren, passend verkabelt . Die waren noch
  • 7:29 - 7:33
    in anderen Topologie. Nebenher während ich
    die Server so nach nach quasi
  • 7:33 - 7:37
    eingeschaltet und verkabelt habe, haben
    die Kollegen dann schon da Systeme drauf
  • 7:37 - 7:42
    installiert und die irgendwie vorbereitet.
    Und die, die Hardware schon mal an den
  • 7:42 - 7:46
    Start gekriegt. Wir haben das Projekt dann
    intern "Ella 3.0" genannt. Und fanden uns
  • 7:46 - 7:52
    sehr, sehr witzig. Und so ging es dann ja
    am Freitag nacht los. Und die Kollegen
  • 7:52 - 7:58
    haben dann quasi noch mal ausgeschlafen
    und haben sich ein Setup überlegt. Und im
  • 7:58 - 8:03
    Prinzip war das halt jetzt nix, nix
    Besonderes. Wir haben halt ein Webhosting
  • 8:03 - 8:07
    Setup gemacht. Das sich irgendwie in
    unsere bisherige Infrastruktur einfügt.
  • 8:07 - 8:11
    Also wir haben jetzt in der Kürze der Zeit
    nicht großartig noch groß neues Setup
  • 8:11 - 8:16
    planen können. Sondern wir haben halt das
    gebaut was wir sonst auch haben. Nur mehr
  • 8:16 - 8:21
    davon. Haben die Server ans Netz gehängt
    und an unser all-flash Storage dran
  • 8:21 - 8:26
    gehängt. Haben dort Linux installiert und
    Virtualisierung machen wir eben mit
  • 8:26 - 8:31
    libvirt und KVM. Und innen drin laufenden
    ja einfach linux VMs. Storage haben wir so
  • 8:31 - 8:36
    gemacht, dass wir die Storages über
    Netzwerk auf dem hypervisor gemounted
  • 8:36 - 8:41
    haben. Und das wird dann, also da liegen
    dann disk images rum und die werden als
  • 8:41 - 8:44
    block device einfach in die VM
    reingereicht. Die VM hat ein ganz normales
  • 8:44 - 8:49
    Filesystem mit block device. Und kann
    caching machen, was ganz wichtig ist in
  • 8:49 - 8:53
    dem Fall für die Performance. Wir haben
    dann jeweils in einer VM 50 Moodels drin.
  • 8:53 - 8:57
    Also wir mussten uns halt irgendwie eine
    Aufteilung überlegen und das war so, wo
  • 8:57 - 9:03
    wir rausgekommen sind. Und da läuft
    einfach quasi ein Apache mit 50 vhosts und
  • 9:03 - 9:09
    ja php-fpm. Also alles nichts Besonderes.
    Klassisches Webhosting im Prinzip. Dann
  • 9:09 - 9:14
    hatten wir noch extra Server, die hatten
    RAM im Terabyte Bereich. Und dicke NVMe-
  • 9:14 - 9:19
    Raids. Und da haben wir uns gedacht, die
    sind ja perfekt eigentlich für
  • 9:19 - 9:23
    Datenbankserver. Haben da ja
    Datenbankserver draufgepackt. Und sehr
  • 9:23 - 9:27
    viel später festgestellt, dass es ist
    nicht so eine optimale Idee war. Haben
  • 9:27 - 9:30
    dass nachher nochmal bisschen umgestrickt
    und haben die Datenbanken mit in die VMs
  • 9:30 - 9:34
    reingezogen. Aber da komme ich gleich noch
    mal drauf. Und ja das Moodel kriegen wir
  • 9:34 - 9:38
    quasi fertig von Kollegen im
    Kultusministerium das ist ne
  • 9:38 - 9:43
    Basisinstallation, die mit einigen, vielen
    Plugins gebündelt ist. Wir deployen das
  • 9:43 - 9:48
    quasi so fertig, wie es kommt. Am Anfang
    hatte jedes Moodel nur 20 Gigabyte Disk.
  • 9:48 - 9:53
    Das ist ziemlich wenig. Aber für die
    ersten Tage hat es gehalten und später
  • 9:53 - 9:57
    haben wir neben Storage nachgelegt und
    konnten das Ganze dann ja vergrößern. Wir
  • 9:57 - 10:01
    könnten das ganze noch mit Snapshots und
    Backups ausstatten. Das heißt die ersten
  • 10:01 - 10:05
    paar Tage war es wirklich mit ner so
    heißen Nadel gestrickt, dass es auch keine
  • 10:05 - 10:11
    Backups gab. Bis so nach paar Tagen bis
    ner woche. Caching haben wir anfangs mit
  • 10:11 - 10:14
    mcash, memcached probiert. Das lief
    irgendwie nicht so gut. Hatten aber auch
  • 10:14 - 10:18
    keine Zeit wirklich genauer zu debuggen.
    Es musste schnell gehen. Haben dann APCUc
  • 10:18 - 10:23
    ausprobiert. Das kann ein Moodle
    aktivieren und das funktionierte sehr gut.
  • 10:23 - 10:29
    Und ja später im Laufe des Jahres oder
    Ende des Jahres kam dann irgendwann noch
  • 10:29 - 10:34
    Redis für Session Caching dazu. Ja Samstag
    stand im Prinzip das Setup, wie es
  • 10:34 - 10:39
    aussehen soll. Da waren dann ganz viele
    Baustellen zu tun. Ganz, es ging in ganz
  • 10:39 - 10:43
    viele Richtungen gleichzeitig. Also das
    lief quasi alles parallel. Angefangen bei,
  • 10:43 - 10:48
    welche Schulen gibt es überhaupt? Wie
    heißen die? Wo sind die? Was haben die für
  • 10:48 - 10:52
    eine Dienststellen E-Mail Adresse? Da hat
    das Kultusministerium ein großes
  • 10:52 - 10:55
    Spreadsheet gehabt. Wir haben dann das
    Excel-Sheet in irgend ein sinnvolles
  • 10:55 - 10:59
    Dateiformat umgewandelt und haben dann
    damit weiter gearbeitet. Haben damit quasi
  • 10:59 - 11:04
    Ansible befüllt. Haben uns Zugangsdaten
    für die Moodles also Initial-Admin
  • 11:04 - 11:07
    Accounts und Datenbank,
    Datenbankpasswörter generiert und so
  • 11:07 - 11:12
    weiter. Jemand musste sich noch um Storage
    kümmern. Jemand musste sich noch um
  • 11:12 - 11:17
    Netzwerk und IP-Adressen für die ganzen
    VMs kümmern. Die Moodle Installation
  • 11:17 - 11:21
    musste irgendwie automatisiert werden. Wir
    konnten da auf ziemlich viel zurückgreifen
  • 11:21 - 11:25
    was wir hatten, aber der das Ziel war
    natürlich das muss irgendwie 4000 mal
  • 11:25 - 11:28
    laufen ohne dass jemand irgendwo was
    anfasst. Ohne dass jemand eine Domain
  • 11:28 - 11:31
    irgendwo von Hand anlegt oder so weil
    sonst geht es in der Kürze der Zeit
  • 11:31 - 11:35
    einfach nicht. Wir haben dann einfach mal
    noch kurz paar 1000 Domains hier als
  • 11:35 - 11:40
    Subdomain von moodle.belwue.de angelegt.
    Immer mit der Dienststellenadresse vorne
  • 11:40 - 11:46
    dran sozusagen, als primary key. Ja und so
    musste das dann halt laufen. Für
  • 11:46 - 11:49
    Monitoring nutzen wir generell viel
    Prometheus und Grafana das heitßt, da
  • 11:49 - 11:52
    haben wir noch mal eine separate Instanz
    dazu gestellt die eben auf das Web Cluster
  • 11:52 - 11:58
    zugeschnitten war und dann da eben geguckt
    hat was funktioniert und was funktioniert
  • 11:58 - 12:03
    nicht. Sonntag ging es dann im Prinzip so
    weiter das nahm dann so nach und nach Form
  • 12:03 - 12:07
    an aber wir haben dann gegen ganz viele
    Kleinigkeiten gekämpft. Also sowas wie,
  • 12:07 - 12:10
    wenn man 4000 Moodles gleichzeitig
    installiert und das Ansible holt
  • 12:10 - 12:14
    irgendwelche sachen vom git-Server dann
    fängt der arme git-Server so ein bisschen
  • 12:14 - 12:18
    an zu brennen. Das heißt, da mussten wir
    dass irgendwie in Badges einteilen.
  • 12:18 - 12:21
    Gleichzeitig gingen dann irgendwie bei der
    Installation die Datenbanken kaputt, weil
  • 12:21 - 12:25
    es irgendwelche Timeouts gab. Das heißt,
    man musste dann gucken welche haben nicht
  • 12:25 - 12:29
    sauber deployed. Das alles nochmal
    wegwerfen, alles noch mal von vorne
  • 12:29 - 12:35
    machen. SSL-Zertifikate, 4000 Zertifikate
    irgendwo einzeln beantragen geht natürlich
  • 12:35 - 12:39
    auf gar keinen Fall. Wir haben dann
    überlegt was wir machen.Let's Encrypt
  • 12:39 - 12:43
    Zertifikate wäre auch nicht gegangen. Da
    gibt es Ratelimits. In die wären wir
  • 12:43 - 12:46
    reingelaufen. Und was wir dann gemacht
    haben war, naja Let's Encrypt
  • 12:46 - 12:50
    Sternchenzertifikat für die ganze
    Subdomain erstmal da überall reinpacken,
  • 12:50 - 12:54
    passt schon. Kümmern wir uns nächste Woche
    drum. Also es muss jetzt erstmal irgendwie
  • 12:54 - 12:59
    bis Montagfrüh irgendwie laufen. Genau
    dann irgendwann war Netzwerk fertig. Das
  • 12:59 - 13:03
    heißt der Teil, wo ich helfen konnte lief
    und ich habe dann halt ein bisschen
  • 13:03 - 13:07
    angefangen Monitoring Dashboards zu bauen,
    damit die Kollegen wissen was tut und was
  • 13:07 - 13:11
    tut nicht. Und wo gibt es noch zu tun und
    wo ging was schief. Und eine andere Frage,
  • 13:11 - 13:15
    die wir dann noch klären mussten, war, wer
    macht überhaupt Support für das Ganze?
  • 13:15 - 13:17
    Also wir können vielleicht ein bisschen
    technisch, wenn es irgendwie gar nicht
  • 13:17 - 13:20
    funktioniert, können wir natürlich rein
    gucken und sagen okay da habt ihr
  • 13:20 - 13:24
    irgendwie was verkonfiguriert oder so.
    Also technisch können wir da vielleicht
  • 13:24 - 13:28
    Support machen, aber es gibt ja dann
    nachher noch hunderteLehrer, die dann
  • 13:28 - 13:33
    nachher das benutzen müssen und die dann
    vielleicht irgendwie Probleme damit haben.
  • 13:33 - 13:38
    Und den Teil hat dann das Zentrum für
    Schulentwicklung und Lehrerfortbildung,
  • 13:38 - 13:41
    also Lehrerfortbildung BW hat es dann
    übernommen. Die machen einen wirklich
  • 13:41 - 13:45
    guten Job. Die machen da, stellen ganz
    viele tolle Materialien bereit und machen
  • 13:45 - 13:49
    Videokonferenzen mit den Lehrern und
    zeigen dass denen. Und die haben nachher
  • 13:49 - 13:54
    auch Big-Blue-Button hochgezogen.
    Mittlerweile in einer wahnsinnig riesigen
  • 13:54 - 14:00
    Installation mit hunderten Servern mit
    100000en gleichzeitigen Clients in der
  • 14:00 - 14:07
    Videokonferenz. Also wirklich, Hut ab. Am
    Montag war dann die Deadline. Und wir
  • 14:07 - 14:14
    hatten drei 3948 neue Moodles installiert
    und bis auf 62 Stück waren auch alle
  • 14:14 - 14:20
    funktional. Das heißt, sagen wir mal 99%
    Mission Accomplished. Wir waren riesig
  • 14:20 - 14:25
    froh bei den 62 Stück musste man noch mal
    von Hand angucken. Die hatten noch
  • 14:25 - 14:28
    verschiedene Probleme, aber im
    Wesentlichen lief das Ganze rund. Und dann
  • 14:28 - 14:33
    hatten wir noch wie gesagt vorher schon
    lange Moodle und das waren so 1100
  • 14:33 - 14:39
    Bestands Moodle. Das heißt so knappe 5000
    Moodle hatten wir dann. Das neue
  • 14:39 - 14:44
    Deployment war initial, ja so was halt da
    war und die Woche über und die nächsten
  • 14:44 - 14:48
    Wochen über kam dann immer mehr und mehr
    Hardware dazu. Aber das war jetzt mal so
  • 14:48 - 14:52
    der Stand vom Montag. Außerdem war der
    Stand, dass ein paar Leute irgendwie echt
  • 14:52 - 14:57
    dringend Schlaf gebraucht haben. Ja und so
    fing unsere Arbeitswoche am Montag dann
  • 14:57 - 15:01
    an. Und Dienstag haben wir dann gespannt
    auf die Graphen geguckt. Das war der erste
  • 15:01 - 15:05
    Tag der Schulschließungen und auf dem
    neuen Cluster passierte irgendwie nix. Wir
  • 15:05 - 15:08
    haben erst gegrübelt und irgendwann wurde
    uns dann klar naja ok klar die haben jetzt
  • 15:08 - 15:11
    erstmal ihre Admin Accounts. Die müssen
    jetzt erst mal das ganze Kollegium mit
  • 15:11 - 15:15
    Accounts versorgen und dann die Schüler.
    Und müssen sich vielleicht noch
  • 15:15 - 15:19
    einarbeiten und Material hochladen und so.
    Und die folgenden Tage wurde es auch so
  • 15:19 - 15:22
    nach und nach ein bisschen mehr, aber am
    Anfang war nicht so viel los. Das Problem
  • 15:22 - 15:27
    waren jetzt aber die Moodles von den
    Bestandskunden. Weil die hatten Accounts.
  • 15:27 - 15:30
    Die wussten wie es funktioniert. Die sind
    Mittwo.. Dienstag einfach zu Hause
  • 15:30 - 15:35
    geblieben. Haben ihren Laptop aufgeklappt
    und konnten sofort voll einsteigen. Und
  • 15:35 - 15:38
    damit hatten hatten wir natürlich auch
    gerechnet. Wir haben dafür gesorgt dass
  • 15:38 - 15:44
    überall genug - dachten wir - genug Platz
    da ist. Also irgendwie Lastfaktor 5 wäre
  • 15:44 - 15:47
    irgendwie noch Luft gewesen. Wir haben da
    irgendwie reingeguckt, da war nicht so
  • 15:47 - 15:50
    viel los. Und wir dachten ja die benutzten
    die, also hatten die ja vorher auch schon
  • 15:50 - 15:56
    benutzt. So schlimm wird es nicht werden.
    Aber die Server haben dann tatsächlich am
  • 15:56 - 16:00
    Mittwoch glaube ich die 20-fache Last wie
    sonst gesehen. Und da waren wir dann
  • 16:00 - 16:04
    schwer beschäftigt damit mehr Ressourcen
    zuzuteilen. Die VMs zu vergrößern. Mehr
  • 16:04 - 16:09
    Hardware dazu zu bauen. Neuere Hardware
    dazu zu bauen. Also Teile von dem alten
  • 16:09 - 16:13
    Webhosting liefen eben noch auf ein paar
    wenigen Sun-Servern, die noch von früher
  • 16:13 - 16:17
    übrig waren. Die haben wir dann durch
    Linux ersetzt, so schnell wie es geht.
  • 16:17 - 16:20
    Kollege hat irgendwie noch aus
    Einzelteilen, die im Lager waren nochmal
  • 16:20 - 16:23
    einen funktionierenden Server
    zusammengebaut und natürlich neue
  • 16:23 - 16:28
    bestellt. Und nachdem wir dann irgendwann
    die ganzen VMs groß genug vergrößert
  • 16:28 - 16:31
    hatten und die alle schön, auf die, auf
    die Server die wir hatten, verteilt
  • 16:31 - 16:34
    hatten, hat es auch einigermaßen
    funktioniert. Das heißt die ersten paar
  • 16:34 - 16:38
    tage war es irgendwie echt blöd und so
    nach und nach lief's für die
  • 16:38 - 16:42
    Bestandskunden dann auch immer besser und
    ja also dann nach ein bis zwei Wochen
  • 16:42 - 16:47
    lief's eigentlich relativ rund. Hier habe
    ich noch so 'nen kleinen Screenshot von
  • 16:47 - 16:51
    einem Monitoring von so'm Bestandsmoodle.
    "For all resources, whatever it is, you
  • 16:51 - 16:58
    need more." Man sieht da, ich hab das
    schon mal, in dem CPU-Graphen unten links
  • 16:58 - 17:03
    einen kleinen Aussetzer, da wurde die VM
    schon mal vergrößert, das war, glaube ich,
  • 17:03 - 17:07
    der Sonntag, da war schon relativ viel
    Last drauf, weil die Lehrer dann
  • 17:07 - 17:13
    angefangen haben, da Sachen hochzuladen
    und, ich glaub', der Montag war es und das
  • 17:13 - 17:16
    hat dann aber auch am Mittwoch wieder
    nicht mehr gereicht, das heißt,am Mittwoch
  • 17:16 - 17:20
    wurde die VM noch mal verdoppelt und also
    kurz nachdem dieser Screenshot aufgenommen
  • 17:20 - 17:25
    wurde, lief's dann auch da rund. Wie
    gesagt, eine kurze Zeit lang war es echt
  • 17:25 - 17:30
    schlecht, aber dann nach ein paar Tagen
    hatten wir das im Griff. Ja, die folgenden
  • 17:30 - 17:35
    zwei Wochen da kam dann immer mehr Last
    auf das neue Cluster drauf und da haben
  • 17:35 - 17:38
    dann bemerkt, dass die zwei großen dicken
    Datenbankserver langsam zum Problem
  • 17:38 - 17:43
    werden. Konkret sind wir hier in
    Connection-Limits reingelaufen und egal
  • 17:43 - 17:47
    wie groß man die gemacht hat, die wurden
    immer gehittet und vor Allem auch mit
  • 17:47 - 17:51
    stale Connections, also diese Moodles
    machen einen Haufen PHP-Cronjobs, machen
  • 17:51 - 17:56
    da ganz viele Sachen und es passiert immer
    wieder, dass mal was in Timeouts läuft und
  • 17:56 - 18:01
    dann bleiben da einfach Datenbank-
    Connections hängen und ja das verstopft
  • 18:01 - 18:04
    dann irgendwann nach und nach die
    Datenbank. Wir haben dann, wie gesagt, mit
  • 18:04 - 18:07
    Parameter-Tuning einiges machen können,
    aber irgendwann ging's halt nicht mehr so
  • 18:07 - 18:11
    gut weiter und wir haben dann beschlossen
    die Datenbank-Server in die virtuellen
  • 18:11 - 18:15
    Maschinen mit reinzuziehen einfach damit
    wir mehr DB-Server haben und dass das
  • 18:15 - 18:20
    besser verteilt. Wir haben dann auch ein
    bisschen DoS gesehen und ja wirklich, wir
  • 18:20 - 18:25
    können unterscheiden von jemandem drückt
    F5 zu einem NTP-Amplification-DDoS, da
  • 18:25 - 18:29
    gibt es immer wieder ein bisschen
    schnippische Kommentare. Können wir schon
  • 18:29 - 18:33
    unterscheiden. Das meiste war Kleinvieh,
    haben wir irgendwie gar nicht groß bemerkt
  • 18:33 - 18:38
    oder uns nicht dran gestört. Also
    Amplification-Geschichten, die sind easy
  • 18:38 - 18:43
    weggefiltert. Es gab aber auch dann ab un
    d zu mal Application-Layer-DDoS, wo jemand
  • 18:43 - 18:47
    tatsächlich ein bisschen tiefer im System
    Last gemacht hat und auch an den Filtern
  • 18:47 - 18:51
    vorbeikam, das war ein bisschen ätzend,
    kam aber zum Glück sehr selten nur vor
  • 18:53 - 18:59
    Feedback gab es vor allem von den von der
    Presse dann zuerst also diese 100 ich sage
  • 18:59 - 19:02
    mal so Größenordnung 100 Moodles, die
    tatsächlich Probleme hatten, wegen
  • 19:02 - 19:06
    Überlastung die haben sehr viel Medienecho
    bekommen. Das war auch ein bisschen
  • 19:06 - 19:10
    schade, dass ausgerechnet hier die
    Bestandskunden, die es schon lange benutzt
  • 19:10 - 19:14
    hatten und sich damit auskannten Probleme
    hatten, das hat sehr viel negatives
  • 19:14 - 19:17
    Medienecho bekommen. 'n bisschen unfair
    war vielleicht, dass dann irgendwie zwei
  • 19:17 - 19:21
    Wochen später immer noch die DPA-Meldung
    von zwei Wochen vorher ge-copy-pasted war,
  • 19:21 - 19:26
    wo es aber schon lange wieder im Griff
    war. Die paar tausend Instanzen, die gut
  • 19:26 - 19:32
    funktioniert haben, die haben nicht so
    interessiert. Was cool war, dass vom
  • 19:32 - 19:36
    Kultusministerium dann am ende für uns
    einzeln und persönlich Dankesschreiben
  • 19:36 - 19:41
    kamen, wo man sich in aller Förmlichkeit
    bedankt hat, das hat uns sehr gefreut an
  • 19:41 - 19:45
    diesem Wochenende auch in den Tagen danach
    haben uns schon das ein oder andere Mal
  • 19:45 - 19:49
    gefragt, warum wir uns den Mist angetan
    haben und das hat dann richtig gut getan.
  • 19:49 - 19:54
    Wir haben auch sehr viel Dank und Lob von
    den Schulen bekommen, also E-Mails aber
  • 19:54 - 19:59
    sogar auch Postkarten und sogar von ein
    paar Schulen Pakete voll mit Schokolade,
  • 19:59 - 20:04
    was uns sehr freut. Schokolade, wenn sie
    bei uns vom Tisch fällt, berührt den Boden
  • 20:04 - 20:09
    nicht. Die muss sofort weg. Ja, also das
    hat uns riesig gefreut. Momentan ist der
  • 20:09 - 20:12
    Status so: Ich habe hier noch mal ein
    Bild, dass ist irgend so ein Teil von der
  • 20:12 - 20:17
    alten Webhosting-Plattform, die ist über
    den Sommer rausgeflogen jetzt und wurde
  • 20:17 - 20:25
    durch modernere, platz- und
    stromsparendere Dinge ersetzt. Wir haben
  • 20:25 - 20:29
    technischen austausch gehabt mit den
    Kollegen in Berlin und im Saarland und in
  • 20:29 - 20:33
    Rheinland-Pfalz. Vor allem die Kollegen in
    Berlin konnten einiges weiter helfen mit
  • 20:33 - 20:39
    schlauen Datenbank-Indizes und Patches im
    Code, der das ganze noch ordentlich nach
  • 20:39 - 20:45
    vorne gebracht hat, großen Dank an der
    Stelle! An den Moodles haben wir so übers
  • 20:45 - 20:47
    Jahr noch einige Sachen verbessert, also
    wir
  • 20:47 - 20:51
    haben die Redis-Session-Cache dazu gebaut,
    es gibt eine Funktion, die YUI-Combo-
  • 20:51 - 20:54
    loading heißt. Wie gesagt, wir machen da
    vielleicht noch ein Write-Up, weil es doch
  • 20:54 - 20:57
    eine große Community gibt die Moodle
    einsetzt sind die sich dafür interessiert.
  • 20:58 - 21:03
    Combo-loading so ein Ding das Javascript
    zusammenfasst und zusammen ausliefert. Das
  • 21:03 - 21:07
    macht sehr viel weniger Requests auf dem
    Webserver und die kann man auch gut cachen
  • 21:07 - 21:12
    dann. Und mehr php-worker da haben wir ein
    bisschen dran getuned, mehr Datenbanken
  • 21:12 - 21:16
    habe ich gerade schon erwähnt. Wir haben
    mittlerweile mehrere Lagen DDOS-Protection
  • 21:16 - 21:22
    und nächste Woche oder so kommt dann auch
    noch mal ein bisschen mehr Storage dazu.
  • 21:22 - 21:26
    Das wird auch irgendwann mal voll.
    Deswegen sind wir da gerade auch dabei das
  • 21:26 - 21:31
    Storage zu upgraden. Ja so ein To-Do dass
    wir noch auf der Liste haben. Das mit dem
  • 21:31 - 21:35
    Apache war halt so eine Sache von wegen
    unsere ganze Automatisierung hat das so
  • 21:35 - 21:40
    drin. Wir machen das jetzt halt mal so. Es
    gibt aber mit nginx eine Funktion die
  • 21:40 - 21:44
    heißt x-Accel-Redirect, die wir dann
    nutzen könnten. Mit der man auch noch mal
  • 21:44 - 21:47
    einige Prozent Performance herausholen
    kann. Das steht dann vielleicht noch mal
  • 21:47 - 21:53
    irgendwann auf dem Plan. Und ja der Moodle
    Code hat auch Optimierungspotenzial und
  • 21:53 - 21:56
    wir planen gerade so ein bisschen dass wir
    da rein gucken. Bisschen, ein bisschen
  • 21:56 - 22:02
    Analyse machen und auch es vielleicht
    hinkriegen dass wir jemand haben der den
  • 22:02 - 22:05
    Moodle Code selber ein bisschen optimiert.
    Weil an vielen Stellen kann man halt
  • 22:05 - 22:09
    irgendwie Server dazu werfen und noch mehr
    Server dazu werfen. Wenn die Software halt
  • 22:09 - 22:12
    an einigen Stellen ab und zu mal hakt,
    dann kann man so viele Server haben wie
  • 22:12 - 22:18
    man will. Ja. Lessons Learned: Eigene
    Infrastruktur und eigenes Know-How sind
  • 22:19 - 22:23
    unersetzbar. Also wir waren ja nicht die
    Einzigen und nicht die Ersten bei denen
  • 22:23 - 22:27
    angefragt wurde das zu machen. Und wir
    hatten halt die Infrastruktur da. Und wir
  • 22:27 - 22:32
    hatten die Leute da die das können und die
    das seit einiger Zeit betreiben. Ohne das
  • 22:32 - 22:38
    wäre es nicht gegangen in der Kürze der
    Zeit. Dann das Team. Also das waren alles
  • 22:38 - 22:43
    Freiwillige. Wir haben niemanden gezwungen
    und wir haben auch darauf geachtet dass
  • 22:43 - 22:47
    alle das freiwillig machen und es war im
    Mix genau richtig. Also bei allen
  • 22:47 - 22:50
    Problemen bei allen Themen, die wir
    hatten, war immer irgendwie jemand da, der
  • 22:50 - 22:54
    gesagt hat, ah ja hatte ich schon mal kann
    ich mich drum kümmern. Das war genau
  • 22:54 - 22:56
    richtig. Und ich glaube, wenn wir ein,
    zwei Leute weniger gehabt hätten, hätten
  • 22:56 - 23:01
    wir sicher irgendwo nen Showstopper
    gehabt. Wichtig war auch noch das
  • 23:01 - 23:06
    selbstorganisierte Team. Das ging einfach
    sehr schnell und auf dem kurzen Weg, dass
  • 23:06 - 23:09
    wir uns einfach zusammen gesetzt haben und
    jeder hat halt das gemacht was er was er
  • 23:09 - 23:14
    gut kann, wo er sich auskennt. Und genauso
    die Kommunikation wir waren quasi die
  • 23:14 - 23:19
    ganze Zeit und auch Tage später noch im
    Jitsi in der Videokonferenz. Also ich
  • 23:19 - 23:21
    glaube wir hatten einen Jitsi Raum der
    irgendwie drei Wochen am Stück offen war.
  • 23:21 - 23:27
    Und man konnte da halt dann auf dem kurzen
    Weg einfach mal was sagen wenn es
  • 23:27 - 23:30
    irgendein Thema gab . Oder mal kurz was
    diskutieren. Und ansonsten war da halt
  • 23:30 - 23:36
    Funkstille und das hat eigentlich ganz gut
    funktioniert so. Auch nach außen ist die
  • 23:36 - 23:39
    Kommunikation sehr wichtig. Wir sind
    normalerweise gerade als Forschungsnetz
  • 23:39 - 23:44
    sehr offen und kommunizieren auch
    normalerweise mit technischen Details. Und
  • 23:44 - 23:47
    es gibt auch immer wieder sehr viel
    positives Feedback. Die Leute freuen sich
  • 23:47 - 23:51
    darüber dass wir da irgendwie auch mal
    eine Ansage machen. Also auch Laien, die
  • 23:51 - 23:54
    dann vielleicht nicht genau verstehen, um
    was es da geht. Man muss dann halt noch
  • 23:54 - 23:58
    mal ein erklärenden Satz zu schreiben. Das
    ist nicht immer einfach. Aber die haben
  • 23:58 - 24:01
    dann schon mal irgendwie ein Verständnis
    von, da passiert irgendetwas, da kümmert
  • 24:01 - 24:05
    sich jemand und da weiß jemand was er tut.
    Und Leute die sich auskennen sind
  • 24:05 - 24:09
    natürlich um Feedback, also um technische
    Details immer so, umso dankbarer. Wenn ihr
  • 24:09 - 24:14
    dann auch ein bisschen Verständnis dafür
    kriegen dass da, was da so passiert. Genau
  • 24:14 - 24:19
    das war es so von mir. Danke fürs Zuhören
    Schreibt mir eine Mail. Ich bin nachher
  • 24:19 - 24:22
    auch noch für das Q&A da und ansonsten
    freue ich mich auf die lustige
  • 24:22 - 24:31
    Pausenmusik. Dankeschön.
    Tim: Ja, Sebastian. Vielen Dank für deinen
  • 24:31 - 24:36
    Vortrag. Das, also absolut krass. Weiß ich
    überhaupt nicht wie man das in Worte
  • 24:36 - 24:41
    fassen soll, was ihr da als Team in kurzer
    Zeit auf die Bühne gestellt habt.
  • 24:41 - 24:46
    Spannende Frage aus dem Chat war
    natürlich: Wem habt ihr denn die Server
  • 24:46 - 24:50
    geklaut? Für wen waren die eigentlich
    gedacht? Und Strom kommt aus der
  • 24:50 - 24:52
    Steckdose? Oder hat ihr so ein großes
    Rechenzentrum, dass man da einfach
  • 24:52 - 24:58
    beliebig hoch skalieren kann?
    Sebastian: Ja, die Server haben wir uns
  • 24:58 - 25:01
    selber geklaut. Das war tatsächlich
    geplant für dieses Jahr, also für letztes
  • 25:01 - 25:05
    Jahr, dass wir die Webhosting Plattform
    mal modernisieren und das der Kram eh
  • 25:05 - 25:10
    rausfliegt, der alte Sun Kram. Wir hatten
    eigentlich geplant so ein Container Setup
  • 25:10 - 25:14
    zu bauen. Da gab es aber irgendwie noch
    mal einen Showstopper und wir mussten das
  • 25:14 - 25:17
    ganze Setup noch mal ein bisschen
    überdenken. Und das kam quasi genau
  • 25:17 - 25:22
    zeitlich dahin, wo wir dann die Server
    dastehen hatten, aber noch nicht genau die
  • 25:22 - 25:27
    Details ausgekaspert hatten und die dann
    quasi direkt verwenden konnten. Ja. Zum
  • 25:27 - 25:32
    Platz: Wir haben wir haben
    Rechenzentrumsplatz und das mit dem Strom
  • 25:32 - 25:35
    ist tatsächlich dann irgendwann auch mal
    ein Thema, wenn man so viele Server dann
  • 25:35 - 25:39
    rein schmeißt. Aber da war es ganz gut,
    dass dann irgendwann die Sun Server
  • 25:39 - 25:42
    rausgekommen sind, weil die brauchen ein
    paar kW pro Stück da kann man ein paar
  • 25:42 - 25:49
    Linux Bleche rein tun.
    Tim: Ja. Super. Es kamen noch ein paar
  • 25:49 - 25:54
    weitere Fragen. Ich guck schon ein
    bisschen auf die Uhr . Ich würde mal noch
  • 25:54 - 25:59
    eine anreißen. Monitort ihr auch das
    Netzwerk mit Prometheus oder lasst ihr das
  • 25:59 - 26:03
    nur auf die Server Dienste los? Wir hatte
    ja so ein paar Dashboards gesehen, die
  • 26:03 - 26:05
    dann hauptsächlich sich auf die Server
    bezogen haben.
  • 26:05 - 26:11
    Sebastian: Ja, wir machen ziemlich viel
    mittlerweile mit Prometheus. Also wir
  • 26:11 - 26:14
    hatten früher so nix aus verschiedenen
    Dingen. Also zuletzt hatten wir für
  • 26:14 - 26:18
    Netzwerk libreNMS groß im Einsatz.
    Mittlerweile machen wir sehr viel mit
  • 26:18 - 26:23
    Prometheus. Weil es sehr flexibel ist,
    weil es ja Exporter für alles Mögliche
  • 26:23 - 26:29
    gibt. Und also auch Netzwerk gehört dazu.
    Tim: Ok. Ja vielen Dank. Es waren noch 2,
  • 26:29 - 26:36
    3 weitere Fragen. Ich würd dir die einfach
    dann noch später schicken für deinen
  • 26:36 - 26:41
    technical Write-Up. Man findet den
    Sebastian auch auf Twitter. Er ist auch im
  • 26:41 - 26:46
    DENOG Twitter Feed entsprechend verlinkt.
    Oder ansonsten habt ja auch auf den Slides
  • 26:46 - 26:50
    seine E-Mail Adresse oder er ist noch im
    Chat unterwegs, wo ihr ihn gerne noch
  • 26:50 - 26:53
    ansprechen könnt. Vielen Dank, Sebastian.
    Sehr cooler Vortrag.
  • 26:53 - 26:55
    Sebastian: Dankeschön.
  • 26:55 - 26:57
    Untertitel erstellt von c3subtitles.de
    im Jahr 2021. Mach mit und hilf uns!
Title:
DENOG Meetup 2021-01 - Moodle für BW in 72 Stunden
Description:

more » « less
Video Language:
German
Duration:
26:57

German subtitles

Incomplete

Revisions Compare revisions