Schaffung einer fehlertoleranten IT-Infrastruktur. Teil 1 – Vorbereiten der Bereitstellung eines oVirt 4.3-Clusters

Die Leser sind eingeladen, sich mit den Prinzipien des Aufbaus einer fehlertoleranten Infrastruktur für ein kleines Unternehmen in einem einzigen Rechenzentrum vertraut zu machen, die in einer kurzen Artikelserie ausführlich besprochen werden.

Вводная часть

Unter Rechenzentrum (Datenverarbeitungszentrum) kann verstanden werden als:

  • eigenes Rack in einem eigenen „Serverraum“ auf dem Gelände des Unternehmens, das die Mindestanforderungen für die Bereitstellung von Strom- und Kühlgeräten erfüllt und außerdem über einen Internetzugang über zwei unabhängige Anbieter verfügt;
  • ein gemietetes Rack mit eigener Ausstattung, gelegen in einem echten Rechenzentrum – dem sogenannten. eine Kollokation der Stufe III oder IV, die zuverlässige Stromversorgung, Kühlung und Failover-Internetzugang garantiert;
  • vollständig geleaste Ausrüstung in einem Rechenzentrum der Stufe III oder IV.

Welche Unterkunftsmöglichkeit man wählt – in jedem Fall ist alles individuell und hängt in der Regel von mehreren Hauptfaktoren ab:

  • Warum braucht ein Unternehmen überhaupt eine eigene IT-Infrastruktur?
  • Was genau erwartet das Unternehmen von der IT-Infrastruktur (Zuverlässigkeit, Skalierbarkeit, Verwaltbarkeit usw.);
  • die Höhe der Anfangsinvestition in die IT-Infrastruktur sowie die Art der Kosten dafür – Kapital (d. h. der Kauf eigener Ausrüstung) oder Betrieb (die Ausrüstung wird normalerweise gemietet);
  • der Planungshorizont des Unternehmens selbst.

Sie können viel über die Faktoren schreiben, die die Entscheidung eines Unternehmens zum Aufbau und zur Nutzung seiner IT-Infrastruktur beeinflussen. Unser Ziel ist es jedoch, in der Praxis zu zeigen, wie Sie genau diese Infrastruktur so erstellen, dass sie sowohl fehlertolerant ist als auch Sie trotzdem sparen können – Reduzieren Sie die Kosten für den Erwerb kommerzieller Software oder vermeiden Sie diese ganz.

Wie die lange Praxis zeigt, lohnt es sich nicht, an Eisen zu sparen, denn der Geizhals zahlt doppelt und sogar noch viel mehr. Aber noch einmal: Gute Hardware ist nur eine Empfehlung, und letztendlich hängt es von den Fähigkeiten des Unternehmens und der „Gier“ seines Managements ab, was genau und für wie viel gekauft werden soll. Darüber hinaus sollte das Wort „Gier“ im guten Sinne des Wortes verstanden werden, da es besser ist, in der Anfangsphase in Hardware zu investieren, damit Sie später keine ernsthaften Probleme mit der weiteren Unterstützung und Skalierung haben, da dies zunächst falsch ist Planung und übermäßige Einsparungen können zu höheren Kosten führen als zu Beginn eines Projekts.

Also die Ausgangsdaten für das Projekt:

  • Es gibt ein Unternehmen, das beschlossen hat, ein eigenes Webportal zu erstellen und seine Aktivitäten ins Internet zu übertragen.
  • Das Unternehmen beschloss, ein Rack zu mieten, um seine Ausrüstung in einem guten Rechenzentrum unterzubringen, das nach dem Tier-III-Standard zertifiziert ist.
  • Das Unternehmen beschloss, bei der Hardware nicht viel zu sparen und kaufte daher die folgenden Geräte mit erweiterten Garantien und Support:

Ausrüstungsliste

  • zwei physische Dell PowerEdge R640-Server wie folgt:
  • zwei Intel Xeon Gold 5120 Prozessoren
  • 512 Gb RAM
  • zwei SAS-Festplatten in RAID1 für die Betriebssysteminstallation
  • integrierte 4-Port-1G-Netzwerkkarte
  • zwei 2-Port-10G-Netzwerkkarten
  • ein 2-Port-FC-HBA 16G.
  • Dell MD2f 3820 Controller-Speicher, der über FC 16G direkt mit Dell-Hosts verbunden ist;
  • zwei Switches der zweiten Ebene – Cisco WS-C2960RX-48FPS-L gestapelt;
  • zwei Switches der dritten Ebene – Cisco WS-C3850-24T-E, zusammengefasst zu einem Stack;
  • Rack-, USV-, PDU- und Konsolenserver – bereitgestellt vom Rechenzentrum.

Wie wir sehen, hat die vorhandene Ausrüstung gute Aussichten für eine horizontale und vertikale Skalierung, wenn das Unternehmen im Internet mit anderen Unternehmen mit ähnlichem Profil konkurrieren kann und anfängt, Gewinne zu erzielen, die in die Erweiterung der Ressourcen für weiteren Wettbewerb investiert werden können Gewinnwachstum.

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

  • Wir haben eine große Reserve hinsichtlich der Anzahl der Ports auf den 2960X-Switches, was bedeutet, dass wir weitere Hardware-Server hinzufügen können;
  • Kaufen Sie zwei FC-Switches, um Speichersysteme und zusätzliche Server daran anzuschließen.
  • bestehende Server können aufgerüstet werden – Speicher hinzufügen, Prozessoren durch effizientere ersetzen, Verbindung zu einem 10G-Netzwerk mit vorhandenen Netzwerkadaptern herstellen;
  • Sie können dem Speichersystem zusätzliche Festplattenshelfs mit dem erforderlichen Festplattentyp hinzufügen – SAS, SATA oder SSD, je nach geplanter Auslastung;
  • Nach dem Hinzufügen von FC-Switches können Sie ein weiteres Speichersystem erwerben, um noch mehr Festplattenkapazität hinzuzufügen, und wenn Sie eine spezielle Remote-Replikationsoption dazu erwerben, können Sie die Datenreplikation zwischen Speichersystemen sowohl innerhalb der Grenzen eines Rechenzentrums als auch zwischen Rechenzentren konfigurieren (aber das sprengt bereits den Rahmen des Artikels);
  • Es gibt auch Switches der dritten Ebene – Cisco 3850, die als fehlertoleranter Netzwerkkern für Hochgeschwindigkeitsrouting zwischen internen Netzwerken verwendet werden können. Dies wird in Zukunft sehr hilfreich sein, da die interne Infrastruktur wächst. Der 3850 verfügt außerdem über 10G-Ports, die später beim Upgrade von Netzwerkgeräten auf 10G-Geschwindigkeit verwendet werden können.

Da es jetzt nirgendwo ohne Virtualisierung geht, werden wir sicherlich im Trend liegen, zumal dies eine großartige Möglichkeit ist, die Kosten für die Anschaffung teurer Server für einzelne Infrastrukturelemente (Webserver, Datenbanken usw.) zu reduzieren, die es nicht gibt Bei geringer Auslastung werden immer optimale Parameter eingesetzt, und genau diese werden zu Beginn des Projektstarts vorliegen.

Darüber hinaus bietet die Virtualisierung viele weitere Vorteile, die für uns sehr nützlich sein können: VM-Fehlertoleranz bei einem Hardware-Serverausfall, Live-Migration zwischen Cluster-Hardwareknoten für deren Wartung, manuelle oder automatische Lastverteilung zwischen Cluster-Knoten usw.

Für die vom Unternehmen gekaufte Hardware bietet sich der Einsatz eines hochverfügbaren VMware vSphere-Clusters an, aber da jede Software von VMware für ihre „Pferde“-Preise bekannt ist, werden wir absolut kostenlose Virtualisierungsmanagementsoftware verwenden – oVirt, auf deren Grundlage ein bekanntes, aber bereits kommerzielles Produkt entsteht - rhev.

Software oVirt Es ist notwendig, alle Elemente der Infrastruktur zu einem Ganzen zu vereinen, um bequem mit hochverfügbaren virtuellen Maschinen arbeiten zu können – das sind Datenbanken, Webanwendungen, Proxyserver, Balancer, Server zum Sammeln von Protokollen und Analysen usw , woraus das Webportal unseres Unternehmens besteht.

Zusammenfassend zu dieser Einführung erwarten uns folgende Artikel, die in der Praxis genau zeigen, wie man die gesamte Hardware- und Software-Infrastruktur eines Unternehmens einsetzt:

Liste der Artikel

  • Teil 1. Vorbereiten der Bereitstellung eines oVirt-Clusters 4.3.
  • Teil 2. Installieren und Konfigurieren eines oVirt-Clusters 4.3.
  • Teil 3. Einrichten eines VyOS-Clusters, Organisieren eines fehlertoleranten externen Routings.
  • Teil 4. Einrichten des Cisco 3850-Stacks, Organisieren des Intranet-Routings.

Teil 1. Vorbereiten der Bereitstellung eines oVirt 4.3-Clusters

Grundlegende Host-Einrichtung

Die Installation und Konfiguration des Betriebssystems ist der einfachste Schritt. Es gibt viele Artikel zur richtigen Installation und Konfiguration des Betriebssystems, daher macht es keinen Sinn, etwas Exklusives darüber preiszugeben.

Wir haben also zwei Dell PowerEdge R640-Hosts, auf denen wir das Betriebssystem installieren und vorläufige Einstellungen vornehmen müssen, um sie als Hypervisoren zum Ausführen virtueller Maschinen in einem oVirt 4.3-Cluster verwenden zu können.

Da wir planen, die kostenlose, nichtkommerzielle Software oVirt zu verwenden, haben wir das Betriebssystem für die Bereitstellung von Hosts ausgewählt 7.7 CentOS, obwohl es möglich ist, andere Betriebssysteme auf Hosts für oVirt zu installieren:

  • ein spezieller Build auf Basis von RHEL, der sogenannte. oVirt-Knoten;
  • Betriebssystem Oracle Linux Sommer 2019 es wurde angekündigt darum, oVirt darauf laufen zu lassen.

Vor der Installation des Betriebssystems wird empfohlen:

  • Konfigurieren Sie die iDRAC-Netzwerkschnittstelle auf beiden Hosts.
  • Aktualisieren Sie die Firmware für BIOS und iDRAC auf die neuesten Versionen.
  • Konfigurieren Sie das Systemprofil des Servers, vorzugsweise im Leistungsmodus.
  • Konfigurieren Sie RAID von lokalen Festplatten (RAID1 wird empfohlen), um das Betriebssystem auf dem Server zu installieren.

Dann installieren wir das Betriebssystem auf der zuvor über iDRAC erstellten Festplatte – der Installationsvorgang ist normal, es gibt keine besonderen Momente darin. Sie können auch auf die Serverkonsole zugreifen, um die Betriebssysteminstallation über iDRAC zu starten. Allerdings hindert Sie nichts daran, einen Monitor, eine Tastatur und eine Maus direkt an den Server anzuschließen und das Betriebssystem von einem Flash-Laufwerk zu installieren.

Nach der Installation des Betriebssystems nehmen wir seine Grundeinstellungen vor:

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

Installation der Grundsoftware

Für die Ersteinrichtung des Betriebssystems müssen Sie eine beliebige Netzwerkschnittstelle auf dem Server konfigurieren, damit Sie auf das Internet zugreifen können, um das Betriebssystem zu aktualisieren und die erforderlichen Softwarepakete zu installieren. Dies kann sowohl während des Betriebssysteminstallationsprozesses 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 Softwaresätze sind eine Frage der persönlichen Vorlieben und dieser Satz ist nur eine Empfehlung.

Da unser Host die Rolle eines Hypervisors übernimmt, aktivieren wir das gewünschte Leistungsprofil:

systemctl enable tuned 
systemctl start tuned 
systemctl status tuned 

tuned-adm profile 
tuned-adm profile virtual-host 

Mehr zum Leistungsprofil können Sie hier lesen:Kapitel 4. abgestimmt und abgestimmt-adm«.

Nach der Installation des Betriebssystems fahren wir mit dem nächsten Teil fort – der Konfiguration von Netzwerkschnittstellen auf Hosts und einem Stapel von Cisco 2960X-Switches.

Konfigurieren eines Cisco 2960X-Switch-Stacks

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

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

Bevor wir mit der Arbeit beginnen, geben wir ein Diagramm auf L2-Ebene, zu dem wir schließlich kommen sollten:

Schaffung einer fehlertoleranten IT-Infrastruktur. Teil 1 – Vorbereiten der Bereitstellung eines oVirt 4.3-Clusters

Für die Netzwerkinteraktion von oVirt-Hosts und virtuellen Maschinen untereinander sowie für die Verwaltung unseres Speichersystems ist es notwendig, einen Stapel von Cisco 2960X-Switches zu konfigurieren.

Dell-Hosts verfügen über integrierte 4-Port-Netzwerkkarten. Daher ist es ratsam, ihre Verbindung zum Cisco 2960X über eine fehlertolerante Netzwerkverbindung zu organisieren, indem physische Netzwerkports in einer logischen Schnittstelle gruppiert werden und das LACP (802.3 ad) Protokoll:

  • Die ersten beiden Ports auf dem Host werden im Bonding-Modus konfiguriert und mit dem 2960X-Switch verbunden – diese logische Schnittstelle wird konfiguriert Brücke mit einer Adresse für Host-Verwaltung, Überwachung und Kommunikation mit anderen Hosts im oVirt-Cluster, wird sie auch für die Live-Migration virtueller Maschinen verwendet;
  • Die zweiten beiden Ports auf dem Host werden ebenfalls im Bonding-Modus konfiguriert und mit dem 2960X verbunden. Auf dieser logischen Schnittstelle werden später mithilfe von oVirt Brücken erstellt (in den entsprechenden VLANs), mit denen sich virtuelle Maschinen verbinden.
  • Beide Netzwerkports innerhalb derselben logischen Schnittstelle sind aktiv, d. h. Der Verkehr auf ihnen kann im Ausgleichsmodus gleichzeitig übertragen werden.
  • Die Netzwerkeinstellungen auf den Clusterknoten müssen bis auf die IP-Adressen genau gleich sein.

Grundlegende Switch-Stack-Einrichtung 2960X und seine Häfen

Zuvor sollten unsere Schalter sein:

  • Rack montiert;
  • verbunden mit zwei Spezialkabeln der erforderlichen Länge, zum Beispiel CAB-STK-E-1M;
  • an die Stromversorgung angeschlossen;
  • Für die Erstkonfiguration sind sie über den Konsolenport mit der Administrator-Workstation verbunden.

Die nötige Anleitung hierzu finden Sie unter offizielle Seite hersteller.

Nachdem wir die oben genannten Schritte ausgeführt haben, konfigurieren wir die Schalter.
Was die einzelnen Befehle bedeuten, soll im Rahmen dieses Artikels nicht entschlüsselt werden; bei Bedarf können alle Informationen unabhängig voneinander gefunden werden.
Unser Ziel ist es, schnell einen Switch-Stack einzurichten und Hosts und Speicherverwaltungsschnittstellen damit zu verbinden.

1) Wir verbinden uns mit dem Hauptschalter, gehen in den privilegierten Modus, gehen dann in den Konfigurationsmodus und nehmen die Grundeinstellungen vor.

Grundlegende Switch-Konfiguration:

 enable
 configure terminal

 hostname 2960X

 no service pad
 service timestamps debug datetime msec
 service timestamps log datetime localtime show-timezone msec
 no service password-encryption
 service sequence-numbers

 switch 1 priority 15
 switch 2 priority 14
 stack-mac persistent timer 0

 clock timezone MSK 3
  vtp mode 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 mode 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 internal allocation policy ascending
 port-channel load-balance src-dst-ip

 errdisable recovery cause loopback
 errdisable recovery cause bpduguard
 errdisable recovery interval 60

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

 ip http server
 ip http secure-server
 no vstack

interface Vlan1
 no ip address
 shutdown

 exit 

Speichern Sie die Konfiguration mit dem Befehl „wr mem" und starten Sie den Switch-Stack mit dem Befehl neu"neu laden» am Hauptschalter 1.

2) Wir konfigurieren die Netzwerkports des Switches im Zugriffsmodus (Access) im VLAN 17, um die Steuerschnittstellen von Speichersystemen und iDRAC-Servern zu verbinden.

Konfigurieren von Management-Ports:

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

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

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

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

3) Überprüfen Sie nach dem erneuten Laden des Stapels, ob er ordnungsgemäß funktioniert:

Überprüfung der Funktionalität des Stacks:

2960X#show switch stack-ring speed

Stack Ring Speed        : 20G
Stack Ring Configuration: Full
Stack Ring Protocol     : 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 Address : 0cd0.f8e4.ХХХХ
Mac persistency wait time: Indefinite
                                           H/W   Current
Switch#  Role   Mac Address     Priority Version  State
----------------------------------------------------------
*1       Master 0cd0.f8e4.ХХХХ    15     4       Ready
 2       Member 0029.c251.ХХХХ     14     4       Ready

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

4) Einrichten des SSH-Zugriffs auf den 2960X-Stack

Um den Stack remote über SSH zu verwalten, verwenden wir IP 172.20.1.10, konfiguriert auf SVI (Switch Virtual Interface). VLAN17.

Obwohl es wünschenswert ist, für Verwaltungszwecke einen dedizierten dedizierten Port am Switch zu verwenden, ist dies eine Frage der persönlichen Vorlieben und Möglichkeiten.

SSH-Zugriff auf den Switch-Stack einrichten:

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

Richten Sie ein Passwort ein, um in den privilegierten Modus zu gelangen:

enable secret *myenablepassword*
service password-encryption

NTP einrichten:

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) Richten Sie logische Etherchannel-Schnittstellen und physische Ports ein, die mit Hosts verbunden sind. Zur Vereinfachung der Konfiguration sind alle verfügbaren VLANs auf allen logischen Schnittstellen zulässig, es wird jedoch generell empfohlen, nur das zu konfigurieren, was benötigt wird:

Konfigurieren von Etherchannel-Schnittstellen:

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

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

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

interface Port-channel4
 description EtherChannel with 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

Erstkonfiguration von Netzwerkschnittstellen für virtuelle Maschinen auf Hosts Gastgeber1 и Gastgeber2

Wir prüfen das Vorhandensein der für den Bonding-Betrieb erforderlichen Module im System und installieren das Modul zur Brückensteuerung:

modinfo bonding
modinfo 8021q
yum install bridge-utils

Konfigurieren der logischen BOND1-Schnittstelle für virtuelle Maschinen und ihrer physischen Schnittstellen auf Hosts:

cat /etc/sysconfig/network-scripts/ifcfg-bond1
#DESCRIPTION - management
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
#DESCRIPTION - management
DEVICE=em2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

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

Nach Abschluss der Einstellungen auf dem Stapel 2960X und Hosts, starten Sie das Netzwerk auf den Hosts neu und überprüfen Sie die Funktionsfähigkeit der logischen Schnittstelle.

  • auf Gastgeber:

systemctl restart network

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

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2+3 (2)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
...
802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
...
Slave Interface: em2
MII Status: up
Speed: 1000 Mbps
Duplex: full
...
Slave Interface: em3
MII Status: up
Speed: 1000 Mbps
Duplex: full

  • auf dem Switch-Stack 2960X:

2960X#show lacp internal
Flags:  S - Device is requesting Slow LACPDUs
        F - Device is requesting Fast LACPDUs
        A - Device is in Active mode       P - Device is in Passive mode

Channel group 1
                            LACP port     Admin     Oper    Port        Port
Port      Flags   State     Priority      Key       Key     Number      State
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 - bundled in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      N - not in use, no aggregation
        f - failed to allocate aggregator

        M - not in use, minimum links not met
        m - not in use, port not aggregated due to minimum links not met
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port

        A - formed by Auto LAG

Number of channel-groups in use: 11
Number of aggregators:           11

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         LACP      Gi1/0/1(P)  Gi2/0/1(P)

Erstkonfiguration von Netzwerkschnittstellen zur Verwaltung von Clusterressourcen auf Hosts Gastgeber1 и Gastgeber2

Konfigurieren der logischen BOND1-Schnittstelle für die Verwaltung auf Hosts und ihrer physischen Schnittstellen:

cat /etc/sysconfig/network-scripts/ifcfg-bond0
#DESCRIPTION - management
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
#DESCRIPTION - management
DEVICE=em0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

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

Nach Abschluss der Einstellungen auf dem Stapel 2960X und Hosts, starten Sie das Netzwerk auf den Hosts neu und überprüfen Sie die Funktionsfähigkeit der logischen Schnittstelle.

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

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

Richten Sie auf jedem Host in eine Verwaltungsnetzwerkschnittstelle ein VLAN 17, und binden Sie es an die logische Schnittstelle BOND1:

VLAN17 auf Host1 konfigurieren:

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

VLAN17 auf Host2 konfigurieren:

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 deren Sichtbarkeit untereinander.

Damit ist die Konfiguration des Cisco 2960X-Switch-Stacks abgeschlossen, und wenn alles richtig gemacht wurde, verfügen wir jetzt über eine Netzwerkkonnektivität aller Infrastrukturelemente untereinander auf L2-Ebene.

Dell MD3820f-Speichereinrichtung

Bevor mit der Konfiguration des Speichersystems begonnen wird, muss dieses bereits mit dem Cisco-Switch-Stack verbunden sein 2960X Verwaltungsschnittstellen sowie zu Hosts Gastgeber1 и Gastgeber2 über FC.

Das allgemeine Schema, wie das Speichersystem mit dem Switch-Stack verbunden werden sollte, wurde im vorherigen Kapitel beschrieben.

Das Schema zum Anschließen von Speicher über FC an Hosts sollte wie folgt aussehen:

Schaffung einer fehlertoleranten IT-Infrastruktur. Teil 1 – Vorbereiten der Bereitstellung eines oVirt 4.3-Clusters

Während der Verbindung müssen die WWPN-Adressen der FC-HBA-Hosts notiert werden, die mit den FC-Ports des Speichersystems verbunden sind. Dies ist für die anschließende Konfiguration der Hostbindung an LUNs des Speichersystems erforderlich.

Laden Sie das Speicherverwaltungsdienstprogramm Dell MD3820f herunter und installieren Sie es auf der Administrator-Workstation. PowerVault Modular Disk Storage Manager (MDSM).
Wir verbinden uns über ihre Standard-IP-Adressen mit ihr und konfigurieren dann unsere Adressen von dort aus VLAN17, um 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 dem Einrichten der Adressen gehen wir zur Speicherverwaltungsoberfläche und legen ein Passwort fest, stellen die Uhrzeit ein, aktualisieren bei Bedarf die Firmware für Controller und Festplatten usw.
Wie das geht, ist in beschrieben Verwaltungsleitfaden Lagerung.

Nachdem wir die oben genannten Einstellungen vorgenommen haben, müssen wir nur noch ein paar Dinge tun:

  1. Host-FC-Port-IDs konfigurieren – Host-Port-IDs.
  2. Erstellen Sie eine Hostgruppe − Host-Gruppe und fügen Sie unsere beiden Dell-Hosts hinzu.
  3. Erstellen Sie eine Festplattengruppe und darin virtuelle Festplatten (oder LUNs), die den Hosts präsentiert werden.
  4. Konfigurieren Sie die Darstellung virtueller Festplatten (oder LUNs) für Hosts.

Das Hinzufügen neuer Hosts und die Bindung von Identifikatoren von Host-FC-Ports an diese erfolgt über das Menü - Host-Zuordnungen -> Festlegung -> Gastgeber…
Die WWPN-Adressen der FC-HBA-Hosts finden Sie beispielsweise im iDRAC des Servers.

Als Ergebnis sollten wir etwa dieses Bild erhalten:

Schaffung einer fehlertoleranten IT-Infrastruktur. Teil 1 – Vorbereiten der Bereitstellung eines oVirt 4.3-Clusters

Das Hinzufügen einer neuen Hostgruppe und das Binden von Hosts an diese erfolgt über das Menü - Host-Zuordnungen -> Festlegung -> Gastgebergruppe…
Wählen Sie für Hosts den Typ des Betriebssystems aus: Linux (DM-MP).

Nach dem Erstellen einer Hostgruppe über die Registerkarte Speicher- und Kopierdienste, erstellen Sie eine Festplattengruppe - Festplattengruppe, mit einem Typ abhängig von den Anforderungen an die Fehlertoleranz, zum Beispiel RAID10, und darin virtuelle Festplatten der erforderlichen Größe:

Schaffung einer fehlertoleranten IT-Infrastruktur. Teil 1 – Vorbereiten der Bereitstellung eines oVirt 4.3-Clusters

Und schließlich ist die letzte Phase die Präsentation virtueller Festplatten (oder LUNs) für Hosts.
Um dies zu tun, über das Menü - Host-Zuordnungen -> Mondkartierung -> Hinzufügen ... Wir binden virtuelle Festplatten an Hosts, indem wir ihnen Nummern zuweisen.

Alles sollte wie auf diesem Screenshot aussehen:

Schaffung einer fehlertoleranten IT-Infrastruktur. Teil 1 – Vorbereiten der Bereitstellung eines oVirt 4.3-Clusters

Hier schließen wir die Speichereinrichtung ab. Wenn alles richtig gemacht wurde, sollten die Hosts die LUNs sehen, die ihnen über ihre FC-HBAs angezeigt werden.
Lassen Sie uns das System zwingen, Informationen über verbundene Laufwerke zu aktualisieren:

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

Sehen wir uns an, welche Geräte auf unseren Servern sichtbar sind:

cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 02 Id: 00 Lun: 00
  Vendor: DELL     Model: PERC H330 Mini   Rev: 4.29
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 00
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 01
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 04
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 11
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 31
  Vendor: DELL     Model: Universal Xport  Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 00
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 01
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 04
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 11
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 31
  Vendor: DELL     Model: Universal Xport  Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05

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

Auf Hosts können Sie auch zusätzlich konfigurieren Multipfad, und obwohl es dies bei der Installation von oVirt selbst tun kann, ist es besser, vorher die Richtigkeit des MP zu überprüfen.

DM Multipath installieren und konfigurieren

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]"
 }

Stellen Sie den MP-Dienst auf Autostart und starten Sie ihn:

systemctl enable multipathd && systemctl restart multipathd

Informationen zu geladenen Modulen für MP-Betrieb prüfen:

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 <[email protected]>
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

Anzeigen einer Zusammenfassung der vorhandenen Multipath-Konfiguration:

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

Nachdem Sie dem Speichersystem eine neue LUN hinzugefügt und diese dem Host präsentiert haben, müssen Sie die HBAs scannen, die darauf mit dem Host verbunden sind.

systemctl reload multipathd
multipath -v2

Und abschließend prüfen wir, ob alle LUNs auf dem Speichersystem für Hosts bereitgestellt wurden und ob es zwei Pfade zu allen gibt.

MP-Betriebsprüfung:

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 Sie sehen, sind alle drei virtuellen Festplatten im Speichersystem auf zwei Arten sichtbar. Damit sind alle Vorbereitungsarbeiten abgeschlossen, sodass Sie mit dem Hauptteil fortfahren können – dem Einrichten des oVirt-Clusters, der im nächsten Artikel besprochen wird.

Source: habr.com

Kommentar hinzufügen