Product SiteDocumentation Site

3.2. Migrationsvorgang

Um die Aufrechterhaltung des Betriebs zu gewährleisten, muss jede Migration geplant und anhand dieses Plans durchgeführt werden. Dieses Prinzip gilt unabhängig vom eingesetzten Betriebssystem.

3.2.1. Überprüfen und Identifizieren der Dienste

So einfach es auch scheint, dieser Schritt ist entscheidend. Ein professioneller Administrator kennt die primären Aufgaben jedes Servers genau. Solche Aufgaben können sich jedoch ändern, und manchmal haben erfahrene Nutzer vielleicht auch "wilde" Dienste installiert. Wenn man über sie Bescheid weiß, kann man zumindest entscheiden, was man mit ihnen machen will, anstatt sie nur einfach zu löschen.
Zu diesem Zweck ist es sinnvoll, Ihre Benutzer vor der Servermigration über das Projekt zu informieren. Um sie an dem Projekt zu beteiligen, könnte es nützlich sein, vor der Migration die am häufigsten verwendete freie Software auf denjenigen Desktops zu installieren, mit denen die Benutzer nach der Migration zu Debian später wieder arbeiten; LibreOffice und die Mozilla-Suite sind dafür die besten Beispiele.

3.2.1.1. Netzwerk und Prozesse

Das nmap Werkzeug (im gleichnamigen Paket) identifiziert schnell Internetdienste, die auf einer Maschine laufen und die über das Netzwerk verbunden sind, ohne dass ein Login benötigt wird. Man braucht nur das folgende Kommando auf einem anderen Rechner aufzurufen, der mit demselben Netzwerk verbunden ist:
$ nmap mirwizStarting Nmap 56.00 ( http://nmap.org ) at 2012-12-17 11:34 CET↵
Nmap scan report for mirwiz (192.168.1.104)↵
Host is up (0.0037s latency).↵
Not shown: 999 closed ports↵
PORT STATE SERVICE↵
22/tcp open ssh↵
↵
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
Wenn auf einem Server Unix läuft und Anwendern eine Shell angeboten wird, ist es oftmals interessant, zu wissen, ob ein Prozess auch in Abwesenheit des Users im Hintergrund läuft. Das Dienstprogramm ps auxw zeigt alle laufenden Prozesse mit der zugehörigen ID. Ein Gegenprüfen dieser Informationen mit der Ausgabe des who-Befehls, das eine Liste der angemeldeten User zeigt, kann helfen, verdächtige oder versteckte Prozesse aufzuzeigen. Ein Blick auf crontab zeigt oftmals interessante Information über Funktionen und Prozesse, die der Server regelmäßig ausführt. Eine vollständige Erläuterung des cron-Befehls findet sich hier Abschnitt 9.7, „Aufgaben mit cron und atd zeitlich festlegen“.
In jedem Fall ist es absolut unerlässlich, Sicherheitskopien des eigenen Servers anzulegen. Dadurch ist es möglich, Informationen wiederherzustellen, falls Benutzer Probleme aufgrund der Migration melden.

3.2.2. Konfiguration sichern

Es wird empfohlen, die Konfiguration jedes verwendeten Dienstes zu sichern, um ihn identisch auf dem aktualisierten Server einrichten zu können. Zumindest sollte eine Datensicherung der Konfigurationsdateien vorliegen.
Für Unix-Maschinen befinden sich die Konfigurationsdateien gewöhnlich in /etc/. Sie können sich aber auch in einem Unterverzeichnis von /usr/local/ befinden. Dies ist der Fall, wenn ein Programm durch Kompilieren des Quellcodes installiert wird. In einigen Fällen sind die Dateien auch unter /opt/ zu finden.
Bei Diensten, die Daten verwalten (wie zum Beispiel Datenbanken), wird dringend empfohlen, die Daten in ein standardisiertes Format zu exportieren, das durch die neue Software problemlos wieder importiert werden kann. Ein solches Format ist üblicherweise dokumentiert und liegt als Textdatei vor. So kann es beispielsweise als SQL Dump bei einer Datenbank oder als LDIF-Datei für einen LDAP-Server vorliegen.
Datenbanksicherungen

Abbildung 3.2. Datenbanksicherungen

Jede Serversoftware ist unterschiedlich, und es ist unmöglich, alle denbaren Fälle im Detail zu beschreiben. Lesen Sie die Dokumentation der vorhandenen und von der neuen Software, um herauszufinden, welche Teile exportiert (und damit wieder reimportiert) werden können und welche manuelle Eingriffe erfordern. Das Ziel dieses Buches ist es, die Konfiguration der wichtigsten Serverprogramme unter Linux zu veranschaulichen.

3.2.3. Übernahme eines vorhandenen Debianservers

Um die Wartung erfolgreich zu übernehmen, kann man einen bereits mit Debian laufenden Server analysieren.
Die erste Datei, die man kontrollieren sollte, ist /etc/debian_version, welche üblicherweise die Versionsnummer des installierten Debian-Systems enthält (sie ist Teil des base-files-Pakets). Falls sie testing/unstable beinhaltet, bedeutet dies, dass das System mit Paketen aktualisiert wurde, welche aus einem der beiden Entwicklungszweige stammen.
Mit dem Kommando apt-show-versions (aus dem gleichnamigen Debian-Paket) überprüfen Sie die Liste der installierten Pakete und identifizieren die verfügbaren Versionen. Für diesen Zweck kann auch aptitude benutzt werden, wenn auch in einer weniger systematischen Art und Weise.
Ein kurzer Blick auf die Datei /etc/apt/sources.list zeigt, woher die installierten Debian-Pakete kamen. Falls viele unbekannte Quellen erscheinen, könnte es der Administrator vorziehen, das Betriebssystem komplett neu zu installieren, um die optimale Kompatibilität zu gewährleisten, welche durch die Software von Debian sichergestellt wird.
Die Datei sources.list ist oft ein guter Indikator: Die Mehrheit der Administratoren lassen Einträge zu früher genutzten APT-Quellen bestehen, zumindest als Kommentar. Dabei ist zu beachten, dass ehemalige Quellen inzwischen gelöscht und auch manuell zufällig aus dem Internet heruntergeladene Pakete installiert worden sein können (mithilfe des Kommandos dpkg). In diesem Fall trügt das Erscheinungsbild eines "Standard"-Debian. Darum sollte man auf jeden noch so kleinen Hinweis achten, der auf die Existenz externer Pakete hindeutet. (Vorhandensein von deb-Dateien in unüblichen Verzeichnissen, Paketversionsnummern mit spezieller Endung, welche auf eine Herkunft außerhalb des Debian-Projekts hindeuten, so zum Beispiel ubuntu, ximian etc.)
Genauso interessant ist es, den Inhalt des Verzeichnisses /usr/local/ zu analysieren. Dieses Verzeichnis ist gedacht für Programme, die manuell kompiliert und installiert wurden. Eine Auflistung von Software, die auf diese Weise installiert wurde, ist lehrreich, denn es stellt sich die Frage nach den Gründen, warum nicht das entsprechende Debian-Paket benutzt wurde (falls ein solches existiert).

3.2.4. Installation von Debian

Da nun alle Informationen über den bestehenden Server bekannt sind, können wir ihn herunterfahren und dann Debian darauf installieren.
Um die passende Version auszuwählen, müssen wir die Systemarchitektur kennen. Wenn es ein einigermaßen aktueller PC ist, dann wird es sehr wahrscheinlich ein amd64 (bei älteren PCs eher ein i386)-Prozessor sein. In anderen Fällen können wir die Möglichkeiten entsprechend dem zuvor genutzten System eingrenzen.
Es ist nicht vorgesehen, dass Tabelle 3.1 vollständig ist, aber es kann hilfreich sein. In jedem Fall ist die Originaldokumentation die verlässlichste Quelle, um diese Informationen zu finden.

Tabelle 3.1. Passende Betriebssysteme und Architektur

BetriebssystemArchitektur(en)
DEC Unix (OSF/1)alpha, mipsel
HP Unixia64, Hppa
IBM AIXpowerpc
Irixmips
Mac OSamd64, powerpc, i386, m68k
z/OS, MVSs390x, s390
Solaris, SunOSsparc, i386, m68k
Ultrixmips
VMSalpha
Windows 95/98/MEi386
Windows NT/2000i386, alpha, ia64, mipsel
Windows XP / Windows Server 2008i386, amd64, ia64
Windows Vista / Windows 7 / Windows 8i386, amd64

3.2.5. Installation und Einrichtung der ausgewählten Dienste

Nach der Installation von Debian müssen wir Stück für Stück die Dienste installieren und einrichten, die auf diesem Computer laufen müssen. Die neue Konfiguration muss sich an der vorherigen orientieren, um einen reibungslosen Übergang zu gewährleisten. Alle in den beiden ersten Schritten gesammelten Informationen sind nützlich, um diesen Teil erfolgreich abzuschließen.
Installation der ausgewählten Dienste

Abbildung 3.3. Installation der ausgewählten Dienste

Bevor man sich Hals über Kopf auf diese Aufgabe stürzt, sollte man unbedingt den Rest dieses Buches lesen. Danach wird man ein genaueres Verständnis davon haben, wie die erwarteten Dienste einzurichten sind.