Gordon Zimm 20ec54a1aa Seed: 10 GiB in der VG frei als Snapshot-Reserve
/srv bekommt den gesamten Rest minus 10 GiB. Ein LVM-Snapshot haelt nur die
waehrend seiner Lebensdauer geaenderten Bloecke - 10 GiB reichen dafuer
reichlich, eine Reserve in Prozent war zu grob gedacht. Das lvreduce laeuft vor
dem mkfs und ist deshalb risikolos.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-24 14:26:05 +02:00

5.3 KiB
Raw Blame History

Autoinstall-Seed für die EspoCRM-Kunden-VM

user-data und meta-data bilden eine NoCloud-Quelle. Das Verzeichnis ist öffentlich abrufbar – es enthält deshalb keine Geheimnisse (kein benutzbares Passwort, kein RMM-Token; siehe ADR 0004).

Ablageort

Für den Testbetrieb (Entscheidung 22.09.2026, Variante 1): Der Seed liegt zusätzlich in gordon.zimm/ubuntu-autoinstall unter espocrm/, weil der Installer ohne Anmeldung abruft und die Organisation espoCRM anonym nicht lesbar ist. Boot-Zeile:

autoinstall ds=nocloud-net\;s=https://gitea.subcura.net/EspoCRM_Public/espo-deploy/raw/branch/main/autoinstall/

Dieses Verzeichnis ist die Quelle. Änderungen hier vornehmen und anschließend nach ubuntu-autoinstall/espocrm/ kopieren (user-data, meta-data). Der endgültige Ablageort bleibt offen → O-26.

Hintergrund zur Wahl (O-26)

Der Installer ruft die Dateien ohne Anmeldung ab. Dieses Repo liegt in der Organisation espoCRM, die nicht öffentlich sichtbar ist: Ein anonymer Abruf von https://gitea.subcura.net/espoCRM/espo-fleet-ops/raw/branch/main/autoinstall/user-data liefert 404, obwohl das Repo selbst als „nicht privat“ geführt wird (geprüft am 22.09.2026; dasselbe gilt für espoCRM/espo-dev). Anonym erreichbar ist dagegen gordon.zimm/ubuntu-autoinstall.

Solange das nicht entschieden ist, kommt der Seed dort hin, wo er abrufbar ist. Kandidaten:

Variante Boot-Zeile Bemerkung
Unterverzeichnis im bestehenden öffentlichen Repo autoinstall ds=nocloud-net\;s=https://gitea.subcura.net/EspoCRM_Public/espo-deploy/raw/branch/main/autoinstall/ schnellster Weg, stört den bestehenden Seed im Wurzelverzeichnis nicht
eigenes öffentliches Repo, z. B. gordon.zimm/espo-autoinstall … ds=nocloud-net\;s=…/gordon.zimm/espo-autoinstall/raw/branch/main/ klar abgegrenzt, ein Zweck
Organisation espoCRM auf „öffentlich“ stellen … ds=nocloud-net\;s=…/espoCRM/espo-fleet-ops/raw/branch/main/autoinstall/ macht auch espoCRM/espo-dev für jeden lesbar – nicht empfohlen
Seed auf der Installationsmedium-Seite (zweites CIDATA-Image) keine URL nötig für die Flotte die sauberste Lösung, in Phase 3 zu prüfen

Das Semikolon muss maskiert werden

In der GRUB-Kommandozeile trennt ; zwei GRUB-Befehle. Unmaskiert bekommt der Kernel nur autoinstall ds=nocloud-net, die Seed-URL fällt weg – der Installer startet dann ganz normal interaktiv. Deshalb \; schreiben (so steht es auch in der README von ubuntu-autoinstall). Gleichwertig: die ganze Angabe in Anführungszeichen setzen, autoinstall "ds=nocloud-net;s=https://…/espocrm/".

Nach dem Booten der Ubuntu-Server-24.04-ISO im GRUB-Menü e drücken, die gewählte Zeile vor --- einfügen, Strg+X. Die Installation läuft ohne Rückfragen durch und schaltet die VM am Ende aus. Vor dem nächsten Start das ISO trennen, sonst startet die Installation erneut.

Nach dem ersten Start (einmal je VM)

Die Schritte liegen auch als /root/ERSTINBETRIEBNAHME.txt auf der VM:

  1. An der Hyper-V-Konsole anmelden. Das Initialpasswort steht über dem Login-Prompt (/etc/issue); der Wechsel wird erzwungen. Neues Passwort im Secure Information Store der Site hinterlegen.

  2. RMM-Agent installieren – Token aus Endpoints → Devices → Manage → Download Agent:

    cd /tmp && curl -fsSLOJ "<Download-Link aus dem Portal>" && chmod +x *_ITSPlatform_TKN*.run && sudo ./*_ITSPlatform_TKN*.run; rm -f *_ITSPlatform_TKN*.run
    

    -O -J behält den vom Server vorgegebenen Dateinamen samt _TKN<uuid> – daraus liest der Installer den Token. Das abschließende rm hängt an ;, damit die Datei mit dem Token auch nach einem Abbruch verschwindet.

    Der Token steckt im Dateinamen; der Installer liest ihn aus seiner eigenen Aufrufzeile. Wird die Datei umbenannt (-o name.run) oder nur mit -O geladen (dann heißt sie setup), fehlt der Token und muss gesetzt werden: sudo env TOKEN=<uuid> ./datei.run.

    Prüfen: systemctl status ITSPlatform und tail /var/log/ITSPlatform-install.log; das Gerät erscheint nach wenigen Minuten in der Site. Einzelheiten zur Token-Übergabe: ../docs/quellen/connectwise-rmm-notizen.md

  3. Hinweiszeile mit dem Initialpasswort aus /etc/issue entfernen.

  4. Prüfen, dass das Gerät binnen weniger Minuten in der richtigen Site erscheint.

Was der Seed einrichtet

Bereich Wert
Sprache/Tastatur/Zeitzone de_DE.UTF-8, de, Europe/Berlin
Netz erste Ethernet-Schnittstelle (match: e*), DHCPv4, kein DHCPv6
Konto administrator, Passwort je VM zufällig, Wechsel beim ersten Anmelden erzwungen
SSH Server installiert, Passwortanmeldung erlaubt (ADR 0003)
Pakete linux-cloud-tools-virtual (Hyper-V-Integrationsdienste), curl, bzip2
Platten / 20 GiB, swap 4 GiB, /var/lib/docker 20 GiB, /srv der gesamte Rest minus 10 GiB; die 10 GiB bleiben in der VG frei als Platz für einen LVM-Snapshot vor einem Update
Zum Schluss vollständiges apt full-upgrade, autoremove, clean, dann poweroff

Hintergrund zur Aufteilung: plattenlayout-erlaeuterung.md.