Feature #191
SLX-Online-DEMO
| Status: | Erledigt | Start date: | ||
|---|---|---|---|---|
| Priority: | Hoch | Due date: | ||
| Assignee: | dvs | % Done: | 0% |
|
| Category: | konzept | |||
| Target version: | Visionen ;) | |||
| Resolution: | worksforme |
Description
Damit Interessierte (mit passender Bandbreite) unser Zeugs möglichst ohne viel Aufwand ausprobieren können, schwebt mir eine CD-Boot-Lösung der folgenden Form vor:
1. Booten von einer CD/DVD oder geeignetem Medium, welches einen Spezialkernel (nicht aufregend aber mit "kexec") und spezielles [[InitRamFS]] (mit vielen unterstützten Netzwerkkarten)
2. Herunterladen von einer Auswahl verfügbarer Systeme, Auswahl dem User anbieten (kann im ersten Schritt noch entfallen, wenn es nur ein System gibt)
3. Herunterladen des (gewählten) System-Kernels, der System-InitRamFS und nachschauen, ob die Maschine schonmal da war (d.h. es existiert bereits ein [[ConfTGZ]]; alles per wget Applet der Busybox)
4. Wenn Maschine schon da, gleich neuen Kernel, neues [[InitRamFS]] anbooten und dann im üblichen Konfigurationsschritt das [[ConfTGZ]] laden (dazu sollte das entsprechende "file=!http://server-ip/pfad-zum-ConfTGZ" in der Kernel Commandline stehen.)
5. Sonst User nach Config fragen:
a. gewünschtes Root-Passwort
b. ID für einen unprivilegierten User mit Passwort
c. weitere Sachen (welche Dienste starten etc.)
6. Die erzeugte Konfiguration nach unseren Standards einpacken und auf unseren Server hochladen (auch per wget)
7. Anschließend wie 4. weiterbooten ...
History
#1 Updated by dvs about 4 years ago
Es gibt jetzt eine erste Demo mit einer aktuellen OpenSuSE10.3. Das Passwort für das System: OpenS1X ... Bootzeit vom CD-Start bis zum KDM-Login 120sek. dd-Test (Lesen von 10MByte aus /dev/nbd0) zeigte ein IO von ca. 150-200kByte/sek.
#2 Updated by dvs about 4 years ago
Interessant werden hier evtl. wieder Konzepte wie Preload/Prefetch, siehe #43 ... So dauert der Start des Firefox mal lässige 75sek. :( Beim zweiten Aufruf sind es hingegen nur noch 3sek.
#3 Updated by dvs about 4 years ago
Derzeit besteht noch ein Problem mit dem VGA-Buffer. Wenn auch der zweite Kernel mit "quiet" gestartet wird, taucht plötzlich wieder das ISO-Auswahlmenü auf.
#4 Updated by dvs about 4 years ago
Messungen mit hdparm in einer lokalen Umgebung (Gigabit) kamen auf 22MByte/sek. Das ist dann ordentlich fix. Aber schon größere Entfernungen scheinen sich negativ auszuwirken ...
#5 Updated by dvs about 4 years ago
Verbesserungen mit DNBD2 (schnellerer Start: 1:33 zu 2:00), Read-Ahead bei NBD bringt etwas Verbesserung, siehe r1590. ... und der Durchsatz mit hdparm in 100Mbit/s steigt auf "realistische" 10.5MB/sek.
#6 Updated by dvs about 4 years ago
- 4200kbit/s max. für NBD
- 5100kbit/s max. für DNBD2 (dabei schnellerer Start von System und Apps)
- 13500kbit/s für FTP auf denselben Server aus dem gestarteten System heraus
... da ist irgendwie noch ordentlich Platz in der Leitung.
#7 Updated by dvs about 4 years ago
Vorteil des DNBD2 - den stören meine DSL-Abbrüche (=IP-Wechsel) nicht. Da ist NBD deutlich kritischer ...
#8 Updated by dvs about 4 years ago
NFS-Tests stehen noch aus ... Nächster Versuch - verkleinern der Blockgröße vom SquashFS auf 4kByte, damit nicht soviele Päckchen für ein Block notwendig sind ...
#9 Updated by dvs about 4 years ago
Eine kleinere Blocksize (4kByte im Test) verschlechterte das Ergebnis von DNBD2 leicht und von NBD erheblich. Also erstmal wieder der Default-Wert (vorgegeben durch mksquashfs) von 64kByte.
#10 Updated by dvs about 4 years ago
- Boottime: DNBD2 44, NBD 45, NFS 58sek.
- Datenmenge: DNBD2/NBD ~54MB down, ~1MB up; NFS 83 down, 3 up
#11 Updated by dvs about 4 years ago
- Status changed from Neu to Erledigt
- Resolution set to worksforme
Soweit funktionstüchtig, mit aktuellem kexec funktioniert auch der Neustart des Hauptkernels (r1599). Kompakter/unabhängig durch uClib-Umgebung, siehe auch #196. Bisher nur i586 - könnte aber für den Zweck vollauf genügen, da Kernel, Programme der Preboot-Umgebung für Hauptumgebung komplett ersetzt werden. Für Boot-Optimierungen siehe #197 ...
#12 Updated by lmuelle about 4 years ago
Zwecks Optimierung müssen wir gegebenenfalls identifizieren, an welcher Stelle es klemmt.
Dazu bringen wird den Server und ein System, das im gleichen Netz wie der Clients steht, zeitlich per NTP in Sync. Unser System zur Beobachtung hängt dabei an einem Port, der alle Pakete bekommt (Monitoring oder Mirror Port), so dass wir auch die für den OpenSLX-Client bestimmten Pakete sehen. Dieser Ansatz erfordert keine Anpassung des OpenSLX-Clients und beeinflusst den Startvorgang nicht.
Dann machen wir uns Notizen, wann welche Punkte des Bootvorgangs erreicht wurden, wann das System stand oder zum Beispiel keine Daten über das Netz gingen.
Hier bei Bedarf weitere Anhaltspunkte zwecks Analyse einfügen.
Dann sniffen wir in beiden Netzen mit. Daraus erhoffe ich mir weiterführende Rückschlüsse was wo, wie, warum klemmt.
#13 Updated by mj0 almost 4 years ago
Milestone V6.0 deleted