OPSI-VMs generieren

Antworten
slangen
Beiträge: 2
Registriert: 21 Dez 2019, 13:27

OPSI-VMs generieren

Beitrag von slangen »

Hallo,

ich stehe aktuell vor der Aufgabe OPSI-VMs für unsere Filialen zu erstellen. Genauer gesagt sollen es Depotserver werden, die per VPN mit dem Configserver in der Hauptniederlassung sprechen. Dass die Clients mit dem Configserver sprechen können müssen wissen wir. Hatten auch schon einen Workshop dazu mit UIB.

Mir geht es jetzt im Speziellen um die Bereitstellung des OPSI-Depotservers in einer VM, die einfach auf die einzelnen Hypervisoren (KVM) in den Filialen kopiert werden kann. Mir ist klar, dass man nicht ein und die selbe VM mit OPSI einfach so kopieren kann. Ich dachte daran eine VM mit Debian zu erstellen und beim Start der VM per Skript alle möglichen Dinge wie Hostname, SSH-Keys, UUIDs usw. ändern zu lassen. Danach startet dann wie Installation von Opsi, die weitgehend automatisch ablaufen sollte. In der Summe haben wir fast 90 Stück vor der Brust und da möchten wir ehrlich gesagt nicht jedes Mal Opsi händisch installieren. Die von UIB angebotene fertige VM fällt für mich weg, da es Debian sein muss.

Ich frage darum hier nach, weil ich hoffe, dass es vielleicht schon etwas gibt, was sich genau für den Zweck verwenden lässt. Wir sind hoffentlich nicht die Ersten, die sowas auf die Art machen wollen. Bin aber auch offen für andere Wege.

Danke und vorweihnachtliche Grüße
Benutzeravatar
m.radtke
uib-Team
Beiträge: 1530
Registriert: 10 Jun 2015, 12:19

Re: OPSI-VMs generieren

Beitrag von m.radtke »

Hi

Ihr könntet folgendes machen:
Einen separaten opsi Server aufsetzen. Dieser dient dann als Config Server für die anderen Opsi (Depot)Server. Damit kannst du dein Debian und die Skripte verteilen und mittels l-opsi-server einen Opsi Server aus dem Debian Client machen und mittels l-opsi-server-register-depot den Server zum Depot eines Configservers machen.

Gruß
Mathias
Kein Support per DM!
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: OPSI-VMs generieren

Beitrag von pandel »

Hi!

Du könntest dir mal meine Skript anschauen, die ich im opsibian-gen verwende.

Im Grunde läuft das so:

- du brauchst ein immer gleiches Debian 10 Image, komplett mit opsi-depot-server Installation, Hostname ist egal, also eine Musterinstallation sozusagen
- folgende Pakete sind zusätzlich nötig: postfix und dos2unix (damit du die spätere Konfigdatei unter Windows bearbeiten kannst, ohne das es nachher zu Problemen kommt)
- lade dir folgende Dateien von hier: https://gitlab.open-mind.space/pandel/o ... eaks/files
  • opsi_cfg.txt -> /boot/cloudinit/
  • rc.local -> /etc/ (optional, nur wenn du einen Timeserver hast und ihn immer beim Booten abgleichen willst)
  • set_hosts_fqdn.service -> /etc/systemd/system/
  • reconfigure-opsi.service -> /etc/systemd/system/
  • set_hosts_fqdn.sh -> /usr/sbin/
  • reconfigure_opsi.sh -> /usr/sbin/
  • sync_depot.sh -> /usr/sbin/
  • opsi_cfg.sh -> /usr/local/lib/opsi_cfg/
Aktiviere die Dienste reconfigure-opsi und set_hosts_fqdn:
  • systemctl enable reconfigure-opsi
  • systemctl enable set_hosts_fqdn
- schau dir die beispielhafte opsi_cfg.txt an und lege dann eine entsprechende im Ordner /boot/cloudinit ab, die die jeweiligen, individuellen Konfigurationsoptionen beinhaltet (am günstisten wär es, du mountest ein kleines FAT32 Image mit der Datei an die Stelle, dann kannst du das schick via Windows bearbeiten und kopieren)

Jetzt passiert beim Booten folgendes:

1) Die Kiste startet :-)
2) Der Dienst set_hosts_fqdn passt die /etc/hosts Datei und den Rechnernamen gem. Eintrag in der opsi_cfg.txt auf den korrekten Namen und die aktuelle IP an (ist nötig, wenn opsi nachher rekonfiguriert wird, damit der Maschinenname schonmal korrekt u.a. bei der Zertifikatserstellung aufgelöst werden kann, eine vollständige Umkonfiguration der Netzwerkschnittstelle erfolgt später noch)
3) Der Dienst reconfigure-opsi feuert los und nimmt maximal folgende Änderungen vor:
  • opsi Adminuser inkl. Passwort setzen
  • Netzwerkeinstellungen rekonfigurieren
  • opsi Server neu konfigurieren (schau dir in reconfigure_opsi.sh die Funktion reconfOpsiServer() an, was alles genau passiert)
  • (bitte MOVE_VAR_TO_USB=0 lassen bei einer VM !!!)
  • modules File vom Konfigserver holen
  • registrieren als Depot am Konfigserver
  • oder ggf.: zum MySQL Backend wechseln (NUR, falls nicht "registrieren als Depot")
  • Package Updater konfigurieren
  • TFTP Service an oder aus
  • NTP Sync beim Boot an oder aus
  • Mailing via Postfix als Satellite
  • Synchronisieren aller nötigen Pakete vom Konfigserver, die am Depot als "installiert" gekennzeichnet sind (ist nur nötig, wenn das Depot bereits existierte und getauscht wurde, bei dir als eher nicht)
Es wird ca. dreimal neu gebootet und jeder abgearbeitete Schritt wird im Konfigfile entsprechend markiert, so dass er nicht mehr erneut angepackt wird. Am Ende sollte die VM in der Theorie fertig konfiguriert und als Depot angebunden sein. In der Praxis wirste das wohl einfach auspobieren müssen :mrgreen:

Das Ändern der UUIDs lässt sich sicher relativ leicht einbauen, denke ich, wobei du das ja nicht wirklich musst, oder?

WARNUNGWARNUNGWARNUNG
In meinem fertigen opsibian Image läuft das perfekt, weil alle Komponenten gegeneinander abgestimmt und getestet sind. Die Skripte sind zwar so geschrieben, dass ihnen egal sein sollte, auf welcher Basis sie laufen, aber ich gebe natürlich NULLNULLNULL Garantie. Vielleicht helfen sie dir auch nur als Denkanstoß - du kannst es ja einfach ausprobieren und wenn noch Fragen sind, dann schreib mir (ich bin allerdings bis 06.01. nicht erreichbar, da im Urlaub).

Lieber Gruß
Holger

Memo an mich selbst:
Wahrscheinlich ließe sich auf basis von opsibian-gen auch ein allgemeiner VM-Image Generator bauen, der direkt Vmware oder Qemu kompatible Images ausspuckt, da ich ja schon Qcow2 based Disk Images verwende...
Antworten