Opened 7 years ago
Last modified 16 months ago
#3338 reopened Aufgabe
Projekt: SHeilA mit qed
| Reported by: | bau | Owned by: | bau |
|---|---|---|---|
| Priority: | bei Gelegenheit | Milestone: | Wunschliste |
| Component: | Server: LML-Server (paedml) | Severity: | beeinträchtigt den Unterricht einiger Lehrer |
| Keywords: | Cc: |
Description
Nach den Erfolgen mit den VM im Schülernetz (virtuelles XP) und Lehrernetz (virtuelles Win 7) und den positiven Erfahrungen mit den Bücherkellerrechnern (virtuelles XP auf einem minimalen Debian 8) kann diese Entwicklung fortgeführt werden zu SHeilA (SelbstHeilendeArbeitsstationen), die sich per Reboot heilen lassen.
- Für Windows-Systeme
- minimales Debian
- minimales X
- virtualBox
- qemu-utils
- Windows in einem qed-Container installiert, der wird per torrent verteilt
- ballon-qed über den Container legen und bei jedem Start neu erzeugen
- oder den ballon per Menü-Auswahl entfernen
- USB-* Methode für Virtualbox leitet alle USB-Geräte an die VM weiter
- Für Linux-Systeme
- ein bestehendes System (Ubuntu) wird in ein qed-Image verpackt
- ctorrent muss in der initramfs vorhanden sein (-> Script /etc/initramfs-tools/hooks/linboE einfügen -> copy_exec, Beispiele unter /usr/share/initramfs-tools/hooks)
- die initramfs muss das Modul nbd aus qemu-utils laden (/etc/initramfs-tools/modules)
- anschließend vor dem Kernelboot ein Script (/etc/initramfs-tools/scripts/init-premount/linboE) ausführen, welches das qed per torrent holt, einen Ballon drüberlegt und den Ballon als device bereitstellt:
qemu-img create -f qed -b system.qed ballon.qed qemu-nbd -c /dev/nbd0 ballon.qed
- dann booten von root=/dev/nbd0p1
Change History (9)
comment:1 by , 7 years ago
comment:3 by , 6 years ago
| Resolution: | ungültig |
|---|---|
| Status: | closed → reopened |
Ja, brandaktuell - nur leider noch nicht umgesetzt
comment:4 by , 5 years ago
| Component: | Software (Ubuntu) → Server (paedml) |
|---|---|
| Milestone: | Schuljahr 2019/20 → Wunschliste |
| Priority: | normal → gering |
Wohl eher ein Wunsch?
comment:5 by , 5 years ago
Ein sehr innovativer Wunsch, der technisch super laufen würde - woher soll aber die Zeit kommen, um das zu entwickeln - lassen wir das mal weiter offen :-(
comment:6 by , 4 years ago
Zur Frage: qcow2 oder qed:
"Es (Anm.: qed) bietet weniger Funktionen als qcow2, aber ermöglicht aber wesentlich schnellere Zugriffe und sorgt für bessere Datenintegrität."
http://qemu-buch.de/de/index.php?title=QEMU-KVM-Buch/_Speichermedien/_Image-Formate
Zudem ist VirtualBox nur in der Lage qed zu benutzen, nicht qcow2. Somit sollten wir uns auf qed beschränken.
comment:7 by , 4 years ago
Das da: https://manpages.ubuntu.com/manpages/xenial/man8/initramfs-tools.8.html beschreibt ziemlich genau, was ich beim Booten machen möchte: Mittels des HOOK-Scripts wird der Kerneltreiber (nbd / qemu-nbd) in das initramfs gepackt, mittels des BOOT-Scripts wird das Kernelmodul geladen (vgl: https://gist.github.com/shamil/62935d9b456a6f9877b5).
Anschließend steht dann /dev/nbd0 als Blockdevice zur Verfügung, darin muss wohl noch mit fdisk eine Partition erstellt werden und dann sollte das als Kernelparameter root=/dev/nbd0p1 booten.
Unter https://gluster-users.gluster.narkive.com/M5aRjHCl/netboot-pxe-boot-from-glusterfs beschreibt jemand, wie man von glusterfs / tftp booten kann.
comment:8 by , 4 years ago
Insgesamt müsste es so gehen:
- den Kernel von irgendwoher booten (tftp/nfs oder glusterfs oder lokale Platte)
- ein mini-Linux bereitstellen
- auf dem Server konfigurierbar oder lokal auswählbar:
- booten eines Imagefiles
- mit oder ohne Ballon-File
- Ballon-File neu erstellen oder altes benutzen oder ein vorgefertigtes benutzen
- Imagefiles per Torrent holen / per ctorrent bereitstellen
- per chroot mit dem Imagefile weiter booten
comment:9 by , 16 months ago
Informationen auf kernel.org
https://docs.kernel.org/admin-guide/initrd.html
Querverweis: #3117