Erstellung einer ausfallsicheren IT-Infrastruktur. Teil 1 – Vorbereitung auf die Bereitstellung des oVirt 4.3 Clusters

Lesen Sie die Prinzipien des Aufbaus einer ausfallsicheren Infrastruktur fĂŒr ein kleines Unternehmen innerhalb eines Rechenzentrums (RCZ), die in einem kleinen Artikelzyklus detailliert behandelt werden.

Einleitung

Pod Rechenzentrum (Rechenzentrum) kann verstanden werden als:

  • ein eigener Rack im eigenen "Serverraum" auf dem BetriebsgelĂ€nde, der die minimalen Anforderungen an die Stromversorgung und KĂŒhlung der GerĂ€te erfĂŒllt und zudem einen Internetzugang ĂŒber zwei unabhĂ€ngige Anbieter bereitstellt;
  • ein gemietetes Rack mit eigener Hardware, das sich in einem echten Rechenzentrum befindet – das sogenannte Colocation, das dem Tier-III- oder Tier-IV-Standard entspricht und das eine zuverlĂ€ssige Stromversorgung, KĂŒhlung und eine ausfallsichere Internetverbindung garantiert;
  • vollstĂ€ndig gemietete AusrĂŒstung im Rechenzentrum der Stufen Tier III oder IV.

Welches Platzierungsmodell gewÀhlt werden soll, ist in jedem Fall individuell und hÀngt normalerweise von mehreren Grundfaktoren ab:

  • wofĂŒr ein Unternehmen ĂŒberhaupt eine eigene IT-Infrastruktur benötigt;
  • was genau das Unternehmen von der IT-Infrastruktur erwartet (ZuverlĂ€ssigkeit, Skalierbarkeit, Managebarkeit usw.);
  • der Höhe der anfĂ€nglichen Investitionen in die IT-Infrastruktur sowie der Art der Ausgaben dafĂŒr – kapitalintensiv (d.h. eigene GerĂ€te werden gekauft) oder operativ (GerĂ€te werden in der Regel gemietet);
  • dem Planungshorizont des Unternehmens selbst.

Man könnte viel ĂŒber die Faktoren schreiben, die die Entscheidung des Unternehmens zur Einrichtung und Nutzung seiner IT-Infrastruktur beeinflussen, aber unser Ziel ist es zu zeigen, wie man diese Infrastruktur praktisch so schaffen kann, dass sie sowohl ausfallsicher ist, als auch Kosten gesenkt werden können – um Ausgaben fĂŒr den Erwerb kommerzieller Software zu verringern oder sie ganz zu vermeiden.

Langfristige Erfahrung zeigt, dass man bei der Hardware nicht sparen sollte, denn der Geizige zahlt zweimal, und oft sogar wesentlich mehr. Andererseits ist gute Hardware nur eine Empfehlung, und letztendlich hĂ€ngt es von den Möglichkeiten des Unternehmens und der "Sparsamkeit" seiner FĂŒhrung ab. Dabei sollte das Wort "Sparsamkeit" im positiven Sinne verstanden werden, da es besser ist, in der Anfangsphase in Hardware zu investieren, um spĂ€ter keine ernsthaften Probleme bei deren Wartung und Skalierung zu haben. Falsche Planung und ĂŒbermĂ€ĂŸiges Sparen können in Zukunft zu grĂ¶ĂŸeren Ausgaben fĂŒhren als bei der Projektinitialisierung.

Also, die Ausgangsdaten fĂŒr das Projekt:

  • ein Unternehmen, das beschlossen hat, ein eigenes Webportal zu erstellen und seine AktivitĂ€ten ins Internet zu bringen;
  • das Unternehmen hat beschlossen, einen Rackspace fĂŒr die Unterbringung seiner Hardware in einem guten Rechenzentrum mit Tier-III-Zertifizierung zu mieten;
  • das Unternehmen hat beschlossen, bei der Hardware nicht zu sparen, und hat daher folgende GerĂ€te mit erweiterten Garantien und Support gekauft:

Liste der GerÀte

  • zwei physische Server Dell PowerEdge R640 in folgender Konfiguration:
  • zwei Intel Xeon Gold 5120 Prozessoren
  • 512 Gb RAM
  • zwei SAS-Laufwerke im RAID1 fĂŒr das Betriebssystem
  • eingebautes 4-Port 1G Netzwerkkarten
  • zwei 2-Port 10G Netzwerkkarten
  • eine 2-Port FC HBA 16G.
  • 2-controller Storage Area Network Dell MD3820f, direkt per FC 16G mit Dell-Hosts verbunden;
  • zwei Layer-2-Switches — Cisco WS-C2960RX-48FPS-L in einem Stack verbunden;
  • zwei Layer-3-Switches — Cisco WS-C3850-24T-E, in einem Stack verbunden;
  • Rack, UPS, PDU, Konsolenserver – 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 Ă€hnlich profilierten Firmen im Internet zu konkurrieren und Gewinne zu erzielen, die in die Erweiterung der Ressourcen fĂŒr weiteren Wettbewerb und Gewinnwachstum investiert werden können.

Welches Equipment können wir hinzufĂŒgen, wenn das Unternehmen beschließt, die Leistung unseres Rechenzentrums zu erhöhen:

  • wir haben eine große Reserve an Ports auf den Switches 2960X, also können wir mehr physische Server hinzufĂŒgen;
  • Zwei FC-Switches nachkaufen, um SAN und zusĂ€tzliche Server anzuschließen;
  • Die bereits vorhandenen Server können aufgerĂŒstet werden – mehr RAM hinzufĂŒgen, Prozessoren gegen leistungsstĂ€rkere austauschen, bereits vorhandene Netzwerkadapter fĂŒr 10G verwenden;
  • Zur SAN können zusĂ€tzliche Festplattenregale mit dem notwendigen Festplattentyp – SAS, SATA oder SSD – hinzugefĂŒgt werden, abhĂ€ngig von der geplanten Last;
  • Nach dem HinzufĂŒgen der FC-Switches kann noch eine weitere SAN gekauft werden, um die SpeicherkapazitĂ€t weiter zu erhöhen. Wenn man zudem die spezielle Option Remote Replication hinzufĂŒgt, kann die Datenreplikation zwischen SANs sowohl innerhalb eines Rechenzentrums als auch zwischen Rechenzentren eingerichtet werden (aber das liegt bereits außerhalb des Rahmens dieses Artikels);
  • Außerdem gibt es Layer-3-Switches – Cisco 3850, die als ausfallresistentes Kernnetzwerk verwendet werden können, um Hochgeschwindigkeitsrouting zwischen internen Netzwerken zu ermöglichen. Das wird uns in Zukunft sehr helfen, wĂ€hrend die interne Infrastruktur wĂ€chst. Auch die 3850 haben 10G-Ports, die spĂ€ter bei der Aktualisierung der NetzwerkausrĂŒstung auf 10G genutzt werden können.

Da man ohne Virtualisierung heutzutage kaum auskommt, werden wir natĂŒrlich im Trend sein, zumal es eine hervorragende Möglichkeit ist, die Kosten fĂŒr den Erwerb teurer Server fĂŒr bestimmte Infrastrukturkomponenten (Web-Server, Datenbanken usw.) zu senken, die bei niedriger Last nicht immer optimal genutzt werden, wie es zu Beginn der Projektstart der Fall sein wird.

DarĂŒber hinaus hat die Virtualisierung viele andere Vorteile, die uns sehr nĂŒtzlich sein können: Ausfallsicherheit der VMs bei einem Hardwareausfall, Live-Migration zwischen den Knoten des Clusters zur Wartung, manuelle oder automatische Lastverteilung zwischen den Knoten des Clusters usw.

FĂŒr die Hardware, die das Unternehmen erworben hat, bietet sich das Deployment eines hochverfĂŒgbaren VMware vSphere-Clusters an, aber da jede Software von VMware fĂŒr ihre â€žĂŒberteuerten“ Preise bekannt ist, werden wir kostenlose Software zur Verwaltung der Virtualisierung verwenden – oVirt, auf deren Grundlage das bekannte, aber bereits kommerzielle Produkt — RHEV.

Software oVirt Notwendig, um alle Elemente der Infrastruktur zu einem Ganzen zu verbinden, um eine bequeme Arbeit mit hochverfĂŒgbaren virtuellen Maschinen zu ermöglichen – das sind Datenbanken, Webanwendungen, Proxy-Server, LastverteilungsgerĂ€te, Server fĂŒr Log-Sammlung und Analytik usw., also das, was unser Unternehmens-Webportal ausmacht.

Zusammenfassend erwartet uns in dieser Einleitung die folgenden Artikel, die in der Praxis zeigen werden, wie genau die gesamte Hardware- und Software-Infrastruktur des Unternehmens bereitgestellt wird:

Liste der Artikel

  • Teil 1. Vorbereitung auf den Einsatz des Clusters oVirt 4.3.
  • Teil 2. Installation und Konfiguration des Clusters oVirt 4.3.
  • Teil 3. Konfiguration des VyOS-Clusterns, Organisation einer ausfallsicheren externen Routing.
  • Teil 4. Konfiguration des Cisco 3850-Stapels, Organisation des internen Routings.

Teil 1. Vorbereitung auf den Einsatz des Clusters oVirt 4.3

Grundkonfiguration der Hosts

Die Installation und Konfiguration des Betriebssystems ist der einfachste Schritt. Es gibt unzÀhlige Artikel, die erklÀren, wie man das Betriebssystem richtig installiert und konfiguriert, daher macht es keinen Sinn, in dieser Hinsicht etwas Exklusives zu versuchen.

Wir haben also zwei Dell PowerEdge R640-Hosts, auf denen das Betriebssystem installiert werden muss und die ersten Einstellungen vorgenommen werden mĂŒssen, um sie als Hypervisoren fĂŒr den Betrieb von virtuellen Maschinen im Cluster oVirt 4.3 zu verwenden.

Da wir planen, die kostenlose nicht-kommerzielle Software oVirt zu verwenden, wurde fĂŒr die Bereitstellung der Hosts das Betriebssystem CentOS 7.7gewĂ€hlt, obwohl auch andere Betriebssysteme auf die Hosts fĂŒr oVirt installiert werden können:

  • eine spezielle Build-Version basierend auf RHEL, bekannt als oVirt Node;
  • Das Betriebssystem Oracle Linux, das im Sommer 2019 unterstĂŒtzt wurde, wurde angekĂŒndigt.

Vor der Installation des Betriebssystems wird empfohlen:

  • die Netzwerkschnittstelle iDRAC an beiden Hosts zu konfigurieren;
  • die Firmware fĂŒr BIOS und iDRAC auf die neuesten Versionen zu aktualisieren;
  • das Systemprofil des Servers idealerweise im Leistungsmodus zu konfigurieren;
  • RAID aus lokalen Festplatten einzurichten (RAID1 wird empfohlen), um das Betriebssystem auf dem Server zu installieren.

Dann installieren wir das Betriebssystem auf dem ĂŒber iDRAC erstellten Disk – der Installationsprozess ist gewöhnlich, es gibt keine besonderen Punkte. Der Zugriff auf die Konsole des Servers, um mit der Installation des Betriebssystems zu beginnen, kann ebenfalls ĂŒber iDRAC erfolgen, obwohl nichts dagegen spricht, einen Monitor, eine Tastatur und eine Maus direkt mit dem Server zu verbinden und das Betriebssystem von einem USB-Stick zu installieren.

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

systemctl aktivieren network.service
systemctl starten network.service
systemctl status network.service

systemctl stoppen NetworkManager
systemctl deaktivieren NetworkManager
systemctl status NetworkManager

yum install -y ntp
systemctl aktivieren ntpd.service
systemctl starten ntpd.service

cat /etc/sysconfig/selinux
SELINUX=deaktiviert
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 ein Basis-Softwarepaket

FĂŒr die ursprĂŒngliche Konfiguration des Betriebsystems muss irgendeine Netzwerkschnittstelle auf dem Server konfiguriert werden, um Internetzugang zu erhalten, fĂŒr Updates des Betriebssystems und die Installation der nötigen Software. 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 der persönlichen Vorlieben, und dieses Paket hat lediglich einen empfehlenden Charakter.

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

systemctl aktivieren tuned
systemctl starten tuned
systemctl status tuned 

tuned-adm profil
tuned-adm profil virtual-host 

Mehr ĂŒber das Leistungsprofil kann hier gelesen werden: „Kapitel 4. tuned und tuned-adm«.

Nach der Installation des Betriebssystems gehen wir zum nĂ€chsten Teil ĂŒber – der Konfiguration der Netzwerkschnittstellen auf den Hosts und dem Stack der Cisco 2960X-Switches.

Konfiguration des Cisco 2960X-Switch-Stapels

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

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

Vor Beginn der Arbeiten geben wir ein Schaubild auf L2-Ebene an, das wir letztendlich erreichen wollen:

Erstellung einer ausfallsicheren IT-Infrastruktur. Teil 1 – Vorbereitung auf die Bereitstellung des oVirt 4.3 Clusters

FĂŒr die Netzwerkkommunikation zwischen oVirt-Hosts und virtuellen Maschinen sowie zur Verwaltung unseres Speichers 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 ĂŒber eine ausfallsichere Netzwerkverbindung zu organisieren, indem wir physische Netzwerkschnittstellen in einer logischen Schnittstelle gruppieren und das LACP-Protokoll (802.3ad) verwenden:

  • die ersten zwei Ports am Host werden im Bonding-Modus konfiguriert und mit dem Switch 2960X verbunden – an dieser logischen Schnittstelle wird konfiguriert. bridge mit einer Adresse zur Verwaltung des Hosts, zur Überwachung und zur Kommunikation mit anderen Hosts im oVirt-Cluster, die auch fĂŒr die Live-Migration von virtuellen Maschinen verwendet wird;
  • Die letzten beiden Ports am Host werden ebenfalls im Bonding-Modus konfiguriert und an den 2960X angeschlossen – ĂŒber dieses logische Interface wird mit oVirt ein Bridge in den entsprechenden VLANs erstellt, an den die virtuellen Maschinen angeschlossen werden.
  • Beide Netzwerkkarten in einem logischen Interface werden aktiv sein, d.h. der Datenverkehr kann gleichzeitig ĂŒber sie ĂŒbertragen werden, im Lastverteilungsmodus.
  • Die Netzwerkeinstellungen an den Cluster-Knoten mĂŒssen absolut IDENTISCH sein, mit der Ausnahme der IP-Adressen.

Grundkonfiguration des Switch-Stacks 2960X und seiner Ports

Vorab mĂŒssen unsere Switches sein:

  • in einem Rack montiert;
  • verbunden mit zwei speziellen Kabeln der benötigten LĂ€nge, z.B. CAB-STK-E-1M;
  • mit Strom versorgt;
  • ĂŒber den Konsolenport mit dem Arbeitsplatz des Administrators verbunden, um sie initial zu konfigurieren.

Die notwendige Anleitung hierfĂŒr ist auf der offiziellen Seite des Herstellers.

Nach DurchfĂŒhrung der oben genannten Schritte konfigurieren wir die Switches.
Die Bedeutung jedes Befehls wird im Rahmen dieses Artikels nicht erlÀutert, bei Bedarf kann man alle Informationen selbstÀndig finden.
Unser Ziel ist es, den Switch-Stack so schnell wie möglich zu konfigurieren und die Hosts sowie die Verwaltungsinterfaces des SAN anzuschließen.

1) Wir verbinden uns mit dem fĂŒhrenden Switch, wechseln in den privilegierten Modus, gehen dann in den Konfigurationsmodus und nehmen die Grundeinstellungen vor.

Die Basiskonfiguration des Switches:

 aktivieren
 konfigurieren Sie das Terminal

 hostname 2960X

 kein Dienst pad
 Dienststempel Debug-Datumszeit msec
 Dienststempel Protokoll Datumszeit lokale Zeit zeige Zeitzone msec
 kein Dienst Passwort-VerschlĂŒsselung
 Dienst Sequenz-Nummern

 switch 1 PrioritÀt 15
 switch 2 PrioritÀt 14
 stack-mac anhaltender 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 default
 spanning-tree extend system-id
 spanning-tree vlan 1-40 root primary
 spanning-tree loopguard default
 vlan interne Zuteilungspolitik aufsteigend
 port-channel load-balance src-dst-ip

 errdisable recovery cause loopback
 errdisable recovery cause bpduguard
 errdisable recovery intervall 60

line con 0
 session-timeout 60
 exec-timeout 60 0
 logging synchron
line vty 5 15
 session-timeout 60
 exec-timeout 60 0
 logging synchron

 ip http server
 ip http secure-server
 kein vstack

schnittstelle Vlan1
 keine ip-Adresse
 herunterfahren

 Ausstieg 

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

2) Wir konfigurieren die Netzwerkports des Switches im Zugriffmodus (access) fĂŒr VLAN 17, um die Verwaltungsinterfaces der Speicher- und iDRAC-Server anzuschließen.

Konfiguration der Verwaltungsports:

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

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

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

schnittstelle GigabitEthernet2/0/6
 Beschreibung Storage1 – Cntr1/Eth0
 switchport access vlan 17
 switchport modus access
 spanning-tree portfast edge
 Ausstieg

3) Nach dem Neustart des Stacks ĂŒberprĂŒfen wir, ob er korrekt 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-Zugriffs auf den Stack 2960X

FĂŒr die Remote-Verwaltung des Stacks ĂŒber SSH verwenden wir die IP 172.20.1.10, die auf SVI (Switch Virtual Interface) konfiguriert ist. VLAN17.

Obwohl es fĂŒr Managementzwecke wĂŒnschenswert wĂ€re, einen speziellen dedizierten Port am Switch zu verwenden, bleibt dies eine Frage der persönlichen Vorlieben und Möglichkeiten.

Einrichten 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 Dec 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 richten das Passwort fĂŒr den Zugriff auf den privilegierten Modus ein:

enable secret *myenablepassword*
service password-encryption

Wir konfigurieren NTP:

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) Wir konfigurieren die logischen Schnittstellen des Etherchannels und die physischen Ports, die mit den Hosts verbunden sind. Zur Vereinfachung der Konfiguration werden alle vorhandenen VLANs auf allen logischen Schnittstellen erlaubt, jedoch wird normalerweise empfohlen, nur das zu konfigurieren, was benötigt wird:

Einrichtung der Etherchannel-Schnittstellen:

interface Port-channel1
 description EtherChannel mit Host1-Management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface Port-channel2
 description EtherChannel mit Host2-Management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface Port-channel3
 description EtherChannel mit Host1-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface Port-channel4
 description EtherChannel mit Host2-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface GigabitEthernet1/0/1
 description Host1-Management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 1 mode active

interface GigabitEthernet1/0/2
 description Host2-Management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 2 mode active

interface GigabitEthernet1/0/3
 description Host1-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 3 mode active

interface GigabitEthernet1/0/4
 description Host2-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 4 mode active

interface GigabitEthernet2/0/1
 description Host1-Management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 1 mode active

interface GigabitEthernet2/0/2
 description Host2-Management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 2 mode active

interface GigabitEthernet2/0/3
 description Host1-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 3 mode active

interface GigabitEthernet2/0/4
 description Host2-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 4 mode active

Ersteinrichtung der Netzwerk-Interfaces fĂŒr virtuelle Maschinen auf Hosts Host1 und Host2

ÜberprĂŒfen wir das Vorhandensein der fĂŒr die Funktion des Bonding erforderlichen Module im System und installieren das Modul zur Verwaltung von BrĂŒcken:

modinfo bonding
modinfo 8021q
yum install bridge-utils

Konfiguration des logischen Interfaces BOND1 auf den Hosts fĂŒr virtuelle Maschinen und seiner physischen 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 Einstellungen auf dem Stack 2960X und auf den Hosts starten wir das Netzwerk auf den Hosts neu und ĂŒberprĂŒfen die FunktionalitĂ€t 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 Link-Aggregation
Übertragungs-Hash-Politik: layer2+3 (2)
MII-Status: up
MII-Abfrageintervall (ms): 100
AufwÀrtsverzögerung (ms): 0
AbwÀrtsverzögerung (ms): 0
...
802.3ad Informationen
LACP-Rate: schnell
Min. Links: 0
Aggregator-Auswahl-Politik (ad_select): stabil
SystemprioritÀt: 65535
...
Slave-Interface: em2
MII-Status: up
Geschwindigkeit: 1000 Mbps
Duplex: voll
...
Slave-Interface: em3
MII-Status: up
Geschwindigkeit: 1000 Mbps
Duplex: 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   Zustand     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 - down        P - im Port-Channel gebĂŒndelt
        I - unabhÀngig s - ausgesetzt
        H - Hot-Standby (nur LACP)
        R - Layer3      S - Layer2
        U - in Gebrauch      N - nicht in Gebrauch, keine Aggregation
        f - konnte Aggregator nicht zuweisen

        M - nicht in Gebrauch, minimale Links nicht erfĂŒllt
        m - nicht in Gebrauch, Port nicht aggregiert wegen nicht erfĂŒllter minimaler Links
        u - ungeeignet zum BĂŒndeln
        w - wartet auf Aggregation
        d - Standardport

        A - gebildet durch Auto LAG

Anzahl der verwendeten Kanalgruppen: 11
Anzahl der Aggregatoren:           11

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

Ersteinrichtung der Netzwerk-Interfaces zur Verwaltung der Clusterressourcen auf Hosts Host1 und Host2

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

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 Einstellungen auf dem Stack 2960X und auf den Hosts starten wir das Netzwerk auf den Hosts neu und ĂŒberprĂŒfen die FunktionalitĂ€t des logischen Interfaces.

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

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

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

Konfiguration 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

Konfiguration 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.

Damit ist die Konfiguration des Cisco 2960X Switch-Stacks abgeschlossen. Wenn alles richtig gemacht wurde, haben wir nun die Netzwerkverbindung aller Infrastrukturkomponenten auf L2-Ebene.

Konfiguration des Dell MD3820f SAN

Vor Beginn der Konfiguration des SAN muss es bereits mit dem Switch-Stapel von Cisco verbunden sein. 2960X mit den Verwaltungs-Schnittstellen sowie mit den Hosts Host1 und Host2 ĂŒber FC.

Das allgemeine Schema, wie das SAN mit dem Switch-Stapel verbunden sein sollte, wurde im vorherigen Kapitel dargestellt.

Das Kabelschema des SAN ĂŒber FC zu den Hosts sollte so aussehen:

Erstellung einer ausfallsicheren IT-Infrastruktur. Teil 1 – Vorbereitung auf die Bereitstellung des oVirt 4.3 Clusters

Beim Anschluss mĂŒssen die WWPN-Adressen fĂŒr die FC HBA-Hosts, die an die FC-Ports des SAN angeschlossen sind, notiert werden – dies ist erforderlich fĂŒr die spĂ€tere Konfiguration der Bindung der Hosts an die LUNs im SAN.

Auf dem Administrator-Arbeitsplatz laden wir das Dienstprogramm zur Verwaltung des Dell MD3820f herunter und installieren es – PowerVault Modular Disk Storage Manager (MDSM).
Wir verbinden uns ĂŒber ihre Standard-IP-Adressen und konfigurieren dann unsere Adressen aus VLAN17, um die Controller ĂŒber TCP/IP zu verwalten:

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

Nach der Adresskonfiguration gehen wir in die VerwaltungsoberflĂ€che des SAN, setzen das Passwort, richten die Uhrzeit ein, aktualisieren die Firmware fĂŒr Controller und Festplatten, falls erforderlich, usw.
Wie dies durchgefĂŒhrt wird, ist beschrieben in Verwaltungshandbuch SAN.

Nach der DurchfĂŒhrung der oben genannten Einstellungen mĂŒssen wir nur noch einige wenige Schritte unternehmen:

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

Das HinzufĂŒgen neuer Hosts und das Zuweisen von Host-FC-Port-Identifikatoren erfolgt ĂŒber das MenĂŒ – Host-Zuordnungen -> Definieren -> Hosts

Die WWPN-Adressen der FC-HBA-Hosts finden Sie beispielsweise im iDRAC des Servers.

Das Ergebnis sollte etwa so aussehen:

Erstellung einer ausfallsicheren IT-Infrastruktur. Teil 1 – Vorbereitung auf die Bereitstellung des oVirt 4.3 Clusters

Das HinzufĂŒgen einer neuen Hostgruppe und das Zuweisen von Hosts erfolgt ĂŒber das MenĂŒ – Host-Zuordnungen -> Definieren -> Host-Gruppe

FĂŒr die Hosts den Betriebssystemtyp auswĂ€hlen – Linux (DM-MP).

Nach dem Erstellen der Hostgruppe erstellen wir ĂŒber den Tab Speicher & Kopierdienste, eine Festplattengruppe – Festplattengruppe, mit einem Typ, der von den Anforderungen an die Fehlertoleranz abhĂ€ngt, beispielsweise RAID10, und darin die virtuellen Festplatten in der benötigten GrĂ¶ĂŸe:

Erstellung einer ausfallsicheren IT-Infrastruktur. Teil 1 – Vorbereitung auf die Bereitstellung des oVirt 4.3 Clusters

Und schließlich der letzte Schritt — die PrĂ€sentation der virtuellen Festplatten (oder LUNs) fĂŒr die Hosts.
Dazu ĂŒber das MenĂŒ – Host-Zuordnungen -> Lun-Zuordnung -> HinzufĂŒgen
 weisen wir die virtuellen Festplatten den Hosts zu, indem wir ihnen Nummern zuweisen.

Es sollte so aussehen wie auf diesem Screenshot:

Erstellung einer ausfallsicheren IT-Infrastruktur. Teil 1 – Vorbereitung auf die Bereitstellung des oVirt 4.3 Clusters

Damit beenden wir die Einrichtung der SAN, und wenn alles richtig gemacht wurde, sollten die Hosts die prĂ€sentierten LUNs ĂŒber ihre FC-HBAs sehen.
Lassen Sie das System die Informationen ĂŒber die angeschlossenen Festplatten aktualisieren:

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

Sehen wir nach, welche GerÀte auf unseren Servern sichtbar sind:

cat /proc/scsi/scsi
AngefĂŒgte GerĂ€te:
Host: scsi0 Kanal: 02 Id: 00 Lun: 00
  Anbieter: DELL     Modell: PERC H330 Mini   Rev: 4.29
  Typ:   Direktzugriff                     ANSI SCSI Revision: 05
Host: scsi15 Kanal: 00 Id: 00 Lun: 00
  Anbieter: DELL     Modell: MD38xxf          Rev: 0825
  Typ:   Direktzugriff                     ANSI SCSI Revision: 05
Host: scsi15 Kanal: 00 Id: 00 Lun: 01
  Anbieter: DELL     Modell: MD38xxf          Rev: 0825
  Typ:   Direktzugriff                     ANSI SCSI Revision: 05
Host: scsi15 Kanal: 00 Id: 00 Lun: 04
  Anbieter: DELL     Modell: MD38xxf          Rev: 0825
  Typ:   Direktzugriff                     ANSI SCSI Revision: 05
Host: scsi15 Kanal: 00 Id: 00 Lun: 11
  Anbieter: DELL     Modell: MD38xxf          Rev: 0825
  Typ:   Direktzugriff                     ANSI SCSI Revision: 05
Host: scsi15 Kanal: 00 Id: 00 Lun: 31
  Anbieter: DELL     Modell: Universal Xport  Rev: 0825
  Typ:   Direktzugriff                     ANSI SCSI Revision: 05
Host: scsi18 Kanal: 00 Id: 00 Lun: 00
  Anbieter: DELL     Modell: MD38xxf          Rev: 0825
  Typ:   Direktzugriff                     ANSI SCSI Revision: 05
Host: scsi18 Kanal: 00 Id: 00 Lun: 01
  Anbieter: DELL     Modell: MD38xxf          Rev: 0825
  Typ:   Direktzugriff                     ANSI SCSI Revision: 05
Host: scsi18 Kanal: 00 Id: 00 Lun: 04
  Anbieter: DELL     Modell: MD38xxf          Rev: 0825
  Typ:   Direktzugriff                     ANSI SCSI Revision: 05
Host: scsi18 Kanal: 00 Id: 00 Lun: 11
  Anbieter: DELL     Modell: MD38xxf          Rev: 0825
  Typ:   Direktzugriff                     ANSI SCSI Revision: 05
Host: scsi18 Kanal: 00 Id: 00 Lun: 31
  Anbieter: DELL     Modell: Universal Xport  Rev: 0825
  Typ:   Direktzugriff                     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 den Hosts kann auch zusĂ€tzlich konfiguriert werden multipath, und obwohl dies bei der Installation von oVirt auch automatisch erfolgen kann, ist es besser, die FunktionsfĂ€higkeit des MP zuvor 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 richten den MP-Dienst fĂŒr den Auto-Start ein und starten ihn:

systemctl enable multipathd && systemctl restart multipathd

ÜberprĂŒfung der Informationen ĂŒber die geladenen Module fĂŒr den Betrieb des MP:

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-Ziel
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-SignierschlĂŒssel
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 schauen uns die zusammenfassenden Informationen zur bestehenden Multipath-Konfiguration an:

mpathconf
Multipath ist aktiviert
find_multipaths ist deaktiviert
user_friendly_names ist deaktiviert
dm_multipath-Modul ist geladen
multipathd lÀuft

Nach dem HinzufĂŒgen eines neuen LUN zur SAN und dessen PrĂ€sentation an den Host muss ein Scannen der an den Host angeschlossenen HBAs erfolgen.

systemctl reload multipathd
multipath -v2

Und schließlich ĂŒberprĂŒfen wir, ob alle LUNs an der SAN fĂŒr die Hosts prĂ€sentiert wurden und ob alle ĂŒber zwei Pfade erreichbar sind.

ÜberprĂŒfung der MP-Funktion:

multipath -ll
3600a098000e4b4b3000003175cec1840 dm-2 DELL    ,MD38xxf
size=2.0T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 15:0:0:1  sdb 8:16  active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:1  sdi 8:128 active ready running
3600a098000e4b48f000002ab5cec1921 dm-6 DELL    ,MD38xxf
size=10T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 18:0:0:11 sdk 8:160 active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 15:0:0:11 sdd 8:48  active ready running
3600a098000e4b4b3000003c95d171065 dm-3 DELL    ,MD38xxf
size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 15:0:0:4  sdc 8:32  active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:4  sdj 8:144 active ready running

Wie zu sehen ist, sind alle drei virtuellen Festplatten an der SAN ĂŒber zwei Pfade sichtbar. Somit sind alle vorbereitenden Arbeiten abgeschlossen, und wir können mit dem Hauptteil fortfahren – der Konfiguration des oVirt-Clusters, die im nĂ€chsten Artikel behandelt wird.

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster