Zum Inhalt springen

Projektantrag: HA Cluster für Mailserver


asmodii

Empfohlene Beiträge

Hallo zusammen,

aktuell arbeite ich gerade an meinem Projektantrag und würde mich freuen ein paar Meinungen dazu zu hören.

 

Abschlussprojekt Fachinformatiker - Systemintegration 2018

 

Projektübersicht

 

Thema des Projekts:

 

 „Standalone“-Mailserver zum Hochverfügbarkeits-Cluster umwandeln

 

Geplante Durchführung:

 

Beginn: 02.10.2017

Ende: 01.12.2017

 

Projektbeschreibung:

 

Die Firma XXY GmbH (nachfolgend „XXY IT“ genannt) ist ein mittelständisches Unternehmen für IT-Dienstleistungen mit Standort Düsseldorf. Sie betreut überwiegend Kundschaft aus dem Rheinland und dem mittleren Niederrhein.

Ein vorhandener Mailserver, der über keine Redundanzen verfügt außer der üblichen Backups, wird zu einem Hochverfügbarkeits-Cluster umgewandelt. Der bestehende Mailserver wird fortan als Primärsystem arbeiten. Ein Sekundärsystem mit dem das Primärsystem das Cluster bildet, wird als Standby-Server betrieben. Das Cluster wird so konfiguriert, dass im Ausfallmoment des Primärsystems das Sekundärsystem automatisch die Aufgaben übernimmt und zum Primärsystem wird (Failover).

 

Ist-Zustand (Ausgangslage) und Problembeschreibung:

 

Aktuell betreibt die XXY einige Server im „Standalone“-Betrieb. Darunter befinden sich auch der unternehmenskritische Mailserver auf Basis von Linux. Die Kunden verwenden den Mailserver teils als Smarthost, aber auch in üblichem Rahmen als POP/IMAP/SMTP-Server. Einige Unternehmen kommunizieren bereits ausschließlich über Email, was einen sicheren Betrieb des Mailservers voraussetzt. Im Falle eines Totalausfalls würden Kunden beispielsweise Aufträge nicht oder nicht rechtzeitig erhalten, was entgangene Gewinne bedeuten könnte. Für die Firma XXY IT wäre ein Ausfall möglicherweise folgenschwer, da Kunden Schadenersatz fordern könnten. Außerdem kann ein Totalausfall zum Imageverlust für die XXY IT führen, was der Kundenzufriedenheit und Neukundengewinnung erheblich schadet.

 

 

 

 

Soll-Zustand und Anforderungen:

 

Die XXY IT wünscht, dass dieser vorhandene „Standalone“-Mailserver deshalb fortan im Hochverfügbarkeitsbetrieb laufen muss, um folgenschwere Ausfälle zu vermeiden.

 

 

Die geforderte Lösung muss folgenden Kriterien entsprechen:

-          Ausfälle des Email-Dienstes müssen minimiert werden

-          Downtimes des Servers müssen minimiert werden

-          Datenbestände müssen immer aktuell bleiben

-          Die Lösung muss kostengünstig sein

-          Die Lösung muss für den Dauerbetrieb geeignet sein

 

Nutzen des Projektes:

 

Das Projekt ist die Umwandlung und der Betrieb des Mail-Servers im Hochverfügbarkeitsmodus, um den unternehmenskritischen Mailserver vor Ausfällen zu schützen bzw. Ausfälle zu minimieren. Der Vorteil ergibt sich nicht nur aus der Minimierung eines Ausfalls, sondern auch eine Minimierung der Downtimes im Falle einer geplanten Wartung.

Im jetzigen Zustand ist ein Ausfall fatal, da die Aufgaben nicht mehr erfüllt werden könnten. Ein Email-Verkehr ist nicht mehr möglich.

 

Meine Aufgaben:

 

Die XXY IT benötigt ein ausfallsicheres Mailsystem. Der Standalone-Mailserver befindet sich in Hamburg im Rechenzentrum der FFFG GmbH.

Analyse des Primärsystems:

 

Zunächst muss ich feststellen, ob es sinnvoll ist das bestehende System weiter zu betreiben oder gegen ein leistungsstärkeres System auszutauschen. Da ich dieses System bereits gut kenne und es vor einem halben Jahr neu angeschafft und für die Auslastung der nächsten Jahre geplant wurde, ist eine Erweiterung der Hardwareresourcen nicht notwendig. CPU-, Festplattenkapazität und RAM sowie die Netzwerkschnittstelle sind bereits ausreichend ausgelegt, um das System in einen Hochverfügbarkeitscluster umzuwandeln.

 

 

Planung des Sekundärservers:

 

Ich muss dafür Sorge tragen, dass das Sekundärsystem so leistungsstark ist, dass es jederzeit die Aufgaben des Primärsystems übernehmen kann. Die Auslegung der Hardware muss ich so planen, dass auch ein längerer Zeitraum mit dem Sekundärsystem überbrückt werden kann ohne dass es zu Einschränkungen des Maildienstes kommt. Außerdem sollte das Sekundärsystem so ausgelegt sein, dass es nicht vor dem Primärsystem wegen Leistungsmangel ersetzt werden muss. Eine Maschine mit gleicher Ausstattung wie der Primärserver ist daher denkbar.

 

 

Wahl der Cluster-Software:

 

Bei der Wahl der Clustersoftware sowie die Wahl der Software für die Replikation muss ich darauf achten, dass sie für den Dauerbetrieb geeignet sind. Zusätzlich muss ich die Frage klären, ob ein Quorum notwendig ist bzw. welche Vorteile und Nachteile beim Quorum entstehen, wenn ich es einsetze bzw. weglasse.

 

 

Installation, Konfiguration und Tests:

 

Im letzten Schritt muss ich die Clusterlösung installieren, für den Betrieb konfigurieren und danach testen, ob sie zuverlässig funktioniert.

 

 

Schnittstellen:

 

Für Rückfragen zu den Servern steht mir der technische Support des Rechenzentrums FFFG in Hamburg zur Verfügung. Für Rückfragen zum Mailserver der XXY IT kann ich mich jederzeit an meinen Kollegen, Herrn Blubbmann, zuständiger Fachinformatiker für die Linux Server, wenden.

 

Projektumfeld:

 

Das Primärsystem steht im Rechenzentrum der FFFG GmbH. Das Primärsystem ist ein Intel Xeon E5-2620 v4 mit 32 Gb RAM. Als Datenspeicher sind 4 x 2 TB SAS Festplatten eingebaut, die als RAID10 betrieben werden. Installiert sind Debian mit Postfix als Mailserver und Dovecot als Mailboxserver. Die Installation, Konfiguration und Management des Hochverfügbarkeits-Clusters wird remote per SSH auf den Servern im Rechenzentrum der FFFG GmbH durchgeführt. Die Server werden im eigenen IP-Netz der XXY IT betrieben.

 

 

Phasenmodell:

 

Als Phasenmodell habe ich das erweiterte Wasserfallmodell gewählt.

 

 

 

Projektphasen und Zeitplanung

 

Analyse (1 Stunde)

 

Ist-Zustand                                                                                                                                                      1 Stunde

                Feststellung des Ist-Zustandes.

 

Konzeption (2 Stunde)

 

Soll-Konzept                                                                                                                                                    2 Stunde

                Erstellung einer Kosten- und Ressourcenplanung             1 Stunde

 

Realisierung (xx Stunden)

 

Installation und Bereitstellung des Mailservers im Failover-Cluster         

·         Konfiguration des Primärservers                                                                                             6 Stunden

o   Einrichtung der Replikationssoftware

o   Installation der Clustersoftware

o   Installation des Cluster Resource Managers
 

·         Konfiguration des Sekundärservers                                                                                       8 Stunden

o   Planung und Einkauf der Hardware

o   Installation und Vorbereitung des Linuxsystems

o   Installation des Mail- und Postfachservers nach dem
Vorbild des Primärsystems

o   Installation des Datenbankservers

o   Installation der Replikationssoftware und Clusterlösung

o   Installation des Cluster Resource Managers

o   ...


 

·         mounten und Kopieren der Daten auf dem Primärsystem in die                               2 Stunden
Partitionen von /var/vmail und /var/lib/mysql
 

·         Partitionen synchronisieren                                                                                                     1 Stunde
 

·         Absicherung der Server                                                                                                              2 Stunden

o   SSH Root-Login verhindern       

o   Installation und Konfiguration Fail2Ban

o   IP-Filterung (Ports schließen)

 

Validierung (4 Stunden)

 

Test-Emails senden und empfangen                                                                                                     2 Stunden
bei zeitgleicher Ausfallsimulation

Überprüfung der Logfiles auf Hinweise zu Problemen                                                                   2 Stunden

Soll- und Ist-Vergleich                                                                                                                                 1 Stunde

 

Dokumentation (2 Stunden)

 

Prozessorientierter Projektbericht                                                                                                        7 Stunden

 

Geplante Anhänge

 

Administrationshandbuch

 

Summe der Stunden:                                                                                                                                 35 Stunden

 

 

 

Präsentationsmittel

 

  • Beamer
  • Laptop/PC
  • Handout
Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Zeiten und Punkte in der Projektplanung stimmen noch nicht. Habe das alles zig mal überarbeitet und es gab zahlreiche Veränderungen. Darum poste ich das hier:

 

Projektphasen und Zeitplanung

 

Analyse (1 Stunde)

 

Ist-Zustand                                                                                                                                                      1 Stunde

                Feststellung des Ist-Zustandes.

 

Konzeption (2 Stunde)

 

Soll-Konzept                                                                                                                                                    2 Stunde

                Erstellung einer Kosten- und Ressourcenplanung

 

Realisierung (20 Stunden)

 

Installation und Bereitstellung des Mailservers im Failover-Cluster         

·         Konfiguration des Primärservers                                                                                                              7 Stunden

o   Einbinden einer weiteren LVM Partition

o   Einrichtung der Replikationssoftware

o   Installation der Clustersoftware

o   Installation des Cluster Resource Managers
 

·         Konfiguration des Sekundärservers                                                                                                         8 Stunden

o   Planung und Einkauf der Hardware

o   Installation und Vorbereitung des Linuxsystems

o   Installation des Mail- und Postfachservers nach dem
Vorbild des Primärsystems

o   Installation des Datenbankservers

o   Installation der Replikationssoftware und Clusterlösung

o   Installation des Cluster Resource Managers

o   ...


 

·         mounten und Kopieren der Daten auf dem Primärsystem in die                                                     2 Stunden
Partitionen von /var/vmail und /var/lib/mysql
 

·         Partitionen synchronisieren                                                                                                                   1 Stunde
 

·         Absicherung der Server                                                                                                                           2 Stunden

o   SSH Root-Login verhindern       

o   Installation und Konfiguration Fail2Ban

o   IP-Filterung (Ports schließen)

 

Validierung (4 Stunden)

 

Test-Emails senden und empfangen                                                                                                      2 Stunden
bei zeitgleicher Ausfallsimulation

Überprüfung der Logfiles auf Hinweise zu Problemen                                                                        2 Stunden

Soll- und Ist-Vergleich                                                                                                                                1 Stunde

 

Dokumentation (2 Stunden)

 

Prozessorientierter Projektbericht                                                                                                          7 Stunden

 

Geplante Anhänge

 

Administrationshandbuch

 

Summe der Stunden:                                                                                                                                 35 Stunden

 

Bearbeitet von asmodii
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich sehe hier zu wenige Entscheidungen, die du triffst. Am ersten Server brauchst du nichts zu ändern und für den zweiten Server, soll laut deiner Zeitplanung zwar eine Anschaffung von Hardware erfolgen aber die genutzte Software steht scheinbar ebenfalls schon fest. Ich persönlich finde das nicht ausreichend, weil man einfach davon ausgehen muss, dass aus mehreren Gründen der Ersatzserver dem ersten Server doch gleichen wird. Und damit sieht es für mich lediglich so aus, als würdest du nur eine Installationsorgie nach Vorgaben abarbeiten. Kann aber sehr wohl sein, das dies deiner IHK völlig ausreicht.

Ansonsten hast du hier eine Problemstellung, die es zu lösen gibt, du erstellst eine Ist-Analyse und ein Soll-Konzept. Wobei die alleinige Erstellung einer Kosten- und Ressourcenplanung etwas wenig für ein Soll-Konzept finde, aber auch hier denke ich, wird dir die IHK wohl keinen Strick draus drehen. Den Rest der Zeitplanung sieht für mich in Ordnung aus.

Und da du hier das Wasserfallmodell als Vorgehensmodell nennst, solltest du dich mit allen anderen Modellen ebenfalls auskennen. Denn damit öffnest du den Prüfern Tür und Tor dich eigehender mit Fragen zu diesem Thema zu löchern.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke, dass du dir etwas Zeit genommen hast.

Dass es ein HA-Cluster wird steht ja fest. Dass der zweite Server dem ersten gleichen wird liegt in der Natur der Sache. Zumindest meinem Verständnis nach. 

Ich könnte zumindest den Passus rausnehmen:

Zitat

Eine Maschine mit gleicher Ausstattung wie der Primärserver ist daher denkbar.

Die Wahl der Clustersoftware steht allerdings nicht fest. Wo genau ist der Punkt, der dich denken lässt, dass die Wahl der Software schon feststeht? Was könnte ich denn ändern, dass es nicht nach einer Installationsorgie ausschaut?

 

Ich habe das mal wie folgt geändert:

 

Projektphasen und Zeitplanung

 

Analyse (1 Stunde)

 

Ist-Zustand                                                                                                                              1 Stunde

                Feststellung des Ist-Zustandes.

 

Konzeption (3 Stunde)

 

Soll-Konzept                                                                                                                              3 Stunden

                Erstellung eines Plans für den Sollzustand

  Erstellung einer Kosten- und Ressourcenplanung

                Zeitplanung als Gantt-Diagramm

 

Realisierung (20 Stunden)

 

Installation und Bereitstellung des Mailservers im Failover-Cluster         

·         Konfiguration des Primärservers                                                                                            6 Stunden

o   Einbinden einer weiteren LVM Partition

o   Einrichtung einer Replikationssoftware

o   Installation einer Clustersoftware

o   Installation eines Cluster Resource Managers
 

·         Konfiguration des Sekundärservers                                                                                       8 Stunden

o   Planung und Einkauf der Hardware

o   Installation und Vorbereitung des Linux-Systems

o   Installation des Mail- und Postfachservers nach dem
Vorbild des Primärsystems

o   Installation des Datenbankservers

o   Installation einer Replikationssoftware und Clusterlösung

                     o Installation eines Cluster Resource Managers

 

Bearbeitet von asmodii
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 20 Stunden schrieb asmodii:

Die Wahl der Clustersoftware steht allerdings nicht fest. Wo genau ist der Punkt, der dich denken lässt, dass die Wahl der Software schon feststeht?

Da die Schlagworte Linux und LVM bereits gefallen sind, bin ich jetzt schlicht davon ausgegangen, dass da quasi zwangsläufig Heartbeat, LXC u.s.w folgen werden. In meinem Kopf ist dies die Standardvorgehensweise für ein HA-Cluster auf Linuxbasis.

Deine Änderungen gefallen mir aber schonmal.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe das jetzt erst mal an meinen Dozenten geschickt und hoffe, dass er jetzt damit einverstanden ist, denn sonst weiß ich echt nicht mehr was ich noch tun kann.

Hab das Ding mal spaßhalber umgeschrieben, dass eine Lösung zur Ausfallvermeidung herbeigeführt werden muss. Das klappte bis zur Zeitplanung, aber dann war da schluss. Viel zu dynamisch als dass man das noch planen könnte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde an deiner Stelle die Aufgabenstellung offener halten. Dementsprechend würde natürlich dann auch die Planung offener gestaltet sein müssen.

Ob nun z.B. ein Loadbalancing auf dem Mailserver stattfindet, oder man active / passive hat, wäre die erste Entscheidung.
Da es mit Loadbalancing bei Mailservern diverse Probleme gibt (gibt Lösungen, aber einfacher ist es als active / passive Cluster), würde da vermutlich eh raus kommen, dass man ein active / passice Cluster bauen wird. Wobei man z.B. (falls man SMTP-Server verwendet) durchaus auch z.B. nur dies durch den Loadbalancer verteilen kann oder beispielsweise den Dovecot-Director nutzen will zum Verteilen der IMAP-Zugriffe auf mehrere Server.

Genauso würde ich aber auch bei der Anforderung weg lassen, dass nur ein Server dazu kommt. Einfach angeben, dass eine Redundanz gewünscht ist. Wie viele Teilnehmer im Cluster sein sollen, würde ich dann erst anhand der Anforderungen und des Budgets festlegen (könnten ja genauso auch mehr als nur 2 Server sein, die im Cluster hängen).

Der nächste Punkt wäre dann, ob man für die Datensynchronisierung Programme wie z.B. DRBD einsetzt, oder ob man ein SAN hat, dem man vertraut, auf dem die Daten dann liegen.

Als nächsten Schritt dann z.B. überprüfen, ob der verwendete Mailserver weiterverwendet wird / werden kann, oder ein neuer (vielleicht sinnvollerer) Mailserver verwendet werden soll. Wenn das abgehakt ist, dann noch schauen, mit welcher Cluster-Software man arbeiten will (z.B. Pacemaker) und mit welcher Art von Resource Clients.

So hält man sich alle Möglichkeiten offen und hat diverse Entscheidungen mehr drin und das ganze Projekt wird aufwendiger und komplizierter durch die zu fällenden Entscheidungen mit Recherche und Evaluierungen.

Wenn vorgegeben ist, dass es ein active / passive Cluster auf Linux xyz mit Mailserver abc sein soll, dann hat man eigentlich doch nur noch die Wahl der Clustersoftware und mit welcher Art von Ressource Clients man arbeiten will. Das empfinde ich dann doch als ein bisschen wenig für ein Abschlussprojekt als FISI.

Für Soll-Konzept (inklusive Evaluierung) kann man locker mehr als 3 Stunden aufwenden, wenn nicht vorher schon fast alles feststeht.

Die Beschaffung des zweiten Servers würde ich in einen separaten Punkt auslagern (Anforderungen an den Server (RAM, CPU, Speicher, Schnittstellen) herausfinden, Angebot(e) einholen (je nachdem, ob ihr alles standardmäßig bei einem Händler kauft, oder da die freie Wahl habt), die Angebote ggf. vergleichen und dann einen Server bestellen)

Die 2 Stunden zum mounten und rumkopieren? Dann hier noch die Evaluierung davor setzen, welche Variante überhaupt eingesetzt werden soll. Dass es über ein LVM-Volume gehen soll, würde ich nicht explizit vorher festlegen. Wieder eine Entscheidung, die du dir vorwegnimmst.

Genauso braucht man für die Absicherung des Servers eigentlich keine 2 Stunden. Den Root-Login zu verbieten ist ein einziger Eintrag in der Konfigurationsdatei für SSHD. Fail2ban wird vermutlich einfach installiert und dann muss noch konfiguriert werden, welche Logfiles es überwachen soll und wie lange die Clients gesperrt werden sollen bzw. bei wie viel gescheiterten Einloggversuchen. Also auch trivial. Die Kommunikation mit der Firewall läuft dann automatisch ab. Ports schließen ist kein Problem - IPtables davor und nur die Ports öffen, die man auch benötigt (also eigentlich genau anders herum vorgehen) 2 Stunden - ja OK (wenn für beide Server zusammen).

Test-Emails-senden und Logfiles überprüfen je 2 Stunden? Was willst du denn da alles testen? Hier könnte man z.B. noch Recovery-Pläne ausarbeiten o.ä. stattdessen.
Was du auch nicht außer acht lassen, und zumindest ansprechen solltest, ist die Archivierung / Sicherung des Mail-Clusters.

Bearbeitet von Crash2001
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...