Създаване на отказоустойчив IT инфраструктура. Част 1 – подготовка за разгръщане на кластера oVirt 4.3

На вниманието на читателите се предлага да се запознаят с принципите на изграждане на устойчива инфраструктура за малък бизнес в рамките на един ЦОД, които ще бъдат подробно разгледани в малък цикъл статии.

Въведителна част

Под ЦОД (Център за Обработка на Данни) може да се разбира като:

  • собствена рафтова инсталация в своя «сървърен кабинет» на територията на предприятието, която отговаря на минималните изисквания за осигуряване на електрическа енергия и охлаждане на оборудването, както и има изход в Интернет чрез двама независими провайдера;
  • наемана рафтова инсталация с собствено оборудване, разположена в настоящия ЦОД – т.н. колокация, която отговаря на стандарта Tier III или IV и в която се гарантира надеждно захранване, охлаждане и се осигурява устойчиво на сриви изход в Интернет;
  • изцяло наемано оборудване в ЦОД Tier III или IV.

Кой вариант на разполагане да се избере – всеки случай е индивидуален и обикновено зависи от няколко основни фактора:

  • за какво предприятието изобщо има собствена IT инфраструктура;
  • какво точно иска предприятието от IT инфраструктурата (надеждност, мащабируемост, управляемост и т.н.);
  • обема на първоначалните инвестиции в IT инфраструктурата, както и какъв тип разходи за нея – капитални (значи закупува се собствено оборудване) или оперативни (обикновено оборудването се наема);
  • горизонта на планиране на самото предприятие.

За факторите, влияещи на решението на предприятието относно създаването и използването на неговата IT инфраструктура, може да се пише много, но нашата цел е да покажем на практика как да се създаде тази инфраструктура, за да бъде устойчива на сривове и същевременно икономична – да се намалят разходите за придобиване на комерсиален софтуер или изобщо да се избегнат.

Как показва дългогодишният опит, не трябва да се икономисва на хардуера, тъй като скупият плаща два пъти, и дори много повече. Но отново - добрият хардуер е само препоръка, а в крайна сметка какво точно да се купи и за колко, зависи от възможностите на предприятието и 'алчността' на неговото ръководство. И тук 'алчност' трябва да се разбира в добрия смисъл на думата, тъй като е по-добре да инвестирате в хардуер в началния етап, за да не се появят сериозни проблеми с неговата поддръжка и мащабиране по-късно, тъй като неправилното планиране и прекомерната икономия могат да доведат в бъдеще до по-високи разходи, отколкото при стартиране на проекта.

Така че, изходните данни за проекта:

  • има предприятие, което реши да създаде собствен уеб портал и да изнесе своята дейност в Интернет;
  • предприятието реши да наеме рафт за разполагане на своето оборудване в добър дата център, сертифициран по стандарт Tier III;
  • предприятието реши да не икономисва много от хардуера и затова закупи следното оборудване с разширени гаранции и поддръжка:

Списък на оборудването

  • два физически сървъра Dell PowerEdge R640 в следния състав:
  • два процесора Intel Xeon Gold 5120
  • 512 Gb RAM
  • два SAS диска в RAID1 за инсталиране на ОС
  • вградена 4-портова мрежова карта 1G
  • две 2-портови мрежови карти 10G
  • един 2-портов FC HBA 16G.
  • 2-контролерна СХД Dell MD3820f, свързана чрез FC 16G директно към хостовете Dell;
  • два комутатора от второ ниво — Cisco WS-C2960RX-48FPS-L, свързани в стек;
  • два комутатора от трето ниво — Cisco WS-C3850-24T-E, свързани в стек;
  • Рафтове, UPS, PDU, консолни сървъри – предоставят се от дата центъра.

Както виждаме, наличното оборудване има добри перспективи за хоризонтално и вертикално мащабиране, в случай че предприятието успее да конкурира с други компании с подобен профил в Интернет и започне да получава печалба, която може да бъде вложена в разширяване на ресурсите за по-нататъшна конкуренция и растеж на печалбите.

Какво оборудване можем да добавим, ако предприятието реши да увеличи производителността на нашия изчислителен клъстер:

  • имаме голям резерв по брой портове на комутаторите 2960X, което означава, че можем да добавим повече хардуерни сървъри;
  • да закупите два FC комутатора, за да ги свържете към СХД и допълнителни сървъри;
  • вече съществуващите сървъри могат да бъдат ъпгрейднати – добавяне на памет, замяна на процесорите с по-мощни, свързване към мрежата 10G чрез вече наличните мрежови адаптери;
  • към СХД могат да бъдат добавени допълнителни дискови рафтове с необходимия тип дискове – SAS, SATA или SSD, в зависимост от планираното натоварване;
  • след добавяне на FC комутатори, можете да закупите още един СХД, за да добавите още дискова вместимост, а ако закупите специална опция Remote Replication, можете да настроите репликация на данни между СХД както в рамките на един ЦОД, така и между ЦОД-ите (но това е извън обсега на статията);
  • Има също така комутатори от трето ниво – Cisco 3850, които може да се използват като отказоустойчиво ядро на мрежата, за висока скорост на маршрутизация между вътрешните мрежи. Това ще бъде много полезно напред, с растежа на вътрешната инфраструктура. Освен това, 3850 разполага с 10G портове, които могат да бъдат използвани по-късно при обновяване на мрежовото оборудване до 10G скорост.

Тъй като в момента виртуализацията е нещо, от което не можем да се откажем, ние също така ще следваме тенденцията, особено тъй като това е отличен начин за намаляване на разходите за закупуване на скъпи сървъри за отделни елементи на инфраструктурата (веб сървъри, бази данни и т.н.), които не винаги се използват оптимално при ниско натоварване, а точно това ще бъде в началото на старта на проекта.

В допълнение, виртуализацията има много други предимства, които могат да ни бъдат много полезни: отказоустойчивост на ВМ при срив на физическия сървър, Live migration между физическите възли на клъстера за поддръжка, ръчно или автоматично разпределение на натоварването между възлите на клъстера и т.н.

За хардуера, закупен от предприятието, се налага разгръщане на високо-достъпен клъстер VMware vSphere, но тъй като всяко софтуерно решение от VMware е известно със своите „конски“ цени, ние ще използваме абсолютно безплатен софтуер за управление на виртуализацията – oVirt, на базата на който е създаден известният, но вече търговски продукт — RHEV.

Програмно осигуряване oVirt необходимо за обединяване на всички елементи на инфраструктурата в едно цяло, за да се осигури удобна работа с високо-достъпни виртуални машини – бази данни, уеб приложения, прокси сървъри, балансировачи, сървъри за събиране на логове и аналитика и т.н., тоест всичко, от което се състои уеб портала на нашето предприятие.

В обобщение на това въвеждане, пред нас предстоят следващите статии, които на практика ще демонстрират как точно да разположим цялата апаратно-програмна инфраструктура на предприятието:

Списък на статиите

  • Част 1. Подготовка за разгръщане на клъстера oVirt 4.3.
  • Част 2. Инсталиране и настройка на клъстера oVirt 4.3.
  • Част 3. Настройка на клъстера VyOS, организиране на отказоустойчиво външно маршрутизиране.
  • Част 4. Настройка на стек Cisco 3850, организиране на вътрешно маршрутизиране.

Част 1. Подготовка за разгръщане на клъстера oVirt 4.3

Основна настройка на хостовете

Инсталирането и настройката на ОС – това е най-простият етап. Има множество статии за това как правилно да се инсталира и настрои ОС, така че няма смисъл да се опитваме да предложим нещо уникално по този въпрос.

И така, имаме два хоста Dell PowerEdge R640, на които трябва да инсталираме ОС и да извършим предварителни настройки, за да ги използваме като хипервизори за стартиране на виртуални машини в клъстера oVirt 4.3.

Тъй като планираме да използваме безплатен некомерсиален софтуер oVirt, за разгръщане на хостовете е избрана ОС CentOS 7.7, въпреки че на хостовете за oVirt могат да бъдат инсталирани и други ОС:

  • специално билд основан на RHEL, т.н. oVirt Node;
  • ОС Oracle Linux, лятото на 2019 г. беше обявено за поддръжка на работата на oVirt на нея.

Преди инсталиране на ОС е препоръчително:

  • да настройте мрежовия интерфейс iDRAC на двата хоста;
  • да обновите фърмуера за BIOS и iDRAC до последните версии;
  • да настроите системния профил на сървъра, за предпочитане в режим Performance;
  • да настроите RAID от локалните дискове (препоръчва се RAID1) за инсталиране на ОС на сървъра.

След това инсталираме ОС на създадения по-рано диск чрез iDRAC – процесът на инсталиране е обичайнен, без никакви особености в него. Достъп до конзолата на сървъра за началото на инсталацията на ОС може да се получи и чрез iDRAC, макар нищо да не пречи да свържете монитор, клавиатура и мишка директно към сървъра и да инсталирате ОС от „флашка”.

След инсталиране на ОС, извършваме началните ѝ настройки:

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

Инсталираме базов набор от софтуер

За първоначалната настройка на ОС е необходимо да се настрои мрежов интерфейс на сървера, за да може да имаме достъп до интернет за обновяване на ОС и инсталиране на необходимите софтуерни пакети. Това може да се направи както по време на инсталацията на ОС, така и след нея.

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 

Всички горепосочени настройки и набор от софтуер са въпрос на личен избор и този набор е само препоръчителен.

Тъй като нашият хост ще играе ролята на хипервизор, нека включим необходимия профил за производителност:

systemctl enable tuned 
systemctl start tuned 
systemctl status tuned 

tuned-adm profile 
tuned-adm profile virtual-host 

По-подробно за профила за производителност можете да прочетете тук: «Глава 4. tuned и tuned-adm«.

След инсталирането на ОС, преминаваме към следващата част – настройката на мрежовите интерфейси на хостовете и стека на превключвателите Cisco 2960X.

Настройка на стека на превключвателите Cisco 2960X

В нашия проект ще бъдат използвани следните номера на VLAN — или широковещателни домейни, изолирани един от друг, с цел разделяне на различни видове трафик:

VLAN 10 – Интернет
VLAN 17 – Управление (iDRAC, СХД, управление на превключватели)
VLAN 32 – VM производствена мрежа
VLAN 33 – мрежа за свързване (към външни подизпълнители)
VLAN 34 – VM тестова мрежа
VLAN 35 – VM мрежа за разработчици
VLAN 40 – Мрежа за мониторинг

Преди да започнем работа, ще представим схема на ниво L2, до която трябва да стигнем:

Създаване на отказоустойчив IT инфраструктура. Част 1 – подготовка за разгръщане на кластера oVirt 4.3

За мрежово взаимодействие на хостовете oVirt и виртуалните машини помежду им, както и за управление на нашата СХД, е необходима настройка на стека на превключвателите Cisco 2960X.

Хостовете Dell имат вградени 4-канални мрежови карти, следователно, целесъобразно е да организираме тяхното свързване към Cisco 2960X с помощта на отказоустойчиво мрежово свързване, използвайки агрегация на физически мрежови портове в логически интерфейс и протокол LACP (802.3ad):

  • първите два порта на хоста се настройват в режим на бондинг и се свързват към комутатора 2960X – на този логически интерфейс ще бъде настроен мост с адрес за управление на хоста, мониторинг, свързване с други хостове в клъстера oVirt, също така ще се използва за Live migration на виртуални машини;
  • вторите два порта на хоста също се конфигурират в режим на обединение и са свързани към 2960X – на този логически интерфейс с помощта на oVirt, впоследствие ще бъдат създадени bridge-ове (в съответните VLAN), към които ще се свързват виртуалните машини.
  • и двата мрежови порта, в рамките на един логически интерфейс, ще са активни, т.е. трафикът по тях може да се предава едновременно, в режим на баланс.
  • мрежовите настройки на възлите в клъстера трябва да бъдат абсолютно ИДЕНТИЧНИ, с изключение на IP адресите.

Основна настройка на стека на комутаторите 2960X и неговите портове

Преди това нашите комутатори трябва да бъдат:

  • монтирани в стелаж;
  • свързани с два специални кабела с необходимата дължина, например, CAB-STK-E-1M;
  • свързани с електрическото захранване;
  • свързани с работната станция на администратора през конзолния порт, за първоначалната им конфигурация.

Необходимото ръководство за това е налично на официалната страница производителя.

След изпълнение на горепосочените действия, извършваме настройката на комутаторите.
Какво означава всяка команда, няма да се разглежда в рамките на тази статия, при необходимост цялата информация може да бъде намерена самостоятелно.
Нашата цел е да настроим стека на комутаторите възможно най-бързо и да свържем хостовете и управляващите интерфейси на СХД.

1) Свързваме се с водещия комутатор, преминаваме в режим на привилегии, след това влизаме в режим на конфигуриране и извършваме основните настройки.

Базова конфигурация на комутатора:

 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 

Запазваме конфигурацията с командата «wr mem» и рестартираме стека на комутаторите с командата «reload» на главния комутатор switch 1.

2) Настройваме мрежовите портове на комутатора в режим достъп (access) в VLAN 17, за свързване на управляващите интерфейси на СХД и iDRAC серверите.

Настройка на управляващите портове:

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) След рестартиране на стека, проверяваме дали работи коректно:

Проверка на функционирането на стека:

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) Настройка на SSH достъп до стека 2960X

За отдалечено управление на стека през SSH, ще използваме IP 172.20.1.10, настроен на SVI (switch virtual interface) VLAN17.

Въпреки че за управленски цели е желателно да се използва специален отделен порт на комутатора, това е въпрос на лични предпочитания и възможности.

Настройка на SSH достъпа до стека на комутаторите:

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

Настройваме парола за вход в привилегирования режим:

enable secret *myenablepassword*
service password-encryption

Настройваме 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) Настройваме логическите интерфейси Etherchannel и физическите портове, свързващи се с хостовете. За удобство при конфигурацията, всички налични VLAN'и ще бъдат разрешени на всички логически интерфейси, но обикновено се препоръчва да се конфигурира единствено необходимото:

Конфигурация на интерфейсите 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

Първоначална настройка на мрежовите интерфейси за виртуални машини на хостовете Host1 и Host2

Проверяваме наличието на необходимите модули за работа с бондинг в системата, инсталираме модула за управление на мостовете:

modinfo bonding
modinfo 8021q
yum install bridge-utils

Настройка на хостовете за логическия интерфейс BOND1 за виртуални машини и неговите физически интерфейси:

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 

След завършване на настройките на стека 2960Х и хостов, рестартиране на мрежата на хостовете, и проверка на работоспособността на логическия интерфейс.

  • на хост:

systemctl restart network

cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (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

  • на стека на комутаторите 2960Х:

2960X#show lacp internal
Flags:  S - Устройството запитва за бавни LACPDUs
        F - Устройството запитва за бързи LACPDUs
        A - Устройството е в активен режим       P - Устройството е в пасивен режим

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 - надолу        P - обединен в порт-канал
        I - самостоятелен s - спряно
        H - Горещо резервиране (само LACP)
        R - Layer3      S - Layer2
        U - в употреба      N - не в употреба, без агрегация
        f - неуспех при разпределение на агрегатор

        M - не в употреба, минимални връзки не са спазени
        m - не в употреба, порт не е агрегриран поради минимални връзки
        u - неподходящ за обединяване
        w - чака за агрегация
        d - стандартен порт

        A - образуван от Auto LAG

Брой на използваните канал-групи: 11
Брой на агрегаторите:           11

Група  Порт-канал  Протокол    Портове
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         LACP      Gi1/0/1(P)  Gi2/0/1(P)

Първоначална настройка на мрежовите интерфейси за управление на ресурсите на кластера, на хостовете Host1 и Host2

Настройка на логическия интерфейс BOND1 на хостовете за управление, и неговите физически интерфейси:

cat /etc/sysconfig/network-scripts/ifcfg-bond0
#DESCRIPTION - управление
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 - управление
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 - управление
DEVICE=em1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

След завършване на настройките на стека 2960Х и хостов, рестартиране на мрежата на хостовете, и проверка на работоспособността на логическия интерфейс.

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

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

Настройваме управляващия мрежов интерфейс на всеки хост в VLAN 17, и го свързваме с логическия интерфейс BOND1:

Настройка на VLAN17 на 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

Настройка на VLAN17 на 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

Правим рестартиране на мрежата на хостовете и проверяваме тяхната видимост помежду им.

Настройката на стековете на комутатори Cisco 2960X е завършена и, ако всичко е направено правилно, сега имаме мрежова свързаност на всички елементи на инфраструктурата на L2.

Настройка на СХД Dell MD3820f

Преди да започнем работата по настройката на СХД, тя вече трябва да бъде свързана със стека комутатори Cisco. 2960Х управляващи интерфейси, както и с хостовете Host1 и Host2 чрез FC.

Общата схема, как СХД трябва да бъде свързана със стека комутатори, беше показана в предишната глава.

Схемата на свързване на СХД по FC към хостовете трябва да изглежда така:

Създаване на отказоустойчив IT инфраструктура. Част 1 – подготовка за разгръщане на кластера oVirt 4.3

По време на свързването, е необходимо да се запишат WWPN адресите на FC HBA хостовете, свързани към FC портовете на СХД – това ще бъде необходимо за последващата настройка на свързването на хостовете с LUN'ите на СХД.

На работната станция на администратора изтегляме и инсталираме утилита за управление на СХД Dell MD3820f – PowerVault Modular Disk Storage Manager (MDSM).
Свързваме се с нея чрез нейния IP адрес по подразбиране и след това настройваме нашите адреси от VLAN17, за управление на контролерите чрез 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

След настройката на адресите, влизаме в интерфейса за управление на СХД и задаваме парола, настройваме времето, обновяваме фърмуера на контролерите и дисковете, ако е необходимо и т.н.
Как става това – описано е в ръководството по администриране СХД.

След изпълнението на горепосочените настройки, ще трябва да направим само няколко действия:

  1. Настройване на идентификаторите на хостовете FC портове – Host Port Identifiers.
  2. Създаване на група хостове – Host group и добавяне на двата наши хоста Dell в нея.
  3. Създаване на дискова група и в нея виртуални дискове (или LUN'и), които ще бъдат предоставени на хостовете.
  4. Настройка на представянето на виртуалните дискове (или LUN'ите) за хостовете.

Добавянето на нови хостове и свързването им с идентификаторите на хостовите FC портове става чрез менюто – Host Mappings -> Define -> Hosts…
WWPN адресите на FC HBA хостовете могат да бъдат намерени, например, в iDRAC на сървера.

В резултат на това, трябва да получим приблизително такава картина:

Създаване на отказоустойчив IT инфраструктура. Част 1 – подготовка за разгръщане на кластера oVirt 4.3

Добавяне на нова група хостове и привързване на хостове към нея се извършва чрез менюто – Host Mappings -> Define -> Група хостове…
За хостовете избираме тип ОС – Linux (DM-MP).

След създаването на групата хостове, чрез раздела Съхранение и услуги за копиране, създаваме дискова група – Дискова група, с тип, зависещ от изискванията за отказоустойчивост, например, RAID10, а в нея виртуални дискове с необходимия размер:

Създаване на отказоустойчив IT инфраструктура. Част 1 – подготовка за разгръщане на кластера oVirt 4.3

И накрая, финалният етап — представяне на виртуалните дискове (или LUN-ове) за хостовете.
За целта чрез менюто – Host Mappings -> Картографиране на LUN -> Добавяне… правим привързване на виртуалните дискове към хостовете, назначавайки им номера.

Всичко трябва да изглежда така, както на тази скриншот:

Създаване на отказоустойчив IT инфраструктура. Част 1 – подготовка за разгръщане на кластера oVirt 4.3

С това завършваме настройката на СХД и ако всичко е направено правилно, хостовете трябва да видят представените им LUN-ове чрез своите FC HBA.
Ще накараме системата да актуализира информацията за свързаните дискове:

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

Нека видим какви устройства са видими на нашите сървъри:

cat /proc/scsi/scsi
Прикрепленные устройства:
Хост: scsi0 Канал: 02 Идентификатор: 00 Лун: 00
  Производитель: DELL Модель: PERC H330 Mini Версия: 4.29
  Тип: Прямой доступ ANSI SCSI версия: 05
Хост: scsi15 Канал: 00 Идентификатор: 00 Лун: 00
  Производитель: DELL Модель: MD38xxf Версия: 0825
  Тип: Прямой доступ ANSI SCSI версия: 05
Хост: scsi15 Канал: 00 Идентификатор: 00 Лун: 01
  Производитель: DELL Модель: MD38xxf Версия: 0825
  Тип: Прямой доступ ANSI SCSI версия: 05
Хост: scsi15 Канал: 00 Идентификатор: 00 Лун: 04
  Производитель: DELL Модель: MD38xxf Версия: 0825
  Тип: Прямой доступ ANSI SCSI версия: 05
Хост: scsi15 Канал: 00 Идентификатор: 00 Лун: 11
  Производитель: DELL Модель: MD38xxf Версия: 0825
  Тип: Прямой доступ ANSI SCSI версия: 05
Хост: scsi15 Канал: 00 Идентификатор: 00 Лун: 31
  Производитель: DELL Модель: Universal Xport Версия: 0825
  Тип: Прямой доступ ANSI SCSI версия: 05
Хост: scsi18 Канал: 00 Идентификатор: 00 Лун: 00
  Производитель: DELL Модель: MD38xxf Версия: 0825
  Тип: Прямой доступ ANSI SCSI версия: 05
Хост: scsi18 Канал: 00 Идентификатор: 00 Лун: 01
  Производитель: DELL Модель: MD38xxf Версия: 0825
  Тип: Прямой доступ ANSI SCSI версия: 05
Хост: scsi18 Канал: 00 Идентификатор: 00 Лун: 04
  Производитель: DELL Модель: MD38xxf Версия: 0825
  Тип: Прямой доступ ANSI SCSI версия: 05
Хост: scsi18 Канал: 00 Идентификатор: 00 Лун: 11
  Производитель: DELL Модель: MD38xxf Версия: 0825
  Тип: Прямой доступ ANSI SCSI версия: 05
Хост: scsi18 Канал: 00 Идентификатор: 00 Лун: 31
  Производитель: DELL Модель: Universal Xport Версия: 0825
  Тип: Прямой доступ ANSI SCSI версия: 05

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

На хостовете също така може да се настройва допълнително multipath, и въпреки че при инсталация на oVirt това може да се направи и автоматично, по-добре е да се провери предварително работоспособността на MP.

Инсталация и настройка на 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]"
 }

Настройваме MP услугата за автоматично стартиране и я стартираме:

systemctl enable multipathd && systemctl restart multipathd

Проверка на информацията за заредените модули за работа с 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

Преглеждаме обобщена информация за съществуващата конфигурация на multipath:

mpathconf
multipath е активиран
find_multipaths е деактивиран
user_friendly_names е деактивиран
dm_multipath модулът е зареден
multipathd работи

След добавянето на нов LUN на СХД и представянето му на хоста, на него трябва да се извърши сканиране на свързаните с хоста HBA.

systemctl reload multipathd
multipath -v2

И накрая, проверяваме дали всички LUN-ове са представени на СХД за хостовете и дали за всеки от тях водят два пътя.

Проверка на работата на MP:

multipath -ll
3600a098000e4b4b3000003175cec1840 dm-2 DELL    ,MD38xxf
размер=2.0T функции='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
размер=10T функции='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
размер=150G функции='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

Както се вижда, всички три виртуални диска на СХД се виждат по два пътя. Така всички подготвителни работи са завършени и можем да преминем към изпълнението на основната част - настройката на клъстера oVirt, което ще бъде разгледано в следващата статия.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster