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ą – , na podstawie którego powstaje znany, ale już komercyjny produkt — .
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:
- specjalnego buildu na bazie RHEL, tzw. ;
- Systemu Oracle Linux, latem 2019 r. o wsparciu pracy oVirt na nim.
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.servicesystemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManageryum install -y ntp
systemctl enable ntpd.service
systemctl start ntpd.servicecat /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targetedcat /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536cat /etc/sysctl.conf
vm.max_map_count = 262144
vm.swappiness = 1Instalujemy 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: ««.
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ć:

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 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
exit3) 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 14) 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_passwordUstawienie hasła do trybu uprzywilejowanego:
enable secret *myenablepassword*
service password-encryptionKonfiguracja 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 detail5) 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 activeWstę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-utilsKonfiguracja 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 summaryKonfigurujemy 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=publicKonfiguracja 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=publicRestartujemy 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:

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.2Po 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 Zestaw pamięci masowej.
Po wykonaniu powyższych ustawień musimy wykonać tylko kilka czynności:
- Skonfigurować identyfikatory portów FC hostów – Identyfikatory portów hostów.
- Stworzyć grupę hostów – Grupa hostów i dodać do niej naszych dwóch hostów Dell.
- Utworzyć grupę dyskową i w niej wirtualne dyski (lub LUN-y), które będą prezentowane hostom.
- 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:

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:

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:

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]/scanZobaczmy, 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 multipathdSprawdzenie 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: sha256Przeglą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łaPo 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 -v2Na 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 runningJak 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
