Hochverf ugbarkeitsclusters
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Abschlussprüfung Sommer 2021 Fachinformatiker für Systemintegration Dokumentation zur betrieblichen Projektarbeit Hochverfügbarkeitsclusters Virtualisierungscluster via Proxmox ” VE“ Aufbau eines Hochverfügbarkeitsclusters auf basis der Open-Source-Virtualisierungsplattform Proxmox VE Abgabetermin: Düsseldorf, den 01.05.2020 Prüfungsbewerber: Florian David Janowski Carl-Severiong Str. 7 40595 Düsseldorf Ausbildungsbetrieb: Mediadesign Hochschule für Design und Informatik GmbH Werdener Straße 4 40227 Düsseldorf
Inhaltsverzeichnis 1 Abkürzungsverzeichnis 1 2 Einleitung 2 3 Projektbeschreibung 2 3.1 Projektumfeld und Motivation . . . . . . . . . . . . . . . . . . . . . . . . 2 4 Projektziele 2 4.1 Sachziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4.2 Kostenziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4.3 Zeitplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4.3.1 Qualitätsziel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4.4 Ist-Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4.5 Soll-Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4.6 Abweichungen gegenüber dem Projektantrag . . . . . . . . . . . . . . . . 3 4.7 Prozessschnittsellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.7.1 Personen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.7.2 Projektablaufplan . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 Projektplanung 5 5.1 Personalplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.1.1 Sachmittelplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.2 Kostenplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.3 Wirtschaftlichkeitsanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.4 Amortisationdauer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.5 Zeitplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 6 Projektdurchführung 9 6.1 Entscheidungsfindung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6.2 Beschreibende Arbeitsschritte . . . . . . . . . . . . . . . . . . . . . . . . . 10 6.2.1 Vorbereitung: DNS-Einträge für die Namensauflösung . . . . . . . 10 6.2.2 Bootbarer USB-Stick mit Proxmox VE . . . . . . . . . . . . . . . . 10 6.2.3 BIOS/EFI Konfiguration . . . . . . . . . . . . . . . . . . . . . . . 11 6.2.4 Installation von Proxmox VE 6.2 . . . . . . . . . . . . . . . . . . . 11 6.2.5 Erstellung des Proxmox Clusters . . . . . . . . . . . . . . . . . . . 13 6.2.6 CEPH Cluster Erstellensc . . . . . . . . . . . . . . . . . . . . . . . 13 6.2.7 Migration von VMs . . . . . . . . . . . . . . . . . . . . . . . . . . 15 6.3 Validierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 7 Projektabschluss 17 7.1 Projektübergabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2
7.2 Soll/Ist Vergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.2.1 Sachziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.2.2 Kostenziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.2.3 Zeitziel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.2.4 Qualitätsziel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.3 Projektfazit/Reflexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3
1 Abkürzungsverzeichnis CLI Command Line Interface DNS Domain Name System HTTP Hypertext Transfer Protocol HTTPS Hypertext Transfer Protocol Secure ICMP Internet Control Message Protocol IP Internet Protocol LAN Local Area Network LDAP Lightweight Directory Access Protocol NAT Network Address Translation OS Operating System SSH Secure Shell SSL Secure Sockets Layer VM Virtuelle Machine HTML Hypertext Markup Language AMD-V AMD Virtualization NVMe NVM Express FQDN Fully Qualified Domain Name OSD Object Storage Node CRUSH Controlled Replication Under Scalable Hashing 1
2 Einleitung Diese Dokumentation wurde im Rahmen der betrieblichen Projektarbeit der Berufsaus- bildung zum Fachinformatiker bis für System Integration erstellt das Projekt beinhaltet die Konzeption und Konfiguration von einem Hochverfügbarkeitsclusters auf Basis von Proxmox. Ziel dieses Projektes ist es, die Lehrinhalte der Ausbildung zu vertiefen und ein realitätsnahes Projekt umzusetzen. Dabei sollen sowohl fachliche als auch soziale Kompetenzen gefördert werden 3 Projektbeschreibung 3.1 Projektumfeld und Motivation Das Projektumfeld ist die Mediadesign Hochschule für Design und Informatik GmbH (in den folgenden Abschnitten mit MD.H abgekürzt) ist eine private Universität mit Standorten in Düsseldorf, München und Berlin. Die MD.H bietet folgende Studiengänge im Bachelor Studium an, Media Design, Game Design, Digital Film Design-Animation/VFX, Fashion Business. Unter anderem können Studenten auch ihren Master in Design Management machen. Dieses Projekt wird im Standort Düsseldorf vollzogen welcher 313 Studenten beherbert, in diesem Standort arbeiten 16 Mitarbeiter, darunter 4 ITler. 4 Projektziele 4.1 Sachziele Ziel des Projektes ist es, dass alle vorhandenen VMs auf einem neuen hochverfügbarkeits Cluster migriert werden. 4.2 Kostenziele Für die Realisierung der Projektziele soll die bestehende Serverarchitektur erweitert werden. Hierzu wird neue Server Hardware benötigt, die abgesehen von Kosten für auf- gewendete Arbeitszeit und Sachmittel, sowie den gegenwärtigen Fixkosten des Server- betriebs keine weiteren Mehrkosten verursachen sollte. 2
4.3 Zeitplanung Für das Projekt sind unter Nichtberücksichtigung der Prozessschnittstellen 35 Arbeits- stunden angedacht, davon sollten 7 Stunden in die Projektdokumentation fließen. 4.3.1 Qualitätsziel Die vollständige und fehlerfreie Umsetzung der Sachziele sollen durch Test-fälle abge- deckt werden. Dabei sind sowohl die vollständige Funktionalität als auch die sicherheits- technischen Maßnahmen zu testen. 4.4 Ist-Zustand Aktuell verwendet die MD.H ein stark veraltetes vShpere Cluster, diese wird seit Jahren nicht mehr vom Hersteller unterstützt und erhält daher auch keine Sicherheitsupdates mehr. Dazu ist aufgefallen, dass die Performance der einzelnen VMs so wie die der Hostmaschinen/Servern degradiert. Auf diesem Cluster läuft aktuell das Haupt-E-Mail- System (auf Exchange Basis) sowie der Haupt Domain Controller für die Verwaltung und die Schule. Aufgefallen ist, dass einige der Host Maschinen zu zufälligen Zeiten abstürzen. Dies führt dazu, dass Dienste wie E-Mail und Login Service für die Windows Klienten nicht mehr dauerhaft verfügbar sind. Aus diesem Grund sind Mitarbeiter sowie Studenten zeitweise nicht mehr arbeitsfähig. 4.5 Soll-Konzept Ziel ist es eine Moderne und Zukunftssichere Virtualisierung Struktur zu erstellen, die Leicht in der Handhabung und Administration ist, jedoch trotzdem eine Vielzahl an Funktionen bietet. Um dies zu bewerkstelligen soll eine robuste und zuverlässige Open Source Virtualisierung Lösung verwendet werden, diese soll über eine Webschnittstelle (Web UI) auf HTML5/JavaScript Basis zum Einsatz kommen, hinzu kommt eine robuste API um Automatisierungen bewerkstelligen zu können. 4.6 Abweichungen gegenüber dem Projektantrag Die eigentliche Hardware, die für dieses Projekt gedacht war, konnte leider nicht recht- zeitig geliefert werden. Hierzu wurden mir drei herkömmliche Computer gegeben, die ich für das Projekt nutzen soll. Dennoch wird das Projekt wie hier in der Dokumentation angegeben umsetzbar sein. 3
Ungeraderem ist es nicht möglich zu dem Zeitpunkt die VM Migration durchzuführen und zu Testen. Der aktuelle Cluster lüft zu instabile. Um die Validierung des Clusters dennoch durchzuführen werden einige test VMs erstellt. Diese variieren in der Datengröße um verschiedene VMs zu simulieren. 4.7 Prozessschnittsellen 4.7.1 Personen Name Firma Abteilung Beschreibung Sascha Mollberg Mediadesign Hochschule IT / CTO Ausbilder, Auftraggeber Tabelle 1: Auflistung der Prozessschnittstellen Herr Sascha Mollberg war maßgeblich Ansprechpartner bei der Konzeption und Um- setzung des Projektes. Er unterstütze bei der Erarbeitung des Projektzieles und kann durch seine tiefgreifendes Fachwissen Anregungen bei der Entscheidungsfindung, sowie Hinweise auf mögliche Lösungswege bei der Projektumsetzung geben. 4.7.2 Projektablaufplan Projektablauf plan er- stellen: Gant Diagramm 4
5 Projektplanung 5.1 Personalplanung Name Tätichkeit Zeitaufwand Florian David Janowski Mediadesign HochschuleProjektumsetzung, Azubi 35 Stunden Sascha Mollberg Ansprechpartner, CTO, Projektübergabe, Projektumsetzung 4 Stunden Tabelle 2: Personalplanung 5.1.1 Sachmittelplanung Hardware Beschreibung Drei Server Neue Hypervisor Hosts für den Cluster Arbeitsplatz-PC System zur Projektumsetzung Tabelle 3: Sachmittelplanung - Hardware Software Beschreibung Proxmox VE 6.2 Hypervisor Betriebssystem Chrome/Firefox WebUI Zugriff Windows Terminal SSH Zugriff für die Server Windows 10 Pro Betriebssystem des Arbeitsplatz-PC Tabelle 4: Sachmittelplanung - Software Zusätzlich zu den genannten Sachmitteln standen für die Projektumsetzung die Räumlichkeiten der MD.H zur Verfügung. 5.2 Kostenplanung Die Kosten des Projektes setzen sich insgesamt aus drei Teilen zusammen, bei diesen handelt es sich um Software, Personal und Hardware. 5
Abgesehen von den Windows 10 Pro Lizenzen, die am Arbeitsrechner zur Ausführung benötigt werden, handelt es sich bei den Software-Sachmitteln um frei verfügbare Open Source-Software. Da die Windows-Lizenzen bereits auf allen Rechnern vorhanden sind, kommen keine Softwarekosten auf. Für die Personalkosten werden beim Auszubildenden im dritten Lehrjahr ein Bruttoge- halt von 12.000 e pro Jahr bei 150 Arbeitstagen angenommen und beim Ausbilder und CTO ein Bruttogehalt von 50.000 e pro Jahr bei jeweils 220 Arbeitstagen angenom- men. Die Personalkosten belaufen sich also bei dem Projekt auf: 516 e (Siehe Tabelle 5), hierbei werden 35 Projektstunden, plus 4 für die Unterstützung sowie Abnahme betrachtet. e12000/Jahr/((150 ∗ 8)h/Jahr) = e10/h e50000/Jahr/((150 ∗ 8)h/Jahr) = e41, 67/h Beschreibung Stunden Stundensatz Gesamtkosten Personalkosten Florain David Janowski 35h 10e 350e Personalkosten Sascha Mollberg 4h 41,67e 166,68e Summe: 516,68e Tabelle 5: Personalkostenplanung Hardware Kosten Grundkonfiguration 2.323,00e AMD EPYC 7302P Processor 403,00e 128 GB DDR4-3200 RAM 718,00e Server-Mainboard mit AMD System-on-Chip und 10Gbit LAN 88,00e 1,6 TB SAS SSD Seagate Nytro 3531 2.500,00e 250 GB M.2 SSD Samsung 980 Pro 168,00e Broadcom SAS 9300-4i Host-Bus-Adapter 25,00e Montageschiene Easy-Mount 48,00e High-efficiency redundantes Netzteil 109,00e Pick-Up Gewährleistung 36 Monate 165,00e Gesamtpreis 6.577,00e Tabelle 6: Hardwarekosten für einen Server 6
Die Hardwarekosten für einen Server belaufen sich Insgesamt auf 6.577,00e, die genaue Zusammensetzung kann der Tabelle 6 entnommen werden. Dieses Projekt benötigt drei dieser Server, damit kommen wir auf einen Hardwarepreis von: e19.731 P ersonalkosten + Hardwarekosten = P rojektkosten e516, 68e + e19.731, 00 = e20.247, 68 Insgesamt belaufen sich die Kosten des Projektes also auf: e20.247, 68. 5.3 Wirtschaftlichkeitsanalyse Durch eine neuere Virtualisierung, Struktur und Hardware werden die Ausfälle der wich- tigsten Dienste vermieden, sowie die Entlastung der Mitarbeiter aufgrund weniger Sup- portarbeit ,gewährleistet. Dies hat zur Folge ,dass alle Mitarbeiter und Studenten keine E-Mail ausfälle und Datenverluste erleiden müsse. Somit soll der normale Arbeitstag ohne mehrfache Telefonate zur Fehlerbehebung voranschreiten können. 5.4 Amortisationdauer Wartung und Administration des Proxmox VE Clusters: Projektaufwand: 20.247,68 e Laufende Kosten pro Monat für die Wartung: 1950 e Lauf endeKosten = Bearbeitungszeit × StundensatzdesM itarbeiters 1.500e = 150h × 10e/h Wartung und Administration des veralteten vSphere Clusters: Laufende Kosten pro Monat für die Wartung: 850 e Lauf endeKosten = Bearbeitungszeit × StundensatzdesM itarbeiters 6.000e = 600h × 10e/h Gewinn = AltesCluster − N euesCluster 4.500e = 6.000e − 1.500e Amortisationsrechnung: Amortisationszeit = Anschaf f ungskosten/Gewinn Amortisationszeit = 20.247, 68e/(6.000e/M onat–1.500/M onat) 7
Amortisationszeit = 4, 49M onat Der neue Cluster würde sich schon nach knapp 5 Monaten lohnen. 5.5 Zeitplanung Die folgende Tabelle zeigt die Soll-Zeitplanung des Projektes: Projektplanung mit Zeitplanung in h h Analyse 3 Durchführung einer Ist-Analyse 1 Durchführung einer Wirtschaftslichkeitanalyse 2 Konzeption 4 Planung der Serverhardware 1 Migration der Vorhandenen VMs ohne Downtime 1 Netzwerkinfrastruktur für die Hosts 1 Deployment der VMs 1 Realisierung 14 Serverhardware Einbau 1 Installation des Proxmox VE Hypervisors 1 Konfiguration für Proxmox VE 2 Cluster erstellen 2 VM Migration 8 Validierung 5 Ausfalltests 3 Hosts 1 Netzwerk 1 Festplatten 1 Erreichbarkeit 1 Dokumentation 9 Erstellung der Projektdokumentation 4.9 Erstellung des Benutzerhandbuchs 4.9 Summe: 35 h Tabelle 7: Detaillierte Soll-Zeitplanung 8
6 Projektdurchführung 6.1 Entscheidungsfindung Bei der Findung von einem Passenden Open Source Virtualisierung Software gab es nur wenig Auswahl, die gefundenen Lösungen wurden auf folgende Aspekte untersucht. Performance, Erweiterbarkeit, Flexibilität, Web Interface, Support, Nutzbarkeit, Doku- mentation. Diese wird in einer Skala von 1 bis 10 angegeben, wobei 1 sehr negativ und 10 sehr positiv ist. Kriterium Gewichtung in % Proxmox XCP-NG Performance 40% 8 3,20 8 3,2 Flexibilität 5% 6 0,3 4 0,2 Support 5% 8 0,4 6 0,3 Dokumentation 20% 9 1,8 6 1,2 Interface 20% 5 1 4 0,8 Erweiterbarkeit 10% 6 0,6 6 0,6 Summe 100% - 7,3 - 6,3 Tabelle 8: Entscheidungsmatrix der Wahl der Virtualisierungs Software Kurze Erläuterung zur Bewertung der einzelnen Kriterien: • Beide Virtualisierungsplattformen haben eine sehr gute Online Dokumentation so wie eine recht große Community. Proxmox hat hingegen zu XCP-NG eine größere Community und bietet deutlich mehr Ansprechpartner und Hilfestellungen. • Proxmox arbeitet mit Debian als Betriebssystem, diese ist in der MD.H bekannt. XCP-NG hingegen nutzt CentOS7. • Beide Virtualisierungsplattformen bieten eine sehr gute Performance und hingen in kleinster weise einen hinterher. • Beide Produkte bieten eine Web UI, Proxmox bringt diese von haus aus mit und ist nach der Installation direkt nutzbar. XCP-NG hingegen braucht ein Programm, das nur unter Windows funktioniert, dennoch kann man eine Web UI nachträglich installieren. 9
6.2 Beschreibende Arbeitsschritte 6.2.1 Vorbereitung: DNS-Einträge für die Namensauflösung Zunächst wurden die DNS-Einträge für die drei Server gesetzt. Dabei lösen die folgenden Subdomains auf folgende Server auf. • mdh-vm01.mediadesign.de • mdh-vm02.mediadesign.de • mdh-vm03.mediadesign.de Dazu wird auf dem Windows DNS-Server drei neuen DNS-A-Records eingetragen. Damit die VM Hosts via die interne Domain aufgerufen werden kann. 1 Add-DnsServerResourceRecordA \ 2 - Name " mdh-vm01 " \ 3 - ZoneName " mediadesign . de " \ 4 - AllowUpdateAny \ 5 - Ipv4Address " 192.168.172.31 " 6 7 Add-DnsServerResourceRecordA \ 8 - Name " mdh-vm02 " \ 9 - ZoneName " mediadesign . de " \ 10 - AllowUpdateAny \ 11 - Ipv4Address " 192.168.172.32 " 12 13 Add-DnsServerResourceRecordA \ 14 - Name " mdh-vm03 " \ 15 - ZoneName " mediadesign . de " \ 16 - AllowUpdateAny \ 17 - Ipv4Address " 192.168.172.33 " Listing 1: Hinzufügen von DNS Einträgen 6.2.2 Bootbarer USB-Stick mit Proxmox VE Dafür wird z.B. die Software Rufus verwendet, um die ISO auf ein USB-Stick zu bren- nen, so wie die aktuelle Proxmox VE ISO. Zu den Zeitpunkt des Projektes ist dies die Version 6.2. Die Software Rufus wird genutzt, um den USB-Stick neu zu formatieren, auf dieser wird dann das ISO Abbild geschrieben. Dabei ist zu beachten, dass dies alle Daten, die auf dem USB-Stick vorahnden sind unwiderruflich löscht. 10
Dazu wird im ersten Schritt sichergestellt, dass der richtige USB-Stick ausgewählt wur- de, in meinem Fall ist das ein 32GB USB-Stick, der mehrere Partitionen aufwies. Nach dem das sichergestellt wurde wir nun die Proxmox VE ISO ausgewählt. Das gescheit in dem man auf dem Feld AUSWAHL“ drückt. Dort wählt man nun die Herunter- ” geladen Proxmox VE ISO aus. Nachdem die ISO ausgewählt wurde, drückt man nun auf START“, um den Vorgang zu starten. Dort taucht nun ein Fenster auf das euch ” auffordern ein Modus für den Kopiervorgang zu wählen. Dort habe ich die empfehlende Option genommen. Nach dem ich dies mit OK“ genehmigt habe wurde direkt mit dem ” Formatieren begonnen sowie die ISO kopiert. 6.2.3 BIOS/EFI Konfiguration Die Server müssen nun überprüft werden, ob diese die nötigen Einstellungen im BIOS/E- FI besitzen. Hierzu muss im BIOS/EFI AMD-V aktiviert werden. Dies ermöglich es Hardware nahe Virtualisierung. Dies ist wichtig, um gute Performance in den einzelnen VMs zu erziehen. Eine Virtualisierung ohne AMD-V ist möglich, aber dies führt dazu das jegliche VM langsam ist. 6.2.4 Installation von Proxmox VE 6.2 Booten vom USB-Stick Zum Installieren von Proxmox muss nun der vorbereitete USB-Stick in den Server hinein- gesteckt werden, nach dem dies geschehen ist starten man den Server und wartet das er Proxmox bootet. Dies sollte im Normalfall direkt geschehen so lange kein Betriebssystem vorher auf eine HDD/SSD Installiert ist. Installation Nach erfolgreichem Booten wird einen die EULA angezeigt, diese bestätigt man und fährt fort. Als nächstes wird die HDD/SSD Ausgewählt auf die das Proxmox VE Installiert wer- den soll. In meinem Fall ist dies eine 476GB große NVMe. Dort werden keine weiteren Änderungen vorgenommen und fahren nun fort. 11
Jetzt wird das Passwort für den Root Benutzer gesetzt, dies ist unser Administrations Account. Wichtig hierbei ist es ein starkes Passwort zu wählen. Dazu wird noch eine E- Mail-Adresse angegeben, um Error Meldungen zu erhalten. Diese ist unsere allgemeine IT Düsseldorf E-Mail-Adresse. Zur guter Letzt wird nun der FQDN, IP-Adresse, Gateway sowie der DNS Server ange- geben. FQDN mdh-vm01.mediadesign.de mdh-vm01.mediadesign.de mdh-vm01.mediadesign.de IP-Adresse 192.168.178.31 192.168.178.32 192.168.178.33 Gateway 192.168.178.1 192.168.178.1 192.168.178.1 DNS 192.168.178.1 192.168.178.1 192.168.178.1 Tabelle 9: DNS Einträge der Server Anschließend auf Next“ und Install“ drücken, damit wird nun Proxmox VE Installiert. ” ” Wichtig ist das Schritt 7.2.3 – 7.2.4.2 müssen wir alle drei Server durchgeführt werden. Prüfen der Installation Nun muss geprüft werden, ob alle drei Server ansprechbar sind. Dies können wir mit dem Tool ping“ in der PowerShell testen. ” Ping out- put als Nachdem sichergestellt ist wurde das alle drei Server online sind können wir nun schau- Script en, ob wir auf das Web UI von Proxmox VE kommen, hierzu wird die Folgende URL blog muss verwendet. hier rein • https://mdh-vm01.mediadesign.de:8006 • https://mdh-vm02.mediadesign.de:8006 • https://mdh-vm03.mediadesign.de:8006 Dort wird en Proxmox VE Login fester auftauchen, dort wird der Benutzer root“ und ” das bei der Installation gesetzt Passwort eingegeben. 12
6.2.5 Erstellung des Proxmox Clusters Cluster Initialisierung und hinzufügen der Server Um ein Cluster in Proxmox VE zu erstellen gibt es verschiedene Möglichkeiten. Eine häufig genutzte Methode zur Erstellung des Clusters ist das Web UI. In diesem Fall wird der Terminal basierte Methode mit Hilfe des SSH Protokolls gewählt. Zunächst benötigen wir eine aktive Verbindung zu allen Servern. 1 ssh root@mdh - vm01 . mediadesign . de 2 ssh root@mdh - vm02 . mediadesign . de 3 ssh root@mdh - vm03 . mediadesign . de Listing 2: SSH in den Server/Node Zu Beginn müssen wir das Cluster Initialisieren. Dies wird üblicherweise auf dem ersten Server durchgeführt. In meinem Fall ist dies der Server mdh-vm01. Das Cluster wird mit einem Selbstgewählten Namen initialisiert. In diesem Fall MDH-CLUSTER. 1 pvecm create MDH - CLUSTER Listing 3: Erstellung des VM Clusters Nach der Initialisierung müssen nun alle anderen Server hinzugefügt werden. Für diesen Cluster sind es die Server mdh-vm02 und mdh-vm03. Auf diesen beiden Servern muss nun der folgende befehlt ausgeführt werden. Hiermit wird gesagt das ein Server dem gerade erstellten Cluster beitreten soll. Hierbei muss der FQDN oder die IP-Adresse des Servers eingegeben werden mit welchem das Cluster erstellt wurde. 1 pvecm create MDH - CLUSTER Listing 4: Hinzufügen der Server/Nodes zum Cluster 6.2.6 CEPH Cluster Erstellensc Installation von CEPH CEPH ist ein verteiltes Storages System, mit diesem Cluster werden alle daten der VMs automatisch an alle verfügbaren Nodes die in diesem CEPH Cluster sind übertragen. Somit kann gewährleistet werden das bei einem Serverausfall die VMs auf den anderen Nodes weiterhin mit minimaler Ausfallzeit laufen. 13
Zunächst muss auf jedem Node CEPH installiert werden, hierzu wird im Web UI einer der Server ausgewählt und auf den CEPTH gedrückt. Dort wird man aufgefordert CEPH zu Installieren. [Siehe Bild: XXXXX] Während der Installation muss ein Netzwerk ausgewählt werden worüber CEPH kom- muniziert. Es wird von CEPH empfohlen eine separate NIC mit 40Gbit zu verwenden. In meinem Fall wird dies über den selbe NIC laufen wie die allgemeine Netzwerkkom- munikation. [Siehe Bild: XXXXX] Hinzufügen von Monitoren Ein Ceph Monitor ist ein Daemon bzw. ein System-Dienst, welcher sich um Status- und Konfigurations-Informationen kümmert. Hinzufügen von Managern CEPH Manager sammeln Daten wie die Performance der Server, storage utilization und mehr. Hierzu wird im gleichen Tab wie in 7.2.5.2.2 die Manager hinzugefügt, dies geschieht für alle restlichen Nodes. [Siehe Bild: XXXXX] Hinzufügen von OSDs OSDs sind die wesentliche Speicher-Komponente des Clusters. OSDs bestehen aus ei- nem Storage Device (z.B. HDD/SSD), einem Daten-System (z.B. ext4,btrfs) und einen OSD Deamon. Der OSD Daemon ist ein Dienst, der die Clients mit den gespeicherten Objekten versorgt. Dieser Schritt muss nun auf allen Nodes ausgeführt werden. Hierbei ist zu beachten das man alle Datenträger hinzufügt, dies sieht man im Dropdown Menü. [Siehe Bild: XXXXX] Erstellung CRUSH rules CRUSH rules sind regeln die besagen z.b. welche arten von Festplatten z.B. SSD/HD- D/NVMe zu einem Pool zusammengefasst. Durch die Methode wird nun ein Storage von unterschiedlichen layern bereitgestellt, um je nach Bedarf ein passender Pool aus- zuwählen. Ebenso verhindert diese Methode inkonsistente Geschwindigkeit beim Lesen und Schreiben von daten. Dieser Befehl muss nur auf einen der Server ausgeführt werden. 14
1 ceph osd crush rule create - replicated only - ssd default host ssd 2 ceph osd crush rule create - replicated only - hdd default host hdd Listing 5: Erstellen der Crush rules Erstellung der Pools Ceph Pools sind logische Partition zum Speichern der Objekte. Dort werden die Daten der VMs final gespeichert. Für das Projekt erstellen wir zwei Pools, der erste Pool wird reiner HDD, und der zweite wird ein reiner SSD Speicher sein. • Der HDD Speicher wird genutzt, um große Datenmengen zu speichern so wie Si- cherungen der VMs zu erstellen. z.B Backups, Fileshare • Der SSD Speicher wird genutzt, um Priorisierte Daten zu verarbeiten. z.B. Daten- banken, RootFS der VMs. Dieser schritt muss nur auf einem Node im Web UI durchgeführt werden. Hierzu wird im Ceph Tab die Option Pools ausgewählt. [Siehe Bild: XXXXX] Zuerst wird ein Name des Pools vergeben, in dem Fall wird zuerst der SSD Pool erstellt und somit bekommt der Pool den Namen SSD. Nun wird die Size des Pools bestimmt, dies bedeutet auf wie vielen Datenträgern eine Kopie der Daten liegt. Die Min. Size hin- gegen sagt wie viele Datenträger mindestens online und verfügbar sein müssen bevor der Pool als nicht mehr Lese und Schreiben fähig eingestuft wird, um den höchstmöglichen Schutz der Daten zu schützen. Die Crush Rule hatten wir im vorherigen schritt schon erstellt, diese wählen wir nun aus. In diesem Fall only-ssd. Die pgn um wird hierbei auf Standard belassen. Der obige schritt kann für die HDDs mit einem angepassten Namen durchgeführt werden. Lediglich muss außer dem Namen noch die Crush Rule auf only-hdd gestell werden. 6.2.7 Migration von VMs Wie ich bereits im abschnitt 4.6 gesagt hatte ist der aktuelle CLuster zu Instabile um von dem aus VMs zu migrieren, unteraderem ist durch die aktuelle Home Office regelung es mir nicht gestattet in den Ausbildungsbetrieb zu gehen. 15
6.3 Validierung Bei der Validierung werden folgende Tests durchgeführt um zu Validieren das die Hoch- verfügbarkeit des Clusters gewärt ist. • Ausfalltests der Nodes (Stromausfall, Netzwerk) • Netzwerk (Auslastung, Packetloss) • Festplatten (Auslastung) • CEPH Storage Geschwindigkeit (OSD/Festplatten Ausfall) Ausfalltests • Nach dem auschhalten eines Nodes haben die VMs 5 Minuten gebraucht um sich auf die anderen Beiden Nodes zu migrieren. • Nach dem Abschalten zweier nodes. Werden keine VMs mehr Migriert, da die mindestanzahl von Zwei Nodes nicht mehr erfüllt werden, dies hat auch zu folge dass das Ceph cluster den Pool sperrt. • Beim abschalten der Netzwerke wurde das gleiche verhatlen vermekrt wie bei dem Stromausfall. Nach diesen Ergebnissen können wir rückschlüsse das der drei Node Cluster funktionert. Bei diesem Cluster ist es wichtig zu merken das wir eine ausfallsicherit auf nur einem Node haben. Wenn zwei Nodes ausfallen werden keine VMs mirgiert da die Nodes sich nicht absprechen können. Dies kann jedoch mit einem Zusätzlich Node oder einem Computer/Server der die ab- sprache übernimmt überbrückt werden. Dies wird aber nicht vom Proxmox entwicler team empfolhen. Netzwerk Um das Netzwerk zu testen wird das tool Iperf3 genutz, um alle drei Nodes zu be- lasten werden auf diese ein Ubuntu LXD Container erstellt. Dieser Container enthält das Progress Iperf3, diese werden als Clienten Konfiguriert und angewisen auf meinen Arbeitsplatz-PC daten zu senden. Hiermit wird eine Extreme last erzeugt, damit können wir die Leistung erkennen sowie ob die Nodes Netzwerk Packages droppen. • Bei einer Verbindung pro Node werden knapp 1Gbit empfangen und wurden 0 Packete Verloren. 16
• Bei drei Verbindungen pro Node werden knapp 266Mbit empfangen und wurden 0 Packete Verloren. Proxmox hat eine sehr Interligente verteilung der Netzwerklast, dies kann deutlich mit einen bonding merherer netzwerkkarten gestiegen werden. Hierzu ist es auch zu empfehlen ein egeies netzwerk für Cepth zu erstelln, diese sollte ein eigenständiges Netwerk sein mit eigenstädigen Netzwerkkarten. Damit wird die leistung von cepth enorm gestiegen wenn daten geschreieben und gelesen werden. Festplatten Bei einem Festplattenausfall wir man direkt von Ceph behnarrichtigt, in UI wird der pool direkt als degraidert dargetellt. Nach einem Wechsel der HDD wurde es direkt wie- der erkannt und Cepth hat direkt angefangen mit der wiederherstelltung. CEPH Storage • Datenübetrageung von 47.04Mbit/s. • Übetragung von einer 120GB vm hat ungefähr 15min gebraucht. In der aktuellen Konfiguration von dem Ceph Cluster werden die daten die gescheriben werden mit knapp 47.04 MiB/s gesended. Dies ist für den regulären betrieb sehr wenig. Ceph empfiehlt mindestens 10Gbit zu verwenden, allerdings sind 40Gbit zu empfehlen. Damit haben wir dann eine serh schnelle verbindung um die daten ohne verluste und ähnliches auf jeden Node zu übertragen. 7 Projektabschluss 7.1 Projektübergabe Das Projekt wurde in einem Abschlussmeeting vorgestellt und an den Auftraggeber des Projektes übergeben. Dabei wurde insbesondere die korrekte Funktionalität, sowie due Maßnahmen in Bezug auf die Datensichereit und Performance besprochen. Insbesondere die Notwendigkeit dies auf optimaler hardware umzusetzen. 7.2 Soll/Ist Vergleich Im Hinblick auf die Zielsetung des Projektes wurden die Projektziehe mit geringen ab- weichungen zur vollenden Zufriedenheit des Auftraggebers erreicht. 17
7.2.1 Sachziele Die funktionen der Anforderung wurden iin vollen Maße umgesetzt. Bei der verwendeten hardware gab es wie in 4.6 Abweichungenen gegenüber dem Projektantrag abweichungen die die resultate verfälschen. 7.2.2 Kostenziele Das Kostenziel wurde erreicht. Für die gesamte Projektumsetzung wurde aufkostenfreie OpenSource-Software gesetzt, so dass mit Ausnahme des personellen Aufwan-des keine Kosten für Lizenzgebühren oder Hardwarebeschaffungen auftraten. 7.2.3 Zeitziel Die Zeitplaung wurde erreicht, es gab keine abweichungen. 7.2.4 Qualitätsziel Der gesetze Qualitätsziel wurde erreicht, die Datasicherheit sowie die Stabilität wurde gewleistet. 7.3 Projektfazit/Reflexion Das projekt war meines erwartes eine sehr gute aufgabe im Hinblick auf due Thematiken der Ausbildungzeit. Während des projektes musste einige Themenbereiche im prakti- schen Umfang angewendet werden (DNS, SSH, Bash, Virtualisierung Datenschutz und Datensichereit). Dieses Projekt gab mir einen tiefen einblick die Vielzahl wichtiger Vir- tuallsierungsprozese und migration von vorhanden servern/Vms. Alles in allem bin ich mit dem Projektergebnis sehr zufrieden und hoffe, dass ich mich in Zukunft durch weitere Aufgaben im Bereich der Virtualisierung weiter in der Thematik vertiefen kann. 18
Sie können auch lesen