Tworzenie odpornej infrastruktury IT. Część 1 — przygotowanie do wdrożenia klastra oVirt 4.3

Czytelnicy są zapraszani do zapoznania się z zasadami budowy infrastruktury odpornej na awarie dla małego przedsiębiorstwa w ramach jednego centrum danych, które zostaną szczegółowo omówione w małym cyklu artykułów.

Część wprowadzająca

Pod Centrum Danych (Data Center) można rozumieć jako:

  • własną szafę w swoim "pomieszczeniu serwerowym" na terenie przedsiębiorstwa, spełniającą minimalne wymagania dotyczące zasilania i chłodzenia sprzętu, a także posiadającą dostęp do Internetu przez dwóch niezależnych dostawców;
  • wynajmowaną szafę z własnym sprzętem, znajdującą się w rzeczywistym centrum danych – tzw. colocation, które spełnia standard Tier III lub IV, i w którym zapewnione jest niezawodne zasilanie, chłodzenie i niezawodne połączenie z Internetem;
  • w pełni wynajmowany sprzęt w centrum danych Tier III lub IV.

Jaki model umiejscowienia wybrać – w każdym przypadku to sprawa indywidualna i zazwyczaj zależy od kilku podstawowych czynników:

  • do czego przedsiębiorstwu w ogóle potrzebna jest własna infrastruktura IT;
  • czego dokładnie przedsiębiorstwo oczekuje od infrastruktury IT (niezawodności, skalowalności, zarządzania itd.);
  • wielkości początkowych inwestycji w infrastrukturę IT oraz jakiego rodzaju są to koszty – kapitałowe (więc kupowany jest własny sprzęt), czy operacyjne (sprzęt zazwyczaj jest wynajmowany);
  • horyzontu planowania samego przedsiębiorstwa.

O czynnikach wpływających na decyzję przedsiębiorstwa o stworzeniu i wykorzystaniu jego infrastruktury IT można pisać wiele, ale naszym celem jest pokazanie w praktyce, jak stworzyć tę infrastrukturę, aby była ona odporna na awarie, a jednocześnie można było zaoszczędzić – obniżyć wydatki na nabycie oprogramowania komercyjnego lub całkowicie ich uniknąć.

Jak pokazuje długoletnia praktyka, na sprzęcie nie warto oszczędzać, ponieważ skąpy płaci dwa razy, a nawet znacznie więcej. Jednakże dobrej jakości sprzęt to tylko rekomendacja; ostatecznie to, co kupić i za ile, zależy od możliwości przedsiębiorstwa oraz 'skąpstwa' jego kierownictwa. Przy czym słowo 'skąpstwo' należy rozumieć w dobrym sensie tego słowa, ponieważ lepiej zainwestować w sprzęt na początku, aby później nie mieć poważnych problemów z jego dalszym wsparciem i skalowaniem, gdyż pierwotnie błędne planowanie i nadmierna oszczędność mogą w przyszłości prowadzić do znacznych wydatków, niż w przypadku uruchomienia projektu.

Zatem, dane wyjściowe dla projektu:

  • mamy przedsiębiorstwo, które postanowiło stworzyć własny portal internetowy i wprowadzić swoją działalność do Internetu;
  • przedsiębiorstwo zdecydowało się wynająć stojak do umieszczenia swojego sprzętu w dobrym centrum danych, posiadającym certyfikację zgodną z normą Tier III;
  • przedsiębiorstwo postanowiło nie oszczędzać na sprzęcie, więc kupiło następujący sprzęt z rozszerzoną gwarancją i wsparciem:

Lista sprzętu

  • dwa serwery fizyczne Dell PowerEdge R640 w takim zestawie:
  • dwa procesory Intel Xeon Gold 5120
  • 512 Gb RAM
  • dwa dyski SAS w RAID1, do instalacji systemu operacyjnego
  • wbudowana 4-portowa karta sieciowa 1G
  • dwie 2-portowe karty sieciowe 10G
  • jeden 2-portowy FC HBA 16G.
  • 2-kontrolerowa macierz storage Dell MD3820f, podłączona bezpośrednio do hostów Dell za pomocą FC 16G;
  • dwa przełączniki drugiego poziomu — Cisco WS-C2960RX-48FPS-L połączone w stos;
  • dwa przełączniki trzeciego poziomu — Cisco WS-C3850-24T-E, połączone w stos;
  • Stojak, UPS, PDU, serwery konsolowe – dostarczane przez centrum danych.

Jak widzimy, istniejący sprzęt ma dobre perspektywy do poziomego i pionowego skalowania, w przypadku, gdy przedsiębiorstwo będzie mogło konkurować z innymi firmami o podobnym profilu w Internecie i zacznie generować zyski, które można będzie zainwestować w rozwój zasobów w celu dalszej konkurencji i wzrostu zysku.

Jakie urządzenia możemy dodać, jeśli przedsiębiorstwo zdecyduje się zwiększyć wydajność naszego klastra obliczeniowego:

  • mamy dużą rezerwę w liczbie portów na przełącznikach 2960X, co oznacza, że można dodać więcej serwerów sprzętowych;
  • dokupić dwa przełączniki FC, aby podłączyć do nich macierz dyskową i dodatkowe serwery;
  • już istniejące serwery można zaktualizować – dodać pamięci, wymienić procesory na bardziej wydajne, podłączyć do sieci 10G już istniejącymi adapterami sieciowymi;
  • do macierzy dyskowej można dodać dodatkowe półki dyskowe z odpowiednim rodzajem dysków – SAS, SATA lub SSD, w zależności od planowanego obciążenia;
  • po dodaniu przełączników FC można dokupić jeszcze jedną macierz dyskową, aby zwiększyć pojemność dyskową, a jeśli do niej dokupimy specjalną opcję Remote Replication, to można będzie skonfigurować replikację danych między macierzami dyskowymi zarówno w ramach jednego centrum danych, jak i między centrami danych (ale to już wykracza poza ten artykuł);
  • są również przełączniki trzeciego poziomu – Cisco 3850, które można wykorzystać jako niezawodne jądro sieci, do szybkiego routingu między wewnętrznymi sieciami. To bardzo pomoże w przyszłości, w miarę wzrostu wewnętrznej infrastruktury. Ponadto 3850 ma porty 10G, które można wykorzystać później, przy aktualizacji sprzętu sieciowego do szybkości 10G.

Ponieważ obecnie wirtualizacja jest niezbędna, naturalnie też będziemy na bieżąco, tym bardziej, że to doskonały sposób na obniżenie kosztów zakupu drogich serwerów dla oddzielnych elementów infrastruktury (serwery WWW, bazy danych itd.), które nie zawsze są optymalnie wykorzystywane przy niskim obciążeniu, co z pewnością będzie miało miejsce na początku uruchomienia projektu.

Co więcej, wirtualizacja ma wiele innych zalet, które mogą nam się bardzo przydać: odporność maszyn wirtualnych na awarię sprzętowego serwera, Live migration między węzłami sprzętowymi klastra w celu ich konserwacji, ręczne lub automatyczne rozdzielanie obciążenia między węzłami klastra itd.

Dla sprzętu zakupionego przez firmę proponowane jest wdrożenie wysoko dostępnego klastra VMware vSphere, ale ponieważ jakiekolwiek oprogramowanie od VMware jest znane z „kosztownych” cen, więc zamierzamy wykorzystać całkowicie darmowe oprogramowanie do zarządzania wirtualizacją – oVirt, na podstawie którego powstaje znany, ale już komercyjny produkt — RHEV.

Oprogramowanie oVirt jest niezbędne do integracji wszystkich elementów infrastruktury w jedną całość, aby umożliwić wygodną pracę z wysoko dostępnymi maszynami wirtualnymi – to bazy danych, aplikacje webowe, serwery proxy, load balancery, serwery do zbierania logów i analityki itp., czyli wszystko, z czego składa się portal internetowy naszej firmy.

Podsumowując to wprowadzenie, możemy spodziewać się następujących artykułów, które w praktyce pokażą, jak dokładnie wdrożyć całą sprzętowo-programową infrastrukturę przedsiębiorstwa:

Lista artykułów

  • Część 1. Przygotowanie do wdrożenia klastra oVirt 4.3.
  • Część 2. Instalacja i konfiguracja klastra oVirt 4.3.
  • Część 3. Konfiguracja klastra VyOS, organizacja odpornej na awarie zewnętrznej routingu.
  • Część 4. Konfiguracja steru Cisco 3850, organizacja routingu wewnątrz sieci.

Część 1. Przygotowanie do wdrożenia klastra oVirt 4.3

Podstawowa konfiguracja hostów

Instalacja i konfiguracja systemu operacyjnego – to najprostszy etap. Istnieje wiele artykułów mówiących, jak prawidłowo zainstalować i skonfigurować system operacyjny, więc nie ma sensu próbować wydawać czegoś wyjątkowego na ten temat.

Zatem mamy dwa hosty Dell PowerEdge R640, na które należy zainstalować system operacyjny i wykonać wstępne ustawienia, aby mogły służyć jako hipernadzorcy do uruchamiania maszyn wirtualnych w klastrze oVirt 4.3.

Ponieważ planujemy korzystać z bezpłatnego oprogramowania oVirt, wybrano system operacyjny do wdrożenia hostów CentOS 7.7, chociaż na hosty dla oVirt możliwa jest instalacja innych systemów:

Przed instalacją systemu operacyjnego zaleca się:

  • skonfigurować interfejs sieciowy iDRAC na obu hostach;
  • zaktualizować firmware BIOS i iDRAC do najnowszych wersji;
  • skonfigurować Profil Systemu serwera najlepiej w trybie Performance;
  • skonfigurować RAID z lokalnych dysków (zalecany RAID1), do instalacji systemu operacyjnego na serwerze.

Następnie instalujemy system operacyjny na wcześniej utworzonym dysku przez iDRAC – proces instalacji jest zwykły, nie ma w nim żadnych szczególnych momentów. Dostęp do konsoli serwera w celu rozpoczęcia instalacji systemu operacyjnego można również uzyskać przez iDRAC, chociaż nic nie stoi na przeszkodzie, aby podłączyć monitor, klawiaturę i mysz bezpośrednio do serwera i zainstalować system operacyjny z "flashki".

Po instalacji systemu operacyjnego wykonujemy jego wstępne ustawienia:

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

Instalujemy podstawowy zestaw oprogramowania

Aby początkowo skonfigurować system operacyjny, należy skonfigurować dowolny interfejs sieciowy na serwerze, aby uzyskać dostęp do Internetu w celu aktualizacji systemu operacyjnego i instalacji niezbędnych pakietów oprogramowania. Można to zrobić zarówno podczas instalacji systemu operacyjnego, jak i po niej.

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 

Wszystkie powyższe ustawienia i zestaw oprogramowania to kwestia osobistych preferencji, a ten zestaw ma jedynie charakter rekomendacyjny.

Ponieważ nasz host będzie pełnił rolę hypervisora, włączamy odpowiedni profil wydajności:

systemctl enable tuned 
systemctl start tuned 
systemctl status tuned 

tuned-adm profile 
tuned-adm profile virtual-host 

Więcej informacji o profilu wydajności można znaleźć tutaj: «Rozdział 4. tuned i tuned-adm«.

Po instalacji systemu operacyjnego przechodzimy do następnej części — konfiguracji interfejsów sieciowych na hostach oraz stosu przełączników Cisco 2960X.

Konfiguracja stosu przełączników Cisco 2960X

W naszym projekcie będą używane następujące numery VLAN — lub domeny rozgłoszeniowe, izolowane od siebie, w celu podziału różnych rodzajów ruchu:

VLAN 10 – Internet
VLAN 17 – Zarządzanie (iDRAC, systemy pamięci masowej, zarządzanie przełącznikami)
VLAN 32 – Sieć produkcyjna VM
VLAN 33 – Sieć interkoneksji (do zewnętrznych wykonawców)
VLAN 34 – Testowa sieć VM
VLAN 35 – Sieć dewelopera VM
VLAN 40 – Sieć monitorująca

Przed rozpoczęciem prac przedstawiamy schemat na poziomie L2, do którego ostatecznie powinniśmy dążyć:

Tworzenie odpornej infrastruktury IT. Część 1 — przygotowanie do wdrożenia klastra oVirt 4.3

Aby umożliwić interakcję sieciową między hostami oVirt a maszynami wirtualnymi, jak również do zarządzania naszą pamięcią masową, konieczna jest konfiguracja stosu przełączników Cisco 2960X.

Hosty Dell mają wbudowane karty sieciowe z czterema portami, dlatego zasadne jest zorganizowanie ich połączenia z Cisco 2960X za pomocą połączenia sieciowego o wysokiej dostępności, wykorzystując do tego grupowanie fizycznych portów sieciowych w logiczny interfejs oraz protokół LACP (802.3ad):

  • pierwsze dwa porty na hoście są konfigurowane w trybie bondingu i łączone z przełącznikiem 2960X – na tym logicznym interfejsie będzie ustawione bridge z adresem do zarządzania hostem, monitorowania i komunikacji z innymi hostami w klastrze oVirt, będzie również używany do migracji w czasie rzeczywistym maszyn wirtualnych;
  • dwa ostatnie porty na hoście również są konfigurowane w trybie bondingu i podłączane do 2960X – na tym interfejsie logicznym za pomocą oVirt, w dalszej kolejności będą tworzone bridge'e (w odpowiednich VLAN'ach), do których będą podłączane maszyny wirtualne.
  • oba porty sieciowe, w ramach jednego interfejsu logicznego, będą aktywne, co oznacza, że ruch może być przesyłany równocześnie w trybie równoważenia obciążenia.
  • ustawienia sieciowe na węzłach klastra muszą być absolutnie IDENTYCZNE, z wyjątkiem adresów IP.

Podstawowa konfiguracja stosu przełączników 2960X i jego portów

Nasze przełączniki muszą być wstępnie:

  • zamontowane w szafie rack;
  • połączone za pomocą dwóch specjalnych kabli o odpowiedniej długości, na przykład CAB-STK-E-1M;
  • podłączone do zasilania;
  • połączone z roboczą stacją administracyjną przez port konsolowy, aby przeprowadzić ich wstępną konfigurację.

Wymagana dokumentacja jest dostępna na oficjalnej stronie stronie producenta.

Po wykonaniu powyższych czynności przeprowadzamy konfigurację przełączników.
Co oznacza każdy polecenie, nie jest tłumaczone w ramach tego artykułu, w razie potrzeby wszystkie informacje można znaleźć samodzielnie.
Naszym celem jest jak najszybsze skonfigurowanie stosu przełączników i podłączenie do niego hostów oraz interfejsów zarządzających macierzą dyskową.

1) Łączymy się z głównym przełącznikiem, przechodzimy do trybu uprzywilejowanego, następnie wchodzimy w tryb konfiguracji i wykonujemy podstawowe ustawienia.

Podstawowa konfiguracja przełącznika:

 włącz
 skonfiguruj terminal

 hostname 2960X

 wyłącz service pad
 service timestamps debug datetime msec
 service timestamps log datetime localtime show-timezone msec
 wyłącz service password-encryption
 service sequence-numbers

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

 zegar strefy czasowej MSK 3
  vtp tryb przezroczysty
  ip subnet-zero

 vlan 17
  nazwa Zarządzanie

 vlan 32
  nazwa PROD 

 vlan 33
  nazwa Interconnect

 vlan 34
  nazwa Test

 vlan 35
  nazwa Dev

 vlan 40
  nazwa 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

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

 ip http server
 ip http secure-server
 wyłącz vstack

 interfejs Vlan1
 wyłącz ip address
 zamknij

 exit 

Zapisujemy konfigurację poleceniem „wr mem” i restartujemy stos switcha poleceniem „reload” na głównym switchu switch 1.

2) Konfigurujemy porty sieciowe switcha w trybie dostępu (access) w VLAN 17, do podłączenia interfejsów zarządzających storage i serwerów iDRAC.

Konfiguracja portów zarządzania:

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

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

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

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

3) Po zrestartowaniu stosu, sprawdzamy, czy działa poprawnie:

Sprawdzenie działania stosu:

2960X#show switch stack-ring speed

Prędkość pierścienia stosu        : 20G
Konfiguracja pierścienia stosu: Pełny
Protokół pierścienia stosu     : 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
Adres MAC Switcha/Stosu : 0cd0.f8e4.XXXX
Czas oczekiwania na trwałość MAC: Niekonieczność
                                           H/W   Obecny
Switch#  Rola   Adres MAC     Priorytet Wersja  Stan
----------------------------------------------------------
*1       Mistrz 0cd0.f8e4.XXXX    15     4       Gotowy
 2       Członek 0029.c251.XXXX     14     4       Gotowy

         Status Portu Stosu             Sąsiedzi
Switch#  Port 1     Port 2           Port 1   Port 2
--------------------------------------------------------
  1        Ok         Ok                2        2
  2        Ok         Ok                1        1

4) Konfiguracja dostępu SSH do stosu 2960X

Do zdalnego zarządzania stosem przez SSH, użyjemy IP 172.20.1.10, skonfigurowanego na SVI (switch virtual interface) VLAN17.

Choć dla celów zarządzania zaleca się używanie specjalnego, dedykowanego portu na przełączniku, jest to kwestia osobistych preferencji i możliwości.

Konfiguracja dostępu SSH do stosu przełączników:

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

Ustawienie hasła do trybu uprzywilejowanego:

enable secret *myenablepassword*
service password-encryption

Konfiguracja 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) Konfiguracja logicznych interfejsów EtherChannel oraz fizycznych portów podłączonych do hostów. Dla uproszczenia konfiguracji, wszystkie istniejące VLAN-y będą zezwolone na wszystkich interfejsach logicznych, ale zazwyczaj zaleca się konfigurowanie tylko tego, co jest potrzebne:

Konfiguracja interfejsów EtherChannel:

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

Wstępna konfiguracja interfejsów sieciowych dla maszyn wirtualnych na hostach Host1 i Host2

Sprawdzamy dostępność niezbędnych modułów do pracy bonding w systemie, instalujemy moduł do zarządzania mostkami:

modinfo bonding
modinfo 8021q
yum install bridge-utils

Konfiguracja na hostach logicznego interfejsu BOND1 dla maszyn wirtualnych oraz jego fizycznych interfejsów:

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

Po zakończeniu konfiguracji na stosie 2960X i hostach, restartujemy sieć na hostach i sprawdzamy działanie logicznego interfejsu.

  • na hoście:

systemctl restart network

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

Tryb bonding: IEEE 802.3ad Dynamic link aggregation
Polityka haszowania transmisji: 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
Polityka wyboru agregatora (ad_select): stable
Priorytet systemu: 65535
...
Interfejs podrzędny: em2
MII Status: up
Prędkość: 1000 Mbps
Duplex: full
...
Interfejs podrzędny: em3
MII Status: up
Prędkość: 1000 Mbps
Duplex: full

  • na stosie przełączników 2960X:

2960X#show lacp internal
Flagi:  S - Urządzenie żąda wolnych LACPDUs
        F - Urządzenie żąda szybkich LACPDUs
        A - Urządzenie jest w trybie aktywnym       P - Urządzenie jest w trybie pasywnym

Grupa kanałowa 1
                            Port LACP     Administracyjny     Operacyjny    Port        Port
Port      Flagi   Stan     Priorytet      Klucz       Klucz     Numer      Stan
Gi1/0/1   SA      bndl      32768         0x1       0x1     0x102       0x3D
Gi2/0/1   SA      bndl      32768         0x1       0x1     0x202       0x3D

2960X#sh etherchannel summary
Flagi:  D - down        P - zgrupowany w port-channel
        I - samodzielny s - wstrzymany
        H - gorący zapas (tylko LACP)
        R - Warstwa3      S - Warstwa2
        U - w użyciu      N - nie w użyciu, brak agregacji
        f - nieudane przydzielenie agregatora

        M - nie w użyciu, minimalne linki nie zostały spełnione
        m - nie w użyciu, port nie został zgrupowany z powodu minimalnych linków
        u - nieodpowiedni do zgrupowania
        w - czekający na agregację
        d - port domyślny

        A - utworzony przez Auto LAG

Liczba grup kanałów w użyciu: 11
Liczba agregatorów:           11

Grupa  Port-channel  Protokół    Porty
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         LACP      Gi1/0/1(P)  Gi2/0/1(P)

Wstępna konfiguracja interfejsów sieciowych do zarządzania zasobami klastra na hostach Host1 i Host2

Konfiguracja na hostach logicznego interfejsu BOND1 do zarządzania oraz jego fizycznych interfejsów:

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

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

Po zakończeniu konfiguracji na stosie 2960X i hostach, restartujemy sieć na hostach i sprawdzamy działanie logicznego interfejsu.

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

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

Konfigurujemy interfejs sieciowy zarządzający na każdym hoście w VLAN 17, i przypisujemy go do logicznego interfejsu BOND1:

Konfiguracja VLAN17 na 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

Konfiguracja VLAN17 na 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

Restartujemy sieć na hostach i sprawdzamy ich widoczność między sobą.

Na tym konfiguracja stosu przełączników Cisco 2960X dobiegła końca, a jeśli wszystko zostało wykonane poprawnie, to teraz mamy połączenie sieciowe wszystkich elementów infrastruktury na poziomie L2.

Konfiguracja macierzy Dell MD3820f

Przed rozpoczęciem prac związanych z konfiguracją macierzy, powinna być ona już podłączona do stosu przełączników Cisco 2960X interfejsami zarządzającymi, a także do hostów Host1 i Host2 przez FC.

Ogólny schemat, w jaki sposób macierz powinna być podłączona do stosu przełączników, był przedstawiony w poprzednim rozdziale.

Schemat podłączenia macierzy przez FC do hostów powinien wyglądać tak:

Tworzenie odpornej infrastruktury IT. Część 1 — przygotowanie do wdrożenia klastra oVirt 4.3

Podczas podłączania należy zapisać adresy WWPN dla FC HBA hostów podłączonych do portów FC na macierzy – będzie to potrzebne do późniejszej konfiguracji przypisania hostów do LUN’ów na macierzy.

Na stacji roboczej administratora pobieramy i instalujemy narzędzie do zarządzania macierzą Dell MD3820f – PowerVault Modular Disk Storage Manager (MDSM).
Podłączamy się do niej przez jej adresy IP domyślne, a następnie konfigurujemy nasze adresy z VLAN17, aby zarządzać kontrolerami przez 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

Po skonfigurowaniu adresów wchodzimy do interfejsu zarządzania macierzą, ustawiamy hasło, konfigurujemy czas, aktualizujemy oprogramowanie układowe dla kontrolerów i dysków, gdy jest to konieczne, itp.
Jak to się robi – opisano w podręczniku do administracji Zestaw pamięci masowej.

Po wykonaniu powyższych ustawień musimy wykonać tylko kilka czynności:

  1. Skonfigurować identyfikatory portów FC hostów – Identyfikatory portów hostów.
  2. Stworzyć grupę hostów – Grupa hostów i dodać do niej naszych dwóch hostów Dell.
  3. Utworzyć grupę dyskową i w niej wirtualne dyski (lub LUN-y), które będą prezentowane hostom.
  4. Skonfigurować prezentację wirtualnych dysków (lub LUN-ów) dla hostów.

Dodawanie nowych hostów i przypisanie im identyfikatorów portów FC odbywa się przez menu – Przypisania hostów -> Zdefiniuj -> Hosty…
Adresy WWPN FC HBA hostów można znaleźć na przykład w iDRAC serwera.

W rezultacie powinniśmy otrzymać mniej więcej taki obrazek:

Tworzenie odpornej infrastruktury IT. Część 1 — przygotowanie do wdrożenia klastra oVirt 4.3

Dodawanie nowej grupy hostów i przypisanie do niej hostów odbywa się przez menu – Przypisania hostów -> Zdefiniuj -> Grupa hostów…
Dla hostów wybieramy typ systemu operacyjnego – Linux (DM-MP).

Po utworzeniu grupy hostów, przez zakładkę Usługi pamięci masowej i kopiowania, tworzymy grupę dyskową – Grupa dyskowa, z typem zależnym od wymagań dotyczących odporności na awarie, na przykład RAID10, a w niej wirtualne dyski o odpowiednim rozmiarze:

Tworzenie odpornej infrastruktury IT. Część 1 — przygotowanie do wdrożenia klastra oVirt 4.3

I w końcu ostatni etap — prezentacja wirtualnych dysków (lub LUN-ów) dla hostów.
W tym celu przez menu – Przypisania hostów -> Mapowanie LUN-ów -> Dodaj… przypisujemy wirtualne dyski do hostów, przypisując im numery.

Wszystko powinno wyglądać tak, jak na tym zrzucie ekranu:

Tworzenie odpornej infrastruktury IT. Część 1 — przygotowanie do wdrożenia klastra oVirt 4.3

Na tym kończymy konfigurację SAKD i jeśli wszystko zostało wykonane prawidłowo, hosty powinny zobaczyć prezentowane im LUN-y przez swoje HBA FC.
Wymuśmy system na aktualizację informacji o podłączonych dyskach:

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

Zobaczmy, jakie urządzenia są widoczne na naszych serwerach:

cat /proc/scsi/scsi
Podłączone urządzenia:
Host: scsi0 Channel: 02 Id: 00 Lun: 00
  Producent: DELL     Model: PERC H330 Mini   Rev: 4.29
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 00
  Producent: DELL     Model: MD38xxf          Rev: 0825
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 01
  Producent: DELL     Model: MD38xxf          Rev: 0825
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 04
  Producent: DELL     Model: MD38xxf          Rev: 0825
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 11
  Producent: DELL     Model: MD38xxf          Rev: 0825
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 31
  Producent: DELL     Model: Universal Xport  Rev: 0825
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 00
  Producent: DELL     Model: MD38xxf          Rev: 0825
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 01
  Producent: DELL     Model: MD38xxf          Rev: 0825
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 04
  Producent: DELL     Model: MD38xxf          Rev: 0825
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 11
  Producent: DELL     Model: MD38xxf          Rev: 0825
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 31
  Producent: DELL     Model: Universal Xport  Rev: 0825
  Typ:   Direct-Access                    ANSI  wersja SCSI: 05

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

Na serwerach można również dodatkowo skonfigurować multipath, i choć podczas instalacji oVirt może to zrobić samodzielnie, lepiej jest wcześniej sprawdzić poprawność działania MP samodzielnie.

Instalacja i konfiguracja 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]"
 }

Ustawiamy usługę MP na autostart i uruchamiamy ją:

systemctl enable multipathd && systemctl restart multipathd

Sprawdzenie informacji o załadowanych modułach do działania 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 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

Przeglądanie podsumowania informacji o istniejącej konfiguracji multipath:

mpathconf
multipath jest włączony
find_multipaths jest wyłączony
user_friendly_names jest wyłączone
moduł dm_multipath jest załadowany
multipathd działa

Po dodaniu nowego LUN do pamięci masowej i jego prezentacji dla hosta, należy przeprowadzić skanowanie podłączonych do hosta HBA.

systemctl reload multipathd
multipath -v2

Na koniec sprawdzamy, czy wszystkie LUN-y zostały zaprezentowane na pamięci masowej dla hostów, i czy prowadzą do nich dwa ścieżki.

Sprawdzenie działania MP:

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

Jak widać, wszystkie trzy wirtualne dyski z pamięci masowej są widoczne przez dwie ścieżki. W związku z tym wszystkie prace przygotowawcze zostały wykonane, a zatem można przejść do realizacji głównej części – konfiguracji klastra oVirt, co zostanie omówione w następnym artykule.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster