Създаване на отказоустойчива ИТ инфраструктура. Част 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, консултантски сървъри – предоставя се от дата центъра.

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

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

  • имаме голям резерв по брой портове на комутаторите 2960Х, значи можем да добавим повече хардуерни сървъри;
  • да се закупят два 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;
  • OS Oracle Linux, през лятото на 2019 г. беше обявено за поддръжка на oVirt на нея.

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

  • да настроим мрежовия интерфейс iDRAC на двата хоста;
  • да обновим фърмуера за BIOS и iDRAC до последните версии;
  • да настроим System Profile на сървъра, за предпочитане в режим 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, към която в крайна сметка трябва да се стигне:

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

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

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

  • първите два порта на хоста се настройват в режим на бондиране и се свързват към комутатора 2960X – на този логически интерфейс ще бъде настроен bridge с адрес за управление на хост, мониторинг и свързване с други хостове в кластер oVirt, също така ще се използва за Live migration на виртуални машини;
  • вторите два порта на хоста също се конфигурират в режим на бондинг и се свързват към 2960X – на този логически интерфейс чрез oVirt, впоследствие ще бъдат създадени мостове (в съответните 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 (свич виртуален интерфейс) 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 (April 27, 2011)

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

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

2960X#show lacp internal
Flags:  S - Устройството за requesting Slow LACPDUs
        F - Устройството за requesting Fast 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 - down        P - bundled in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      N - not in use, no aggregation
        f - failed to allocate aggregator

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

        A - formed by Auto LAG

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

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

Първоначална настройка на мрежовите интерфейси за управление на ресурсите на клъстера на хостовете 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 към хостовете трябва да изглежда така:

Създаване на отказоустойчива ИТ инфраструктура. Част 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

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

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

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

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

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

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

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

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

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

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

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

Създаване на отказоустойчива ИТ инфраструктура. Част 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
Прикрепленные устройства:
Host: scsi0 Channel: 02 Id: 00 Lun: 00
  Производитель: DELL     Модель: PERC H330 Mini   Rev: 4.29
  Тип:   Прямой доступ                    ANSI  SCSI версия: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 00
  Производитель: DELL     Модель: MD38xxf          Rev: 0825
  Тип:   Прямой доступ                    ANSI  SCSI версия: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 01
  Производитель: DELL     Модель: MD38xxf          Rev: 0825
  Тип:   Прямой доступ                    ANSI  SCSI версия: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 04
  Производитель: DELL     Модель: MD38xxf          Rev: 0825
  Тип:   Прямой доступ                    ANSI  SCSI версия: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 11
  Производитель: DELL     Модель: MD38xxf          Rev: 0825
  Тип:   Прямой доступ                    ANSI  SCSI версия: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 31
  Производитель: DELL     Модель: Universal Xport  Rev: 0825
  Тип:   Прямой доступ                    ANSI  SCSI версия: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 00
  Производитель: DELL     Модель: MD38xxf          Rev: 0825
  Тип:   Прямой доступ                    ANSI  SCSI версия: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 01
  Производитель: DELL     Модель: MD38xxf          Rev: 0825
  Тип:   Прямой доступ                    ANSI  SCSI версия: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 04
  Производитель: DELL     Модель: MD38xxf          Rev: 0825
  Тип:   Прямой доступ                    ANSI  SCSI версия: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 11
  Производитель: DELL     Модель: MD38xxf          Rev: 0825
  Тип:   Прямой доступ                    ANSI  SCSI версия: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 31
  Производитель: DELL     Модель: Universal Xport  Rev: 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] .disk    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  -

На хостовете също може да се настрои допълнително мултипат, и въпреки че по време на инсталацията на 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 i са били представени в СХД за хостовете и дали към всички водят два пътя.

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

multipath -ll
3600a098000e4b4b3000003175cec1840 dm-2 DELL    ,MD38xxf
размер=2.0T функции='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- политика='service-time 0' приоритет=14 статус=активен
| `- 15:0:0:1  sdb 8:16  активен готов работещ
`-+- политика='service-time 0' приоритет=9 статус=активиран
  `- 18:0:0:1  sdi 8:128 активен готов работещ
3600a098000e4b48f000002ab5cec1921 dm-6 DELL    ,MD38xxf
размер=10T функции='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- политика='service-time 0' приоритет=14 статус=активен
| `- 18:0:0:11 sdk 8:160 активен готов работещ
`-+- политика='service-time 0' приоритет=9 статус=активиран
  `- 15:0:0:11 sdd 8:48  активен готов работещ
3600a098000e4b4b3000003c95d171065 dm-3 DELL    ,MD38xxf
размер=150G функции='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- политика='service-time 0' приоритет=14 статус=активен
| `- 15:0:0:4  sdc 8:32  активен готов работещ
`-+- политика='service-time 0' приоритет=9 статус=активиран
  `- 18:0:0:4  sdj 8:144 активен готов работещ

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

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

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