invis_server_wiki:upgrade:13.5_to_14.1

Dies ist eine alte Version des Dokuments!


invis-Server Upgrade von 13.5 auf 14.1

Richtig gelesen, wir lassen invis-Server Version 14.0 aus. Begründet liegt dies in den unverhofft aufgetretenen Probleme mit den in openSUSE Leap enthaltenen Samba-Paketen. Zum Hintergrund. Mit openSUSE Leap 15.0 wurden seitens openSUSE Samba-Pakete mit ActiveDirectory-Domain-Controller Funktion ausgeliefert. Darauf haben wir lange gewartet. Diese nutzen jedoch statt der von den Samba-Entwicklern integrierten Kerberos-Implementation Heimdal, den aus der Distribution stammenden MIT-Kerberos-Server.

Wie sich in der Praxis herausstellte, war das ein riesiges Problem, das Kerberos damit einfach nicht korrekt funktioniert. Kurz wir haben in den sauren Apfel gebissen und begonnen wieder eigene Samba-Pakete mit Heimdal-Kerberos zu bauen. Lesen Sie dazu auch unseren Blog-Beitrag Rolle Rückwärts um die lange Geschichte zu erfahren.

Weiterhin basiert invis-Server 14.1 bereits auf openSUSE Leap 15.1, d.h. es müssen 2 Distributionsupgrades in Folge gemacht werden.

Hinweis: Die folgende Anleitung setzt voraus, dass Ihr Server definitiv auf dem Stand von Version 13.5 ist, also bereits PHP7 und ownCloud 10.x verwendet. Ist das nicht der Fall müssen Sie zunächst auf Version 13.5 aktualisieren. Eine Anleitung dazu finden Sie hier.

Sichern Sie alle Datenbanken des Servers. Sie können dafür die Tools des invis-Servers nutzen:

ActiveDirectory

invis:~ # adbackup

Kopano

Führen Sie hier beide Sicherungswege durch:

invis:~ # kdbdump
...
invis:~ # kbackup

Weitere Datenbanken

invis:~ # alldump

Dokuwiki

invis:~ # dwdatasnapshot

Da mit der neuen auf MIT-Kerberos basierenden Samba-Version 4.7. die im Laufe des Upgrades installiert wird, werden überarbeitete AppArmor Profile notwendig. Um negative Effekte auf das Upgrade durch mögliche AppArmor-Blockaden vorzubereiten wird AppArmor vor dem Upgrade deaktiviert.

invis:~ # systemctl stop apparmor.service
...
invis:~ # systemctl disable apparmor.service

Im späteren Verlauf des Upgrades wird AppArmor mit neuen Profilen wieder aktiviert.

Auch der Email-Abruf sollte vor dem Upgrade deaktiviert werden:

invis:~ # systemctl stop fetchmail.service
invis:~ # systemctl disable fetchmail.service

Auch der Samba Domain-Controller wird abgeschaltet und deaktiviert.

invis:~ # systemctl stop samba.service
invis:~ # systemctl disable samba.service

Die neue Samba-Version bringt ohnehin ein eigenes Service-Unit-File mit.

Beginnen wir mit dem Herz des Servers, dem ActiveDirectory.

Achtung: Stellen Sie sicher, dass alle Client-PCs bevor Sie beginnen herunter gefahren sind!

Entfernen Sie zunächst das bisherige Samba-Repository. Ermitteln Sie dazu die Nummer des Repositories:

invis:~ # zypper repos | grep samba
22 | spins_invis_stable_samba46      | Samba AD Packages (openSUSE_Leap_42.3)                             | Ja        | (r ) Ja         | Ja
invis:~ # 

im Beispiel trägt das Repo die Nr. 22. Mit der Nummer kann es jetzt entfernt werden:

invis:~ # zypper rr 22

Jetzt können Sie das neue Samba-Repository hinzufügen und den Repository-Cache auffrischen:

invis:~ # zypper ar https://download.opensuse.org/repositories/spins:/invis:/15:/stable:/samba/openSUSE_Leap_42.3/spins:invis:15:stable:samba.repo
invis:~ # zypper ref

Jetzt können die neuen Samba-Pakete installiert werden. Es wird dabei direkt von Samba-Version 4.6.x auf 4.10.x aktualisiert. Dies erfordert ein wenig Nacharbeit.

Ermitteln Sie zunächst die Nummer des neuen Samba-Repositories:

invis:~ # zypper repos | grep samba
20 | spins_invis_15_stable_samba     | Samba 4.10 with Heimdal Kerberos  (openSUSE_Leap_42.3)             | Ja        | (r ) Ja         | Nein
invis:~ # 

Im Beispiel trägt das neue Repository die Nr. 20, daraus ergibt sich das Kommando zum Paket-Upgrade:

invis:~ # zypper dup --from 20 --allow-vendor-change

Dieses Kommando löst eine Reihe Paketkonflikten aus.

Wählen Sie jeweils Lösung 2:

...
 Lösung 2: Deinstallation von libdcerpc-server0-4.6.16-103.19.x86_64
...
...
  Lösung 2: Deinstallation von samba-ad-4.6.16-103.19.x86_64
...
...
 Lösung 2: Deinstallation von libsamba-policy0-4.6.16-103.19.x86_64
...
...
 Lösung 2: Deinstallation von libsmbldap0-4.6.16-103.19.x86_64
...

Installieren Sie jetzt noch fehlende Samba-Pakete nach:

invis:~ # zypper in samba-ad-dc ldb-tools

Sind alle Pakete installiert, darf Samba noch nicht wieder gestartet werden. Mit Samba 4.10. hat sich die Verzeichnisstruktur unter

/var/lib/samba

moderat geändert. D.h. die zuvor angelegte Datensicherung muss in die neue Verzeichnisstruktur wiederhergestellt werden. Für diesen Zweck haben wir ein Script entwickelt. Zwar ist dieses Script im aktuellen invisAD Setup Paket enthalten, leider stehen dieses Paket erst nach Umstrukturierung der Software-Repositories wie nachfolgend beschrieben zur Verfügung. Um das Samba-Upgrade jetzt dennoch abschließen zu können stellen wir das Script auch hier zum direkten Download zur Verfügung. Laden Sie die Datei wie folgt auf Ihren Server herunter:

invis:~ # wget -O upgradead.gz http://wiki.invis-server.org/lib/exe/fetch.php/invis_server_wiki:upgradead.gz

Entzippen Sie die Datei:

invis:~ # gunzip upgradead.gz

…und machen Sie sie ausführbar:

invis:~ # chmod +x upgradead

Jetzt können Sie damit Ihr AD wiederherstellen. Sie benötigen dazu den Pfad zur AD-Sicherung. Sie finden die Sicherungen und

/srv/shares/archiv/sicherungen/vollsicherungen/ad/

Sie benötigen von dort die aktuellste Datei, was anhand des Datums im Dateinamen leicht zu erkennen ist. Führen Sie das Script wie folgt aus:

invis:~ # ./upgradead /srv/shares/archiv/sicherungen/vollsicherungen/ad/Samba_20190815-075033.tar.gz

Zur Fehlervermeidung stellt das Script nach der Ausführung eine „Sind Sie sicher?“ Abfrage, die zu bejahen ist. Das Script startet den Samba-AD-DC Dienst automatisch wieder. Sie können jetzt verschiedene Tests durchführen. Z.B.: Anmelden an einem Windows-PC, Anmelden am invis-Portal, DNS-Abfragen mit dig usw.

Klappt alles ist das Samba-Upgrade abgeschlossen.

Mit dem Sprung auf invis-Server 14.0 muss auf openSUSE Leap 15.0 aktualisiert werden. Die Vorgehensweise dazu ist denkbar einfach. Zunächst müssen Sie Ihre Software-Repositories daran anpassen. Es kann auch nicht schaden zunächst mal alles zu sichern, so wie es ist:

invis:~ # cp -R /etc/zypp/repos.d /etc/zypp/repos.d.bak

Prüfen wir jetzt, ob ein CD/DVD Repository bei der Installation verwendet wurde. Ist das der Fall, kann es gelöscht werden:

invis:~ # grep "cd://" /etc/zypp/repos.d/*
/etc/zypp/repos.d/openSUSE-42.3-0.repo:baseurl=cd:///?devices=/dev/disk/by-id/ata-TSSTcorp_CDDVDW_SH-224BB_R8WS68BCB00TYX
invis:~ # rm /etc/zypp/repos.d/openSUSE-42.3-0.repo

Weiterhin verfügt Ihr invis-Server über zwei weitere Repositories unseres Projektes. Da wir für Version 14.x des invis-Servers eine neue Repository-Struktur aufgebaut haben, können diese beiden Repositories entfernt und dann durch die neuen Repositories ersetzt werden:

invis:~ # zypper repos |grep spins_invis
20 | spins_invis_15_stable_samba     | Samba 4.10 with Heimdal Kerberos  (openSUSE_Leap_42.3)             | Ja        | (r ) Ja         | Nein          
21 | spins_invis_common              | Common packages for invis-Server stable & unstable (openSUSE_42.3) | Ja        | (r ) Ja         | Ja            
22 | spins_invis_stable              | Stable Packages for invis-servers (openSUSE_Leap_42.3)             | Ja        | (r ) Ja         | Ja

Zu entfernen sind also die Repositories Nr. 21 und 22:

invis:~ # zypper rr 22
Repository 'Production Project for the openSUSE invis-Server Spin (openSUSE_Leap_42.3)' entfernen .....................................[fertig]
Repository 'Production Project for the openSUSE invis-Server Spin (openSUSE_Leap_42.3)' wurde entfernt.
invis:~ # zypper rr 21
Repository 'Common packages for invis-Server stable & unstable (openSUSE_42.3)' entfernen .............................................[fertig]
Repository 'Common packages for invis-Server stable & unstable (openSUSE_42.3)' wurde entfernt.
invis:~ #

Fügen wir jetzt die neuen Repositories hinzu:

invis:~ # zypper ar https://download.opensuse.org/repositories/spins:/invis:/15:/common/openSUSE_Leap_15.0/spins:invis:15:common.repo
...
invis:~ # zypper ar https://download.opensuse.org/repositories/spins:/invis:/15:/stable/openSUSE_Leap_15.0/spins:invis:15:stable.repo

Wenn Sie Kopano auf Basis einer offiziellen Kopano-Subskription einsetzen müssen Sie eine der Repository-Dateien manuell anpassen. Editieren Sie die Datei:

/etc/zypp/repos.d/Kopano-openSUSE_limited.repo

, indem Sie die mit „baseurl=“ beginnende Zeile auf folgende URL abändern:

[Kopano-openSUSE-15.0_limited]
name=Kopano-openSUSE-15.0_limited
enabled=1
autorefresh=1
baseurl=https://download.kopano.io/limited/core:/final/openSUSE_Leap_15.0
path=/
type=rpm-md
keeppackages=0

Dieses Kopano-Repository verlangt Zugangsdaten, diese wurden während des Server-Setups eingegeben und in

/root/.zypp/credentials.cat

hinterlegt. Sie können in dieser Datei ebenfalls die URL zum Repository anpassen oder die Zugangsdaten beim nächsten zypper ref Kommando erneut eingeben. In der genannten Datei muss die erste Zeile geändert werden:

[https://download.kopano.io/limited/core:/final/openSUSE_Leap_15.0/]]
username = FSP Computer und Netzwerke
password = supergeheim
...

Abschließend sind noch die openSUSE Versionsnummern in den verbleibenden Repository-Dateien zu ersetzen:

invis:~ # sed -i 's/42\.3/15\.0/g' /etc/zypp/repos.d/*

Jetzt kann das Distributions-Upgrade durchgeführt werden:

invis:~ # zypper ref
...
invis:~ # zypper dup

Stimmen Sie dem Vorschlag den zypper dup macht zu, danach beginnt das Paket-Upgrade.

Hinweis: Je nach Stand Ihrer Kopano-Installation, kann es sein, dass das Upgrade einige Paketkonflikte mit sich bringt. Lösen Sie diese Pakete in dem Sie jeweils die Deinstallation der älteren Pakete (vermutlich Version 8.6.9) als Lösung auswählen. In unseren Tests war dies in der Regel Lösung 2.

Achtung: Starten Sie den Server im Anschluss an das Distributionsupgrade noch nicht neu. Wann der Neustart zu erfolgen hat, wird hier im weiteren Verlauf der Upgrade-Anleitung mitgeteilt.

  • invis_server_wiki/upgrade/13.5_to_14.1.1567013885.txt.gz
  • Zuletzt geändert: 2019/08/28 17:38
  • von flacco