Aufbau einer ausfallsicheren IT-Infrastruktur. Teil 1 — Vorbereitung auf die Bereitstellung eines Clusters oVirt 4.3

Les lecteurs sont invités à découvrir les principes de la construction d'une infrastructure résiliente pour une petite entreprise dans le cadre d'un seul centre de données, qui seront détaillés dans un petit cycle d'articles.

Introduction

Unter Centre de données (Centre de Traitement de Données) peut être compris comme :

  • un rack propre dans son « local serveur » sur le site de l'entreprise, satisfaisant aux exigences minimales en matière d'alimentation électrique et de refroidissement de l'équipement, et ayant un accès à Internet via deux fournisseurs indépendants ;
  • un rack loué avec son propre équipement, situé dans un véritable centre de données – la soi-disant colocation, qui répond aux normes Tier III ou IV, et où une alimentation électrique fiable et un refroidissement sont garantis, ainsi qu'une sortie Internet redondante ;
  • un équipement entièrement loué dans un centre de données Tier III ou IV.

Quel choix de placement faire – cela dépend toujours des cas individuels et repose généralement sur plusieurs facteurs principaux :

  • pourquoi une entreprise a-t-elle besoin de sa propre infrastructure IT ;
  • was genau ein Unternehmen von der IT-Infrastruktur erwartet (Zuverlässigkeit, Skalierbarkeit, Manageability usw.);
  • der Höhe der Anfangsinvestitionen in die IT-Infrastruktur sowie welche Art von Kosten anfallen – Investitionskosten (eigene Hardware wird angeschafft) oder Betriebskosten (die Hardware wird normalerweise gemietet);
  • der Planungszeitraum des Unternehmens.

Es gibt viele Faktoren, die die Entscheidung eines Unternehmens zur Schaffung und Nutzung seiner IT-Infrastruktur beeinflussen können, aber unser Ziel ist es, in der Praxis zu zeigen, wie man genau diese Infrastruktur aufbaut, damit sie ausfallsicher ist und dabei auch Kosten gesenkt werden können – entweder durch die Reduzierung der Ausgaben für kommerzielle Software oder deren vollständige Vermeidung.

Langfristige Erfahrungen zeigen, dass man bei der Hardware nicht sparen sollte, denn Wer spart, zahlt oft mehr – und manchmal sogar viel mehr. Allerdings ist gute Hardware nur eine Empfehlung; letztendlich hängt es von den Möglichkeiten des Unternehmens und der „Sparsamkeit“ seiner Leitung ab. Dabei sollte das Wort „Sparsamkeit“ im positiven Sinne verstanden werden, denn es ist besser, zu Beginn in Hardware zu investieren, um später keine ernsthaften Probleme bei der Unterstützung und Skalierung zu haben. Falsche Planung und übermäßige Sparsamkeit können zu höheren Kosten führen als beim Projektstart.

Die Ausgangsdaten für das Projekt sind:

  • Ein Unternehmen möchte ein eigenes Webportal erstellen und seine Aktivitäten ins Internet bringen;
  • Das Unternehmen hat sich entschieden, einen Rackplatz für die Unterbringung seiner Hardware in einem hochwertigen, Tier-III-zertifizierten Rechenzentrum zu mieten;
  • Das Unternehmen hat beschlossen, nicht übermäßig bei der Hardware zu sparen und hat deshalb folgende Ausrüstung mit erweiterten Garantien und Support gekauft:

Ausrüstungsliste

  • zwei physische Dell PowerEdge R640 Server in folgender Konfiguration:
  • zwei Intel Xeon Gold 5120 Prozessoren
  • 512 GB RAM
  • zwei SAS-Festplatten im RAID1 für das Betriebssystem
  • eingebaute 4-Port 1G Netzwerkkarte
  • zwei 2-Port 10G Netzwerkkarten
  • ein 2-Port FC HBA 16G.
  • 2-Kontroller Dell MD3820f Speichersystem, direkt über FC 16G mit den Dell Hosts verbunden;
  • zwei Layer 2 Switches — Cisco WS-C2960RX-48FPS-L, die zu einem Stack verbunden sind;
  • zwei Layer 3 Switches — Cisco WS-C3850-24T-E, die zu einem Stack verbunden sind;
  • Rack, UPS, PDU, Konsolensysteme – werden vom Rechenzentrum bereitgestellt.

Wie wir sehen, bietet die vorhandene Hardware gute Perspektiven für horizontale und vertikale Skalierung, falls das Unternehmen in der Lage ist, mit anderen vergleichbaren Unternehmen im Internet zu konkurrieren und Gewinne zu erzielen, die in die Erweiterung von Ressourcen für weiteres Wachstum und Wettbewerbsfähigkeit investiert werden können.

Welche Hardware können wir hinzufügen, wenn das Unternehmen beschließt, die Leistung unseres Rechenclustern zu steigern:

  • wir haben eine große Kapazität an Ports auf den Switches 2960X, daher können weitere physische Server hinzugefügt werden;
  • kaufe zwei FC-Switches hinzu, um sie mit dem Speicherarray und zusätzlichen Servern zu verbinden;
  • bereits vorhandene Server können aufgerüstet werden – Arbeitsspeicher hinzufügen, leistungsfähigere Prozessoren installieren und mit bereits vorhandenen Netzwerkkarten ins 10G-Netz einbinden;
  • zum Speicherarray können zusätzliche Laufwerkschalen mit dem benötigten Typ von Festplatten – SAS, SATA oder SSD – hinzugefügt werden, abhängig von der geplanten Last;
  • nach dem Hinzufügen der FC-Switches kann ein weiteres Speicherarray gekauft werden, um mehr Speicherkapazität hinzuzufügen. Wenn die spezielle Option zur Remote-Replikation hinzugefügt wird, kann die Datenreplikation zwischen den Speicherarrays sowohl innerhalb eines Rechenzentrums als auch zwischen verschiedenen Rechenzentren eingestellt werden (aber das liegt außerhalb des Rahmens dieses Artikels);
  • es gibt auch Layer-3-Switches – Cisco 3850, die als ausfallsicherer Kern des Netzwerks verwendet werden können, um eine Hochgeschwindigkeits-Routing zwischen den internen Netzwerken zu ermöglichen. Dies wird in Zukunft sehr hilfreich sein, während die interne Infrastruktur wächst. Die 3850-Modelle verfügen über 10G-Ports, die später bei der Aktualisierung der Netzwerkausrüstung auf 10G genutzt werden können.

Da Virtualisierung heutzutage unverzichtbar ist, werden auch wir selbstverständlich am Puls der Zeit sein. Es ist zudem eine hervorragende Möglichkeit, die Kosten für den Kauf teurer Server für verschiedene Infrastrukturkomponenten (wie Webserver, Datenbanken usw.) zu reduzieren, die bei geringer Auslastung nicht immer optimal genutzt werden.

Darüber hinaus bietet die Virtualisierung viele weitere Vorteile, die uns sehr nützlich sein können: Ausfallsicherheit von VMs bei Hardwarefehlern, Live-Migration zwischen den Hardwareknoten des Clusters zur Wartung, manuelle oder automatische Lastverteilung zwischen den Clusterknoten usw.

Für Hardware, die von unserem Unternehmen angeschafft wurde, drängt sich der Einsatz eines hochverfügbaren VMware vSphere-Clusters auf. Da jedoch jede Software von VMware für ihre hohen Preise bekannt ist, werden wir völlig kostenlose Software zur Verwaltung von Virtualisierung einsetzen – oVirt, auf dessen Grundlage das bekannte, mittlerweile kommerzielle Produkt — RHEV.

Software oVirt ist notwendig, um alle Elemente der Infrastruktur zu einem Ganzen zu vereinen und eine einfache Arbeit mit hochverfügbaren virtuellen Maschinen zu ermöglichen – dazu gehören Datenbanken, Webanwendungen, Proxyserver, Lastenausgleichssysteme, Server zur Protokollsammlung und -analyse usw. All dies bildet den Webportal unseres Unternehmens.

Zusammenfassend erwarten uns in den kommenden Artikeln praktische Anleitungen, wie die gesamte hardware- und softwaretechnische Infrastruktur des Unternehmens aufgebaut wird:

Artikelübersicht

  • Teil 1. Vorbereitung auf die Bereitstellung des oVirt 4.3 Clusters.
  • Teil 2. Installation und Konfiguration des oVirt 4.3 Clusters.
  • Teil 3. Konfiguration des VyOS Clusters, Einrichtung der ausfallsicheren externen Router.
  • Teil 4. Konfiguration des Cisco 3850 Stacks, Einrichtung der internen Routen.

Teil 1: Vorbereitung auf die Bereitstellung des oVirt 4.3 Clusters

Grundkonfiguration der Hosts

Die Installation und Konfiguration des Betriebssystems ist der einfachste Schritt. Es gibt eine Vielzahl von Artikeln, die erklären, wie man das Betriebssystem richtig installiert und konfiguriert, daher macht es wenig Sinn, hier etwas Exklusives anzubieten.

Wir haben also zwei Dell PowerEdge R640 Hosts, auf denen ein Betriebssystem installiert und erste Konfigurationen vorgenommen werden müssen, um sie als Hypervisoren für die Ausführung virtueller Maschinen im oVirt 4.3 Cluster zu nutzen.

Da wir die kostenlose, nicht-kommerzielle Software oVirt verwenden möchten, wurde als Betriebssystem für die Bereitstellung der Hosts CentOS 7.7, gewählt, obwohl auch andere Betriebssysteme auf die Hosts für oVirt installiert werden können:

Vor der Installation des Betriebssystems empfiehlt es sich,

  • den iDRAC-Netzwerkschnittstelle auf beiden Hosts zu konfigurieren;
  • die Firmware für BIOS und iDRAC auf die neuesten Versionen zu aktualisieren;
  • das Systemprofil des Servers vorzugsweise im Leistungsmodus zu konfigurieren;
  • einen RAID-Verbund aus lokalen Festplatten (RAID1 wird empfohlen) für die Installation des Betriebssystems einzurichten.

Anschließend installieren wir das Betriebssystem auf dem zuvor über iDRAC erstellten Laufwerk – der Installationsprozess ist gewöhnlich und hat keine besonderen Merkmale. Der Zugriff auf die Serverkonsole für den Auftakt der OS-Installation kann ebenfalls über iDRAC erfolgen, obwohl es nichts hindert, einen Monitor, eine Tastatur und eine Maus direkt mit dem Server zu verbinden und das Betriebssystem von einem ‚USB-Stick‘ aus zu installieren.

Nach der Installation des Betriebssystems führen wir die ersten Einstellungen durch:

systemctl enable network.service
systemctl start network.service
systemctl status network.service

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager

yum install -y ntp
systemctl enable ntpd.service
systemctl start ntpd.service

cat /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targeted

cat /etc/security/limits.conf
 *               soft    nofile         65536
 *               hard   nofile         65536

cat /etc/sysctl.conf
vm.max_map_count = 262144
vm.swappiness = 1

Wir installieren die Grundausstattung an Software

Für die Erstkonfiguration des Betriebssystems muss mindestens eine Netzwerkschnittstelle auf dem Server eingerichtet werden, um Zugriff auf das Internet zu erhalten, damit das Betriebssystem aktualisiert und die erforderlichen Softwarepakete installiert werden können. Dies kann sowohl während der Installation des Betriebssystems als auch danach erfolgen.

yum -y install epel-release
yum update
yum -y install bind-utils yum-utils net-tools git htop iotop nmon pciutils sysfsutils sysstat mc nc rsync wget traceroute gzip unzip telnet 

Alle oben genannten Einstellungen und Softwarepakete sind eine Frage persönlicher Vorlieben und der angegebene Satz ist lediglich als Empfehlung zu verstehen.

Da unser Host als Hypervisor fungieren wird, aktivieren wir das erforderliche Leistungsprofil:

systemctl enable tuned 
systemctl start tuned 
systemctl status tuned 

tuned-adm profile 
tuned-adm profile virtual-host 

Weitere Informationen zum Leistungsprofil finden Sie hier: „Kapitel 4. tuned und tuned-adm«.

Nach der Installation des Betriebssystems gehen wir zum nächsten Schritt über – der Konfiguration der Netzwerkinterfaces auf den Hosts und des Stapels von Cisco 2960X Switches.

Konfiguration des Stapels von Cisco 2960X Switches

In unserem Projekt werden die folgenden VLAN-Nummern verwendet – oder Broadcast-Domänen, die voneinander isoliert sind, um verschiedene Arten von Datenverkehr zu trennen:

VLAN 10 – Internet
VLAN 17 – Management (iDRAC, Speicherverwaltung, Switch-Management)
VLAN 32 – VM Produktionsnetzwerk
VLAN 33 – Interconnection-Netzwerk (zu externen Auftragnehmern)
VLAN 34 – VM Testnetzwerk
VLAN 35 – VM Entwicklernetzwerk
VLAN 40 – Überwachungsnetzwerk

Vor Beginn der Arbeiten stellen wir das Schema auf L2-Ebene vor, das wir schließlich erreichen sollten:

Aufbau einer ausfallsicheren IT-Infrastruktur. Teil 1 — Vorbereitung auf die Bereitstellung eines Clusters oVirt 4.3

Für die Netzwerkkommunikation zwischen den oVirt-Hosts und den virtuellen Maschinen sowie für die Verwaltung unseres Speichersystems ist die Konfiguration des Cisco 2960X Switch-Stapels erforderlich.

Die Dell-Hosts verfügen über integrierte 4-Port-Netzwerkkarten, daher ist es sinnvoll, ihre Verbindung zu Cisco 2960X durch eine fehlertolerante Netzwerkverbindung zu organisieren, indem physische Netzwerkports in ein logisches Interface gebündelt und das Protokoll LACP (802.3ad) verwendet wird.

  • Die ersten beiden Ports des Hosts werden im Bonding-Modus konfiguriert und mit dem Switch 2960X verbunden – auf diesem logischen Interface wird eingerichtet Bridge mit einer Adresse zur Verwaltung des Hosts, für Monitoring und zur Kommunikation mit anderen Hosts im oVirt-Cluster; dies wird auch für die Live-Migration virtueller Maschinen verwendet.
  • Die zweiten beiden Ports des Hosts werden ebenfalls im Bonding-Modus konfiguriert und mit 2960X verbunden – auf diesem logischen Interface werden mit Hilfe von oVirt später Bridges (in den entsprechenden VLANs) erstellt, an die virtuelle Maschinen angeschlossen werden.
  • Beide Netzwerkports innerhalb eines logischen Interfaces werden aktiv sein, d.h. der Datenverkehr kann gleichzeitig über sie übertragen werden, im Lastenausgleichsmodus.
  • Die Netzwerkeinstellungen der Cluster-Knoten müssen absolut IDENTISCH sein, mit Ausnahme der IP-Adressen.

Die Grundeinrichtung des Switch-Stacks 2960X und seiner Ports

Vorab müssen unsere Switches folgendes sein:

  • in einem Rack montiert;
  • mittels zweier spezieller Kabel der erforderlichen Länge verbunden, z.B. CAB-STK-E-1M;
  • mit Strom versorgt;
  • Über das Konsolenport mit der Verwaltungsstation verbunden, um die anfängliche Konfiguration durchzuführen.

Eine entsprechende Anleitung hierfür finden Sie auf der offiziellen Seite des Herstellers.

Nach den oben genannten Schritten konfigurieren wir die Switches.
Die Bedeutung jeder einzelnen Kommandos wird in diesem Artikel nicht erläutert, alle Informationen können jedoch bei Bedarf selbstständig gefunden werden.
Unser Ziel ist es, den Switch-Stack so schnell wie möglich zu konfigurieren und Hosts sowie Verwaltungsinterfaces des SAN anzuschließen.

1) Wir stellen eine Verbindung zum führenden Switch her, wechseln in den privilegierten Modus, gehen dann in den Konfigurationsmodus und führen die Grundkonfiguration durch.

Basis-Konfiguration des Switches:

 aktivieren
 Konfigurieren Sie das Terminal

 hostname 2960X

 kein Dienst-Pad
 Dienstzeitstempel Debug-Datum Uhrzeit msec
 Dienstzeitstempel Protokoll-Datum Uhrzeit lokale Zeit anzeigen-Zeitzone msec
 kein Dienst-Passwort-Verschlüsselung
 Dienst Sequenznummern

 Switch 1 Priorität 15
 Switch 2 Priorität 14
 Stapel-MAC persistenter Timer 0

 Uhrzeit Zeitzone MSK 3
 vtp-Modus transparent
 ip subnet-zero

 vlan 17
 Name Management

 vlan 32
 Name PROD 

 vlan 33
 Name Interconnect

 vlan 34
 Name Test

 vlan 35
 Name Dev

 vlan 40
 Name Monitoring

 Spanning-Tree-Modus rapid-pvst
 Spanning-Tree-Etherchannel Guard misconfig
 Spanning-Tree-Portfast bpduguard standard
 Spanning-Tree system-id erweitern
 Spanning-Tree vlan 1-40 root primary
 Spanning-Tree loopguard standard
 vlan interne Zuteilungspolitik aufsteigend
 port-channel Lastenverteilung src-dst-ip

 errdisable Wiederherstellung Ursache loopback
 errdisable Wiederherstellung Ursache bpduguard
 errdisable Wiederherstellungsintervall 60

 Zeile con 0
 Sitzungszeitlimit 60
 exec-timeout 60 0
 Logging synchron
 Zeile vty 5 15
 Sitzungszeitlimit 60
 exec-timeout 60 0
 Logging synchron

 ip http Server
 ip http sicherer Server
 kein vstack

 Schnittstelle Vlan1
 keine IP-Adresse
 Herunterfahren

 Beenden 

Wir speichern die Konfiguration mit dem Befehl „wr mem“ und starten den Switch-Stapel mit dem Befehl „reload“ auf dem Hauptswitch switch 1.

2) Wir konfigurieren die Netzwerkports des Switches im Zugang (access) Modus in VLAN 17, um die Verwaltungsinterfaces der SAN und iDRAC-Server anzuschließen.

Konfiguration der Verwaltungsports:

Schnittstelle GigabitEthernet1/0/5
 Beschreibung iDRAC - host1
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge

Schnittstelle GigabitEthernet1/0/6
 Beschreibung Storage1 - Cntr0/Eth0
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge

Schnittstelle GigabitEthernet2/0/5
 Beschreibung iDRAC - host2
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge

Schnittstelle GigabitEthernet2/0/6
 Beschreibung Storage1 – Cntr1/Eth0
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge
 exit

3) Nach dem Neustart des Stacks überprüfen wir, ob er ordnungsgemäß funktioniert:

Überprüfung der Funktionsweise des Stacks:

2960X#show switch stack-ring speed

Stack Ring Geschwindigkeit      : 20G
Stack Ring Konfiguration       : Voll
Stack Ring Protokoll          : FlexStack

2960X#show switch stack-ports
  Switch #    Port 1       Port 2
  --------    ------       ------
    1           Ok           Ok
    2           Ok           Ok

2960X#show switch neighbors
  Switch #    Port 1       Port 2
  --------    ------       ------
      1         2             2
      2         1             1

2960X#show switch detail
Switch/Stack Mac Adresse : 0cd0.f8e4.XXXX
Mac Persistenz Wartezeit : Unbegrenzt
                                           H/W   Aktuell
Switch#  Rolle   Mac Adresse     Priorität Version  Status
----------------------------------------------------------
*1       Master 0cd0.f8e4.XXXX    15     4       Bereit
 2       Mitglied 0029.c251.XXXX     14     4       Bereit

         Stack Port Status             Nachbarn
Switch#  Port 1     Port 2           Port 1   Port 2
--------------------------------------------------------
  1        Ok         Ok                2        2
  2        Ok         Ok                1        1

4) Konfiguration des SSH-Zugangs zum Stack 2960X

Für die Fernverwaltung des Stacks über SSH verwenden wir die IP 172.20.1.10, die auf das SVI (Switch Virtual Interface) eingestellt ist. VLAN17.

Obwohl es für Verwaltungszwecke ratsam ist, einen speziellen dedizierten Port am Switch zu nutzen, ist dies eine persönliche Vorliebe und hängt von den Möglichkeiten ab.

Einrichtung des SSH-Zugangs zum Switch-Stack:

ip default-gateway 172.20.1.2

interface vlan 17
 ip address 172.20.1.10 255.255.255.0

hostname 2960X
 ip domain-name hw.home-lab.ru
 no ip domain-lookup

clock set 12:47:04 06 Dez 2019

crypto key generate rsa

ip ssh version 2
ip ssh time-out 90

line vty 0 4
 session-timeout 60
 exec-timeout 60 0
 privilege level 15
 logging synchronous
 transport input ssh

line vty 5 15
 session-timeout 60
 exec-timeout 60 0
 privilege level 15
 logging synchronous
 transport input ssh

aaa new-model
aaa authentication login default local
username cisco privilege 15 secret my_ssh_password

Wir konfigurieren das Passwort für den Zugriff auf den privilegierten Modus:

enable secret *myenablepassword*
service password-encryption

NTP konfigurieren:

ntp server 85.21.78.8 prefer
ntp server 89.221.207.113
ntp server 185.22.60.71
ntp server 192.36.143.130
ntp server 185.209.85.222

show ntp status
show ntp associations
show clock detail

5) Konfigurieren Sie die logischen Etherchannel-Schnittstellen und die physischen Ports, die mit den Hosts verbunden sind. Zur Vereinfachung der Konfiguration werden alle vorhandenen VLANs an allen logischen Schnittstellen erlaubt, jedoch wird in der Regel empfohlen, nur das zu konfigurieren, was notwendig ist.

Konfiguration der Etherchannel-Schnittstellen:

Schnittstelle Port-channel1
 Beschreibung EtherChannel mit Host1-Management
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 spanning-tree portfast edge trunk

Schnittstelle Port-channel2
 Beschreibung EtherChannel mit Host2-Management
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 spanning-tree portfast edge trunk

Schnittstelle Port-channel3
 Beschreibung EtherChannel mit Host1-VM
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 spanning-tree portfast edge trunk

Schnittstelle Port-channel4
 Beschreibung EtherChannel mit Host2-VM
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 spanning-tree portfast edge trunk

Schnittstelle GigabitEthernet1/0/1
 Beschreibung Host1-Management
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 channel-protokoll lacp
 channel-gruppe 1 Modus aktiv

Schnittstelle GigabitEthernet1/0/2
 Beschreibung Host2-Management
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 channel-protokoll lacp
 channel-gruppe 2 Modus aktiv

Schnittstelle GigabitEthernet1/0/3
 Beschreibung Host1-VM
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 channel-protokoll lacp
 channel-gruppe 3 Modus aktiv

Schnittstelle GigabitEthernet1/0/4
 Beschreibung Host2-VM
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 channel-protokoll lacp
 channel-gruppe 4 Modus aktiv

Schnittstelle GigabitEthernet2/0/1
 Beschreibung Host1-Management
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 channel-protokoll lacp
 channel-gruppe 1 Modus aktiv

Schnittstelle GigabitEthernet2/0/2
 Beschreibung Host2-Management
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 channel-protokoll lacp
 channel-gruppe 2 Modus aktiv

Schnittstelle GigabitEthernet2/0/3
 Beschreibung Host1-VM
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 channel-protokoll lacp
 channel-gruppe 3 Modus aktiv

Schnittstelle GigabitEthernet2/0/4
 Beschreibung Host2-VM
 switchport trunk erlaubte VLANs 10,17,30-40
 switchport Modus trunk
 channel-protokoll lacp
 channel-gruppe 4 Modus aktiv

Erste Einrichtung der Netzwerkinterfaces für virtuelle Maschinen auf den Hosts Host1 und Host2

Überprüfen wir die notwendigen Module für das Bonding im System und installieren das Modul zur Verwaltung der Bridges:

modinfo bonding
modinfo 8021q
yum install bridge-utils

Konfiguration des logischen Interfaces BOND1 für virtuelle Maschinen auf den Hosts und dessen physikalischen Interfaces:

cat /etc/sysconfig/network-scripts/ifcfg-bond1
#BESCHREIBUNG - Verwaltung
DEVICE=bond1
NAME=bond1
TYPE=Bond
IPV6INIT=no
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
BOOTPROTO=none
BONDING_OPTS='mode=4 lacp_rate=1 xmit_hash_policy=2'

cat /etc/sysconfig/network-scripts/ifcfg-em2
#BESCHREIBUNG - Verwaltung
DEVICE=em2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no
NM_CONTROLLED=no

cat /etc/sysconfig/network-scripts/ifcfg-em3
#BESCHREIBUNG - Verwaltung
DEVICE=em3
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no
NM_CONTROLLED=no 

Nach Abschluss der Konfiguration auf den Stacks 2960X und Hosts, starten wir das Netzwerk auf den Hosts neu und überprüfen die Funktionsfähigkeit des logischen Interfaces.

  • auf dem Host:

systemctl restart network

cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (27. April 2011)

Bonding-Modus: IEEE 802.3ad Dynamische Linkaggregation
Übertragungs-Hash-Richtlinie: layer2+3 (2)
MII-Status: aktiv
MII-Polling-Intervall (ms): 100
Hochlaufverzögerung (ms): 0
Abschaltverzögerung (ms): 0
...
802.3ad-Informationen
LACP-Rate: schnell
Minimale Links: 0
Aggregator-Auswahlrichtlinie (ad_select): stabil
Systempriorität: 65535
...
Slave-Interface: em2
MII-Status: aktiv
Geschwindigkeit: 1000 Mbps
Duplextyp: voll
...
Slave-Interface: em3
MII-Status: aktiv
Geschwindigkeit: 1000 Mbps
Duplextyp: voll

  • auf dem Switch-Stack 2960X:

2960X#show lacp internal
Flags:  S - Gerät fordert langsame LACPDUs an
        F - Gerät fordert schnelle LACPDUs an
        A - Gerät ist im aktiven Modus       P - Gerät ist im passiven Modus

Kanalgruppe 1
                            LACP-Port     Admin     Oper   Port        Port
Port      Flags   Status     Priorität      Schlüssel   Schlüssel   Nummer      Zustand
Gi1/0/1   SA      bndl      32768         0x1       0x1     0x102       0x3D
Gi2/0/1   SA      bndl      32768         0x1       0x1     0x202       0x3D

2960X#sh etherchannel summary
Flags:  D - herunter        P - im Port-Kanal gebündelt
        I - eigenständig s - ausgesetzt
        H - Hot-Standby (nur LACP)
        R - Layer3      S - Layer2
        U - in Verwendung      N - nicht in Verwendung, keine Aggregation
        f - fehlgeschlagen, Aggregator konnte nicht zugewiesen werden

        M - nicht in Verwendung, minimale Links nicht erfüllt
        m - nicht in Verwendung, Port nicht aggregiert aufgrund minimaler Links nicht erfüllt
        u - ungeeignet für Bündelung
        w - wartet auf Aggregation
        d - Standardport

        A - gebildet durch Auto LAG

Anzahl der verwendeten Kanalgruppen: 11
Anzahl der Aggregatoren:           11

Gruppe  Port-Kanal    Protokoll    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         LACP      Gi1/0/1(P)  Gi2/0/1(P)

Erste Konfiguration der Netzwerkschnittstellen zur Ressourcenverwaltung des Clusters auf den Hosts Host1 und Host2

Konfiguration des logischen Interfaces BOND1 auf den Hosts zur Verwaltung und seiner physischen Schnittstellen:

cat /etc/sysconfig/network-scripts/ifcfg-bond0
#BESCHREIBUNG - Verwaltung
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPV6INIT=no
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
BOOTPROTO=none
BONDING_OPTS='mode=4 lacp_rate=1 xmit_hash_policy=2'

cat /etc/sysconfig/network-scripts/ifcfg-em0
#BESCHREIBUNG - Verwaltung
DEVICE=em0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_CONTROLLED=no

cat /etc/sysconfig/network-scripts/ifcfg-em1
#BESCHREIBUNG - Verwaltung
DEVICE=em1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_CONTROLLED=no 

Nach Abschluss der Konfiguration auf den Stacks 2960X und Hosts, starten wir das Netzwerk auf den Hosts neu und überprüfen die Funktionsfähigkeit des logischen Interfaces.

systemctl restart network
cat /proc/net/bonding/bond1

2960X#show lacp internal
2960X#sh etherchannel summary

Wir konfigurieren die Verwaltungsnetzwerkschnittstelle auf jedem Host in VLAN 17, und binden sie an die logische Schnittstelle BOND1:

Einstellung von VLAN17 auf Host1:

cat /etc/sysconfig/network-scripts/ifcfg-bond1.17
DEVICE=bond1.17
NAME=bond1-vlan17
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
VLAN=yes
MTU=1500
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
IPADDR=172.20.17.163
NETMASK=255.255.255.0
GATEWAY=172.20.17.2
DEFROUTE=yes
DNS1=172.20.17.8
DNS2=172.20.17.9
ZONE=public

Einstellung von VLAN17 auf Host2:

cat /etc/sysconfig/network-scripts/ifcfg-bond1.17
DEVICE=bond1.17
NAME=bond1-vlan17
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
VLAN=yes
MTU=1500
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
IPADDR=172.20.17.164
NETMASK=255.255.255.0
GATEWAY=172.20.17.2
DEFROUTE=yes
DNS1=172.20.17.8
DNS2=172.20.17.9
ZONE=public

Wir starten das Netzwerk auf den Hosts neu und überprüfen ihre Sichtbarkeit untereinander.

Die Konfiguration des Cisco 2960X Switch-Stacks ist abgeschlossen. Wenn alles richtig gemacht wurde, haben wir jetzt eine Netzwerkverbindung aller Infrastrukturelemente auf L2-Ebene.

Konfiguration des Dell MD3820f SAN.

Vor Beginn der Arbeiten an der SAN-Konfiguration muss diese bereits an den Stack der Cisco-Switches angeschlossen sein. 2960X verwaltende Schnittstellen sowie an die Hosts. Host1 und Host2 über FC.

Das allgemeine Schema, wie das SAN an den Switch-Stack angeschlossen werden sollte, wurde im vorherigen Kapitel erläutert.

Das Anschlussdiagramm des SAN über FC an die Hosts sollte wie folgt aussehen:

Aufbau einer ausfallsicheren IT-Infrastruktur. Teil 1 — Vorbereitung auf die Bereitstellung eines Clusters oVirt 4.3

Während des Anschlusses müssen die WWPN-Adressen der FC HBA-Hosts, die an die FC-Ports des SAN angeschlossen sind, notiert werden – dies ist für die spätere Zuweisung der Hosts zu den LUNs auf dem SAN erforderlich.

Für die Verwaltung des Dell MD3820f SAN laden wir das Verwaltungswerkzeug herunter und installieren es auf dem Administrationsarbeitsplatz – PowerVault Modular Disk Storage Manager. (MDSM.).
Wir verbinden uns über die standardmäßigen IP-Adressen und konfigurieren dann unsere Adressen zur VLAN17Verwaltung der Controller über TCP/IP:

Storage1.:

ControllerA IP - 172.20.1.13, MASK - 255.255.255.0, Gateway - 172.20.1.2
ControllerB IP - 172.20.1.14, MASK - 255.255.255.0, Gateway - 172.20.1.2.

Nachdem die Adressen konfiguriert sind, gehen wir in die Verwaltungsoberfläche des SAN und setzen das Passwort, konfigurieren die Zeit, und aktualisieren die Firmware für Controller und Festplatten, falls erforderlich, usw.
Wie das geht, ist im Administrationshandbuch für das SAN beschrieben.

Nach Abschluss der oben genannten Einstellungen müssen wir nur noch einige Schritte durchführen:

  1. Die Host-FC-Port-Identifikatoren konfigurieren – Host Port Identifiers.
  2. Eine Host-Gruppe erstellen – Host group und unsere beiden Dell-Hosts hinzufügen.
  3. Eine Festplattengruppe erstellen und darin virtuelle Festplatten (oder LUNs), die den Hosts präsentiert werden.
  4. Die Präsentation der virtuellen Festplatten (oder LUNs) für die Hosts konfigurieren.

Die Hinzufügung neuer Hosts und die Zuordnung der Host-FC-Port-Identifikatoren erfolgt über das Menü – Host Mappings -> Definieren -> Hosts…
Die WWPN-Adressen der FC-HBA-Hosts finden Sie beispielsweise im iDRAC des Servers.

In der Folge sollte das etwa so aussehen:

Aufbau einer ausfallsicheren IT-Infrastruktur. Teil 1 — Vorbereitung auf die Bereitstellung eines Clusters oVirt 4.3

Die Hinzufügung einer neuen Host-Gruppe und das Hinzufügen von Hosts erfolgt über das Menü – Host Mappings -> Definieren -> Host Group…
Für die Hosts wählen wir den OS-Typ – Linux (DM-MP).

Nach der Erstellung der Host-Gruppe erstellen wir über den Tab Storage & Copy Serviceseine Festplattengruppe – Disk Group, mit einem Typ, der von den Anforderungen an die Ausfallsicherheit abhängt, z. B. RAID10, und darin virtuelle Festplatten der benötigten Größe:

Aufbau einer ausfallsicheren IT-Infrastruktur. Teil 1 — Vorbereitung auf die Bereitstellung eines Clusters oVirt 4.3

Und schließlich der letzte Schritt – die Präsentation der virtuellen Festplatten (oder LUNs) für die Hosts.
Dazu über das Menü – Host Mappings -> Lun-Zuordnung -> Hinzufügen… verknüpfen wir die virtuellen Festplatten mit den Hosts und weisen ihnen Nummern zu.

Es sollte so aussehen wie auf diesem Screenshot:

Aufbau einer ausfallsicheren IT-Infrastruktur. Teil 1 — Vorbereitung auf die Bereitstellung eines Clusters oVirt 4.3

Damit beenden wir die Einrichtung des SAN, und wenn alles richtig gemacht wurde, sollten die Hosts die ihnen präsentierten LUNs über ihre FC HBA sehen.
Lassen Sie uns das System zwingen, die Informationen über die angeschlossenen Festplatten zu aktualisieren:

ls -la /sys/class/scsi_host/
echo "- - -" > /sys/class/scsi_host/host[0-9]/scan

Schauen wir, welche Geräte auf unseren Servern sichtbar sind:

cat /proc/scsi/scsi
Angeschlossene Geräte:
Host: scsi0 Kanal: 02 Id: 00 Lun: 00
  Hersteller: DELL     Modell: PERC H330 Mini   Revision: 4.29
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05
Host: scsi15 Kanal: 00 Id: 00 Lun: 00
  Hersteller: DELL     Modell: MD38xxf          Revision: 0825
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05
Host: scsi15 Kanal: 00 Id: 00 Lun: 01
  Hersteller: DELL     Modell: MD38xxf          Revision: 0825
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05
Host: scsi15 Kanal: 00 Id: 00 Lun: 04
  Hersteller: DELL     Modell: MD38xxf          Revision: 0825
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05
Host: scsi15 Kanal: 00 Id: 00 Lun: 11
  Hersteller: DELL     Modell: MD38xxf          Revision: 0825
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05
Host: scsi15 Kanal: 00 Id: 00 Lun: 31
  Hersteller: DELL     Modell: Universal Xport  Revision: 0825
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05
Host: scsi18 Kanal: 00 Id: 00 Lun: 00
  Hersteller: DELL     Modell: MD38xxf          Revision: 0825
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05
Host: scsi18 Kanal: 00 Id: 00 Lun: 01
  Hersteller: DELL     Modell: MD38xxf          Revision: 0825
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05
Host: scsi18 Kanal: 00 Id: 00 Lun: 04
  Hersteller: DELL     Modell: MD38xxf          Revision: 0825
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05
Host: scsi18 Kanal: 00 Id: 00 Lun: 11
  Hersteller: DELL     Modell: MD38xxf          Revision: 0825
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05
Host: scsi18 Kanal: 00 Id: 00 Lun: 31
  Hersteller: DELL     Modell: Universal Xport  Revision: 0825
  Typ:   Direkter Zugriff                    ANSI SCSI Revision: 05

lsscsi
[0:2:0:0]    Festplatte    DELL     PERC H330 Mini   4.29  /dev/sda
[15:0:0:0]   Festplatte    DELL     MD38xxf          0825  -
[15:0:0:1]   Festplatte    DELL     MD38xxf          0825  /dev/sdb
[15:0:0:4]   Festplatte    DELL     MD38xxf          0825  /dev/sdc
[15:0:0:11]  Festplatte    DELL     MD38xxf          0825  /dev/sdd
[15:0:0:31]  Festplatte    DELL     Universal Xport  0825  -
 [18:0:0:0]   Festplatte    DELL     MD38xxf          0825  -
[18:0:0:1]   Festplatte    DELL     MD38xxf          0825  /dev/sdi
[18:0:0:4]   Festplatte    DELL     MD38xxf          0825  /dev/sdj
[18:0:0:11]  Festplatte    DELL     MD38xxf          0825  /dev/sdk
[18:0:0:31]  Festplatte    DELL     Universal Xport  0825  -

Auf unseren Servern können Sie außerdem zusätzliche Einstellungen vornehmen. Multipath, und obwohl oVirt dies bei der Installation automatisch erledigen kann, ist es besser, die Funktionsweise des MP im Voraus selbst zu überprüfen.

Installation und Konfiguration von DM Multipath

yum install device-mapper-multipath
mpathconf --enable --user_friendly_names y

cat /etc/multipath.conf | egrep -v "^s*(#|$)"
defaults {
    user_friendly_names yes
            find_multipaths yes
}

blacklist {
  wwid 26353900f02796769
  devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"     
  devnode "^hd[a-z]"
 }

Wir aktivieren den MP-Dienst beim Systemstart und starten ihn:

systemctl enable multipathd && systemctl restart multipathd

Überprüfung der Informationen zu den geladenen Modulen für die MP-Arbeit:

lsmod | grep dm_multipath
dm_multipath           27792  6 dm_service_time
dm_mod                124407  139 dm_multipath,dm_log,dm_mirror

modinfo dm_multipath
filename:       /lib/modules/3.10.0-957.12.2.el7.x86_64/kernel/drivers/md/dm-multipath.ko.xz
license:        GPL
author:         Sistina Software 
description:    device-mapper multipath target
retpoline:      Y
rhelversion:    7.6
srcversion:     985A03DCAF053D4910E53EE
depends:        dm-mod
intree:         Y
vermagic:       3.10.0-957.12.2.el7.x86_64 SMP mod_unload modversions
signer:         CentOS Linux kernel signing key
sig_key:        A3:2D:39:46:F2:D3:58:EA:52:30:1F:63:37:8A:37:A5:54:03:00:45
sig_hashalgo:   sha256

Wir sehen uns die Zusammenfassung der bestehenden Multipath-Konfiguration an:

mpathconf
multipath is enabled
find_multipaths is disabled
user_friendly_names is disabled
dm_multipath module is loaded
multipathd is running

Nachdem ein neuer LUN zum SAN hinzugefügt und dem Host präsentiert wurde, muss auf diesem ein Scan der an den Host angeschlossenen HBAs durchgeführt werden.

systemctl reload multipathd
multipath -v2

Zum Schluss überprüfen wir, ob alle LUNs auf dem SAN für die Hosts präsentiert wurden und ob für alle zwei Pfade bestehen.

Überprüfung der MP-Funktion:

multipath -ll
3600a098000e4b4b3000003175cec1840 dm-2 DELL    ,MD38xxf
Größe=2,0T Merkmale='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- Richtlinie='service-time 0' prio=14 Status=aktiv
| `- 15:0:0:1  sdb 8:16  aktiv bereit laufend
`-+- Richtlinie='service-time 0' prio=9 Status=aktiviert
  `- 18:0:0:1  sdi 8:128 aktiv bereit laufend
3600a098000e4b48f000002ab5cec1921 dm-6 DELL    ,MD38xxf
Größe=10T Merkmale='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- Richtlinie='service-time 0' prio=14 Status=aktiv
| `- 18:0:0:11 sdk 8:160 aktiv bereit laufend
`-+- Richtlinie='service-time 0' prio=9 Status=aktiviert
  `- 15:0:0:11 sdd 8:48  aktiv bereit laufend
3600a098000e4b4b3000003c95d171065 dm-3 DELL    ,MD38xxf
Größe=150G Merkmale='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- Richtlinie='service-time 0' prio=14 Status=aktiv
| `- 15:0:0:4  sdc 8:32  aktiv bereit laufend
`-+- Richtlinie='service-time 0' prio=9 Status=aktiviert
  `- 18:0:0:4  sdj 8:144 aktiv bereit laufend

Wie zu sehen ist, sind alle drei virtuellen Festplatten auf dem SAN über zwei Pfade sichtbar. Alle Vorbereitungsarbeiten sind somit abgeschlossen, und wir können mit dem nächsten Schritt - der Konfiguration des oVirt-Clusters - fortfahren, der im nächsten Artikel behandelt wird.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster