Samba 3 PDC + LDAP virtualisieren..

L

LinusX

Jungspund
Hallo.

Ich stehe vor einer ziehmlich komplexen Aufgabe, als Thema meiner Diplomarbeit.

Aifgabe ist es eine bestehende physikalische Samba 3 PDC mit allen Diensten ( Ldap, Posix, MySQk, LDAP-Datenbank, Webserver etc) als virtuelle Maschine aufzusetzen, da sie teilweise fehlerhaft arbeitet. Natürlich soll dabei keine Downtime entstehen, da mehrere Dienste wie Egroupware und Mailinglisten weiter laufen müssen. Die Domäne wird eigentlich nur von max 30 Leuten benutzt. Also eher klein.
Des weiteren soll eine weitere virtuelle Maschine mit Samba4 als Testumgebung laufen. Als Backend für Samba 4 müsste also eine Kopie des alten LDAP Backends erstellt werden. Oder die Daten vom LDAP Verzeichnis in die LDB kopiert werden.


Um zunächst eine redundante virtuelle Copy des physikalischen Servers zu erstellen arbeite ich also zunächst auf anderer Hardware:
###############################
Quellsystem:

Intel(R) Xeon(TM) CPU 2.80GHz

4 GB RAM

Zielsystem:

AMD Opetron

4Gb Ram
#####################

Vorgaben die ich von meinem Prof. erhalten habe und die festgelegt sind:

1) Hostsystem für virtuelle Umgebung: Suse 11.1 oder Sles10
2) als virtualisierungsverfahren: Paravirtualisierung mit Xen3
3) keine arbeiten am physikalischen Quellsystem solange kein funktionierendes virtuelles Klone des Quellsystems läuft.
4) Dienste die laufen müssen: LDAP, Samba3, ntp, Kerberos, Posix, Apache Server, MySQL, Postresql ...)


Nun meine Fragen:


1) Da sich ja die Hardware ändert kann ich nicht einfach eine Kopie mit dd oder tar machen und das image als virtuelle Maschine starten, oder gibt es so eine Lösung?

2) Wie würdet Ihr die Dienste auf die virtuellen Maschinen verteilen:

ich dachte an:

Dom0: Sles 10 server + Xen3
habe gelesen das die Dom0 möglichst ohne weitere Dienste beladen werden sollte.

(als Gastdomäne konfiguriere ich vorher ein Template welches dann als Vorlage für die anderen Gäste dient.

DomU1: irgendein Linux ( z.B. Suse11.1 + NTP, LDAP, NTP, Apache?, MySQL, Posix/Imap)

DomU2: Xen Vorlage + Apache? + Nagios Monitoring Software

Bin mir bei diesem Punkt unsicher! Ich weiß nicht genau wie ich die Dienste verteilen soll! Man sagt ja I/O lastige Dienste verteilen. Also wohin mit dem Apache und MySQL Server? Vollkommen isolieren auf eigene virtuelle Maschine verlegen?
Es sollen später noch virtuelle Instanzen vom Apache laufen. (Trennung Lan /Wan)

DomU3: Xen Vorlage + Samba3

DomU4: Xen Vorlage + Samba4


Kann mir jemand Tips geben für die vielen Migrationen. (LDAP, MySQL)?
Also soweit ich das beurteilen kann sollte die Migration der Datensätze eigentlich nicht so schwierig sein.

1. Daten aus altem LDAP Verzeichnis exportieren (Ldif)
2. selbe Ldap Version in virtueller Umgebung installieren
3. Schauen ob alle Erweiterungen installiert sind und mit LDIF importieren
4. hoffentlich fertig

Habt Ihr Erfahrung in wie weit soetwas funktioniert? Gibt es einen besseren weg?

Ich bin für jeden Tip für meine Plaung sehr Dankbar.
 
EDIT: Mist, nochmal:
Ich würde OpenVZ zur Virtualisierung nutzen, da eh alles dasselbe OS ist, macht Paravirtualisierung rel. wenig Sinn und verschwendet Resourcen ohne Ende.. Aber das nur als Anmerkung.

Linux ist rel. hardwareunabhängig, d.h. du kannst das ganze in der Tat mit dd in ein Image packen und das starten. Würde ich aber nicht tun. Wieso eigentlich "System fehlerhaft => Virtualisierung als Lösung"? Das erschliesst sich mir echt nicht, ein virtualisiertes Image des Originalsystems wird genauso schlecht laufen wie das Original...

Ansonsten hast du Recht, die Dom-0 sollte nicht mehr als einen SSH-Server enthalten (wenn der überhaupt nötig ist...). viel Spaß mit Xen, ist meiner Erinnerung nach recht grottig dokumentiert..

Zum Vorgehen: Ich würde das System Schritt für Schritt komplett virtuell aufbauen, also auch ein paar virtualisierte Clients und den Originalserver nur als Quelle für Konfigurationen und so weiter nehmen. Dann, wenn das virtuelle Netz mit Clients funktioniert ein paar echte Clients testweise mit einhängen und dann letztendlich den Switch machen. Idealerweise findet man dafür eine Zeit, in der möglichst wenig Zugriffe stattfinden und kündigt die Downtime natürlich vorher an.

Zum Thema LDAP Migration: Die Version muss nicht die gleiche sein, ein kompletter LDIF Export und anschliessender Import sollten reichen, wichtig wäre die korrekte Konfiguration und natürlich die Kompatibilität der Schemata. MySQL analog mittels MySQL-Dump.

Auf wieviele Maschinen du das verteilst, gute Frage.. Aber das wirst du ja ohnehin aus deiner Literaturrecherche begründen müssen :-)
 
Zuletzt bearbeitet:
Danke

EDIT: Mist, nochmal:
Ich würde OpenVZ zur Virtualisierung nutzen, da eh alles dasselbe OS ist, macht Paravirtualisierung rel. wenig Sinn und verschwendet Resourcen ohne Ende.. Aber das nur als Anmerkung.

A: Ja ich weiss. hardwarevirtualisierung läuft aber nicht auf der CPU. Wollten es auch erst mit KVM machen (nutze es privat und bin begeistert), aber wie gesagt kein HW-support.

Ich denke auch schon daran meinen Prof. von Virtuozzo zu überzeugen. (Betriebssystem Virtualisierung)

EDIT:
Linux ist rel. hardwareunabhängig, d.h. du kannst das ganze in der Tat mit dd in ein Image packen und das starten. Würde ich aber nicht tun. Wieso eigentlich "System fehlerhaft => Virtualisierung als Lösung"? Das erschliesst sich mir echt nicht, ein virtualisiertes Image des Originalsystems wird genauso schlecht laufen wie das Original...

A: Ganz einfach. Der DC hat irgendwelche Macken und es lohnt sich nicht mehr eine Fehleranalyse zu machen, da das Ding noch Suse 10.3 verwendet. Außerdem wurde da schon seit Jahren nichts mehr dran gemacht.
Die Umwandlung in eine virtuelle Maschine dient einzig der Sicherung und das zur Not das alte Ding weiter läuft

EDIT:
Ansonsten hast du Recht, die Dom-0 sollte nicht mehr als einen SSH-Server enthalten (wenn der überhaupt nötig ist...). viel Spaß mit Xen, ist meiner Erinnerung nach recht grottig dokumentiert..

A: Das stimmt eigentlich nicht. Ich habe genügend Lektüre gefunden zur Konfiguration etc.

EDIT:
Zum Vorgehen: Ich würde das System Schritt für Schritt komplett virtuell aufbauen, also auch ein paar virtualisierte Clients und den Originalserver nur als Quelle für Konfigurationen und so weiter nehmen. Dann, wenn das virtuelle Netz mit Clients funktioniert ein paar echte Clients testweise mit einhängen und dann letztendlich den Switch machen. Idealerweise findet man dafür eine Zeit, in der möglichst wenig Zugriffe stattfinden und kündigt die Downtime natürlich vorher an.

A: Das hört sich logisch an...

EDIT:
Zum Thema LDAP Migration: Die Version muss nicht die gleiche sein, ein kompletter LDIF Export und anschliessender Import sollten reichen, wichtig wäre die korrekte Konfiguration und natürlich die Kompatibilität der Schemata. MySQL analog mittels MySQL-Dump.

A: Werde mir mal anschauen wie man es mit MySQL-Dump macht

EDIT:
Auf wieviele Maschinen du das verteilst, gute Frage.. Aber das wirst du ja ohnehin aus deiner Literaturrecherche begründen müssen :-)

A: Ja ich denke dass musss ich. Aber genau der Punkt macht mir Kopfschmerzen. Weil ich keine Ahnung habe wo ich das erfahren kann. Im Netz habe ich nicht brauchbares gefunden. Daher dachjte ich das hier jemand einen Tip aus Erfahrung geben kann!


Vielen Dank noch einmal für die Antwort!!


Gruß Till
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Sry. Habe überlesen das Du OpenVZ meinst. Dachte irgendwie an KVM. Ja da hast Du Recht, das wäre wahrscheinlich die Beste Variante. Aber der Prof. möchte es so haben.

Allerdings Xen hat auch nur einen Overhead von 3-9%, das geht schon.

Gruß Till
 
Zuletzt bearbeitet:
Mach mal bitte deine Quote-Tags heil.

Zur verwendeten Virtualisierung: Virtuozzo und OpenVZ sind sehr nah beieinander, ganz genau weiss ich es nicht, aber OpenVZ ist wohl der OpenSource Teil von Virtuozzo oder die Grundlage dafür. Der Vorteil aus meiner Sicht ist nicht nur der geringere Overhead sondern auch Speicherverbrauch, da du nicht jedesmal das komplette BS lädst. (Habe nie verglichen => *Subjektiv*)

Zur Virtualisierung des alten Servers:
Am einfachsten wäre ein tar.gz aller Daten zu erstellen, in einer VM auf die Platte entpacken und dann die fstab anzupassen und grub/lilo zu installieren. Siehe auch hier:
http://en.gentoo-wiki.com/wiki/Custom_Stage4 (Man muss das ganze entsprechend anpassen und die meisten Verzeichnisse aus der Exclude File entfernen, funktioniert aber für praktisch jedes Linux, da das System wirklich nur aus den Dateien besteht)

Zur Doku: Ich habe ein recht komplexes Netzwerk-Setup mit privaten und öffentlichen IPs plus VPN Server gehabt und nirgendwo (ausser im Shorewall Wiki) die benötigten Infos gefunden. Möglicherweise sieht's mittlerweile besser aus, möglicherweise ist das was du brauchst eh dokumentiert. Für mich ist Xen erstmal gestorben, KVM werde ich demnächst mal probieren. Es gibt aber trotzdem genug Leute die Xen einsetzen. Eine schlechte Wahl ist es sicher nicht.

MySQL Migration: Das Tool mysqldump erstellt eine Liste von SQL Kommandos. Wenn du die auf einen MySQL Server ausführst, erhälst du die gedumpten Tabellen zurück. Lies dir einfach die Manpage durch und probier es einfach aus, ist eigentlich sehr einfach. Im groben:
Code:
mysqldump [I]optionen aus manpage[/I] > dump.sql
mysql -h [I]host[/I] -u [I]user[/I] -p < dump.sql
Nochmal zum Thema verteilen: Bei OpenVZ habe ich keine Bauchschmerzen, pro Dienst eine Maschine aufzumachen. Eine interessante Alternative wären übrigens evtl. BSD Jails, das ist wohl auch eine Betriebssystemvirtualisierung, aber da bin ich nicht sicher.

EDIT: Fehler im Beispielcode ausgebessert
 
Nochmal danke

Nochmal danke für die ausführliche Antwort!!


Ich werde morgen anfangen parallel eine Installation mit OpenVZ zu machen.
Ist auch totale Verschwendung 3-4 virtuelle Hosts mit ein und dem selben Kernel zu betreiben.
Und dann kann ich am Ende testen welche Variante schneller ist. Poste die Ergebnisse hier.

Hast Du noch ein paar gute Howtos für OpenVZ. Am besten physikalische-> virtuelle Migration oder so etwas? Wie ich es installiere dürfte nicht schwer sein.

Desweiteren wollte ich Dich noch einmal nach Deinen Erfahrungen bei der Migration von physikalischen Maschinen in virtuelle Maschinen fragen.
Ich arbeite erst seit knapp zwei Jahren mit Linux ( Suse, Debian, Kubuntu) bin also noch nicht ganz so weit.
Ist die Migration wirklich so einfach? Es ist immerhin ein Wechsel von 32 auf 64 bit! Ich kann nicht glauben das der Umzug so einfach ist! Mir ist klar das sämtliche Konfigurationen in Textdateien gspeichert sind, aber trotzdem rechne ich mit dem schlimmsten.
So wie ich es verstanden habe macht man mit dd nur eine Kopie von bestimmten Ordnern: Verzeichnisse wie /proc /lib usw. muss man nicht sichern oder?

Wie kann ich auf dem zu sichernden Server eine Ausgabe aller installierten Dienste bzw. deren Erweiterungen erstellen. (Ja ich weiß mit Yast zeigt er Die Programme an, aber nicht die Erweiterungen) Ich muss die einzelnen Dienste ja manuell in der virtuellen Maschine installieren oder werden sämtliche Erweiterungen z.B für LDAP, Radius, usw. automatisch installiert.(Kann ich mir nicht vorstellen!)
Ich muss ja so eine Art Bestandsaufnahme machen: Welche Dienste und welche Extensions sind auf dem Server installiert. Sonst bekomme ich spätestens bei dem Import der Ldap-Einträge großen ärger. Oder muss ich wirklich jeden Dienst einzeln installieren: schauen welche Extensions laufen-> die auf dem neuen virt. Server ebenfalls installieren. Das wäre recht nervig.
Das würde mich wirklich interessieren!

Gruß Till
 
Ich muss ja so eine Art Bestandsaufnahme machen: Welche Dienste und welche Extensions sind auf dem Server installiert. Sonst bekomme ich spätestens bei dem Import der Ldap-Einträge großen ärger. Oder muss ich wirklich jeden Dienst einzeln installieren: schauen welche Extensions laufen-> die auf dem neuen virt. Server ebenfalls installieren.

Naja, es geht dir um ein Inventar der Rechner, richtig?

Du hast zuviel Geld und Nerven aus Stahl -> Dann hol dir Tivoli.

Oder du verwendest den open-source Platzhirsch:

-> http://www.ocsinventory-ng.org/

Die Jungs und Mädels haben wirklich großartige Arbeit geleistet.

: Verzeichnisse wie /proc /lib usw. muss man nicht sichern oder?

/proc, /tmp und /dev soll / muss man nicht sichern, die werden dynamisch generiert.

/lib hingegen kann man durchaus sichern.
 
Zuletzt bearbeitet:
OpenVZ Probleme

Danke noch mal.
Habe heute versucht OpenVZ zu konfigurieren. War aber alles andere als einfach.
Da ich Suse 11.1 mit dem Kernel 2.6.28. hatte ich jede Menge Probleme, da ich nicht die fertigen Kernel von OpenVZ nehmen konnte. Habe dann versucht meinen Kernel umzupatchen, aber ohne Erfolg. Irgendwie werde ich das Gefühl nicht los das es leichter wäre CentOS zu installieren, habe darauf aber keine Lust.

Ich habe für den 2.6.25 Kernel keinen Patch von OpenVZ gefunden. Privat habe ich Suse 11 und da nutze ich Kernel 2.6.27., auch den Patch habe ich nicht gefunden.nur 2.6.24 und 2.6.26. Nun könnte ich mein eigenes Kernel Paket bauen, da habe ich aber keinen Nerven für. Geht OpenVZ nur für bestimmte Kernel Versionen? Muss ich also einen weiteren Kernel konfigurieren?
 

Ähnliche Themen

Samba PDC - Probleme mit der Vertrauensstellung

Samba und LDAP ohne (!) PDC

Samba 3.2.5 - Win XP-Netzwerkumgebung bleibt leer

Mehrere Samba Instanzen

Samba kann nicht auf LDAP zugreifen

Zurück
Oben