83 lines
3.7 KiB
Markdown
83 lines
3.7 KiB
Markdown
# Clonezilla — Images erstellen & aufspielen
|
||
|
||
## Setup
|
||
|
||
- **Externe Festplatte:** `DEZNTRSICHERUNG` (1,8 TB) — traegt die Images
|
||
- **Images:** Ordner `schule-laptop-JJJJ-MM-TT` — es koennen mehrere liegen,
|
||
**das neueste (Datumsname) gewinnt immer**
|
||
- **USB-Stick:** `CLONEZILLA` — nur noch fuer die **Erstinstallation** und als
|
||
Rettung, falls ein Laptop gar nicht mehr bootet
|
||
- Jeder Laptop merkt sich sein installiertes Image in `/etc/schul-image-version`
|
||
|
||
## Weg 1: Jahres-Reimage OHNE Stick (der Normalfall)
|
||
|
||
1. Platte `DEZNTRSICHERUNG` an den Laptop anstecken
|
||
2. Laptop einschalten — mehr nicht
|
||
3. Der Laptop erkennt beim Boot, dass ein neueres Image auf der Platte liegt,
|
||
und startet automatisch in die Image-Station (Clonezilla aus `/boot/clonezilla`,
|
||
laeuft komplett im RAM)
|
||
4. Mini-Menue erscheint:
|
||
- **AUFSPIELEN** — vorausgewaehlt, startet nach 20 s von selbst
|
||
- **IMAGE ERSTELLEN** — diesen Rechner als neues Image sichern
|
||
- **Abbrechen** — normaler Neustart
|
||
5. Beim Aufspielen bleibt der **Hostname erhalten** (laptop11 bleibt laptop11);
|
||
SSH-Host-Keys, Machine-ID und Versionsdatei werden automatisch neu gesetzt.
|
||
Danach: Poweroff. Fertig — kein first-boot-Script noetig.
|
||
|
||
Steckt die Platte beim naechsten Boot noch, passiert nichts mehr
|
||
(Versionsvergleich). **laptop03 (Master) bespielt sich nie selbst** —
|
||
dort ist der Boot-Check deaktiviert.
|
||
|
||
## Weg 2: Neues Master-Image erstellen (auf laptop03)
|
||
|
||
1. Platte anstecken, laptop03 neu starten
|
||
2. Im GRUB-Menue **„Schul-Neuinstallation“** waehlen (Eintrag ist im normalen
|
||
Boot nicht sichtbar, ggf. `Esc`/`Shift` beim Boot halten)
|
||
3. Im Mini-Menue **„IMAGE ERSTELLEN“** (Taste `i`) — Image heisst automatisch
|
||
`schule-laptop-<heutiges Datum>` und ist damit sofort das neueste
|
||
4. Rechner faehrt herunter, wenn fertig
|
||
|
||
## Weg 3: Erstinstallation per USB-Stick
|
||
|
||
1. Stick `CLONEZILLA` **und** Platte anstecken, per `F12` vom Stick booten
|
||
2. „IMAGE AUFSPIELEN“ waehlen — nimmt automatisch das neueste Image
|
||
3. Nach dem Poweroff booten und einmalig den Namen vergeben:
|
||
```bash
|
||
sudo ~/projekte/schul-laptops/files/first-boot-setup.sh laptop05
|
||
```
|
||
Ab dann laeuft ansible-pull und der Laptop haelt sich selbst aktuell.
|
||
|
||
## Technische Details
|
||
|
||
- Alle `ocs-sr`-Aufrufe laufen im **Batch-Modus ohne Sicherheitsabfragen und
|
||
ohne Nachpruefung** (`-batch -scs/-scr -icds -sfsck`, Entscheidung E-004 —
|
||
12x identische Hardware, Fehlerfaelle macht Herb von Hand)
|
||
- Restore: `ocs-sr -g auto -e1 auto -e2 -r -j2 -icds -k1 -scr -batch -p true restoredisk <image> sda`
|
||
- Save: `ocs-sr -q2 -j2 -z5p -i 4096 -sfsck -senc -scs -batch -p true savedisk <image> sda`
|
||
- Menue/Ablauf: `files/clonezilla/schul-reimage.sh` (liegt auf jedem Laptop
|
||
unter `/boot/clonezilla/`, wird per ansible-pull aktuell gehalten)
|
||
- GRUB-Eintrag: `files/clonezilla/grub-custom.cfg` → `/boot/grub/custom.cfg`
|
||
- Boot-Check: `files/reimage-check.sh` + `.service`
|
||
|
||
## Voraussetzung: Clonezilla-Live-Dateien im Image
|
||
|
||
`/boot/clonezilla/` braucht einmalig `vmlinuz`, `initrd.img` und
|
||
`filesystem.squashfs` vom Clonezilla-Stick (Ordner `/live/`). Sie sind zu gross
|
||
fuer git und kommen ueber das Master-Image auf alle Laptops. Fehlen sie, meldet
|
||
der Pull-Lauf einen Hinweis im Journal.
|
||
|
||
## Problemloesungen
|
||
|
||
- **„Mount failed“ / Platte nicht gefunden:** Label pruefen:
|
||
`sudo ntfslabel /dev/sdX1 DEZNTRSICHERUNG`
|
||
- **Kein Image gefunden:** Liegt ein Ordner `schule-laptop-*` auf der Platte?
|
||
- **Laptop bootet nach Reimage nicht:** Stick benutzen (Weg 3) — der Stick ist
|
||
die Rettungsleine und funktioniert immer
|
||
|
||
## Zeiten (12x gleiche Hardware, SSD + USB 3.0)
|
||
|
||
| Aktion | Dauer |
|
||
|---|---|
|
||
| Image erstellen | ~10–15 Min |
|
||
| Image aufspielen | ~5–10 Min |
|