ProHoster > Блог > администрация > Създаване на отказоустойчива ИТ инфраструктура. Част 1 - Подготовка за внедряване на клъстер oVirt 4.3
Създаване на отказоустойчива ИТ инфраструктура. Част 1 - Подготовка за внедряване на клъстер oVirt 4.3
Читателите са поканени да се запознаят с принципите за изграждане на устойчива на грешки инфраструктура за малко предприятие в рамките на един център за данни, които ще бъдат разгледани подробно в кратка поредица от статии.
продром
под център за данни (Център за обработка на данни) може да се разбира като:
собствен шкаф в собствено "сървърно помещение" на територията на предприятието, което отговаря на минималните изисквания за осигуряване на захранващо и охладително оборудване, както и има достъп до Интернет чрез два независими доставчика;
нает стелаж със собствено оборудване, разположен в реален център за данни – т.нар. колокация от ниво III или IV, което гарантира надеждно захранване, охлаждане и достъп до интернет при отказ;
напълно наето оборудване в Tier III или IV център за данни.
Коя опция за настаняване да изберете - във всеки случай всичко е индивидуално и обикновено зависи от няколко основни фактора:
защо едно предприятие изобщо се нуждае от собствена ИТ инфраструктура;
какво точно иска предприятието от ИТ инфраструктурата (надеждност, скалируемост, управляемост и др.);
размера на първоначалната инвестиция в ИТ инфраструктура, както и какъв тип разходи за нея - капиталови (което означава закупуване на собствено оборудване) или оперативни (оборудването обикновено се наема);
плановия хоризонт на самото предприятие.
Можете да пишете много за факторите, влияещи върху решението на едно предприятие да създаде и използва своята ИТ инфраструктура, но нашата цел е да покажем на практика как да създадете същата тази инфраструктура, така че да е толерантна към грешки и да можете да спестявате - намалете разходите за придобиване на търговски софтуер или ги избягвайте напълно.
Както показва дългата практика, не си струва да пестите от желязо, тъй като скъперникът плаща два пъти и дори много повече. Но пак казвам - добър хардуер, това е само препоръка, а в крайна сметка какво точно да се купи и за колко зависи от възможностите на предприятието и "алчността" на ръководството му. Освен това думата "алчност" трябва да се разбира в добрия смисъл на думата, тъй като е по-добре да инвестирате в хардуер в началния етап, така че по-късно да нямате сериозни проблеми с по-нататъшната му поддръжка и мащабиране, тъй като първоначално неправилно планирането и прекомерните спестявания могат да доведат до по-високи разходи, отколкото при стартиране на проект.
И така, първоначалните данни за проекта:
има предприятие, което е решило да създаде свой собствен уеб портал и да пренесе дейността си в Интернет;
компанията реши да наеме стелаж, за да разположи оборудването си в добър център за данни, сертифициран по стандарта Tier III;
компанията реши да не пести много от хардуера и затова закупи следното оборудване с разширени гаранции и поддръжка:
Списък на оборудването
два физически сървъра Dell PowerEdge R640, както следва:
два процесора Intel Xeon Gold 5120
512 Gb RAM
два SAS диска в RAID1, за инсталиране на ОС
вградена 4-портова 1G мрежова карта
две 2-портови 10G мрежови карти
един 2-портов FC HBA 16G.
Dell MD2f 3820 контролер за съхранение, свързан чрез FC 16G директно към Dell хостове;
два комутатора от второ ниво - Cisco WS-C2960RX-48FPS-L подредени;
два комутатора от трето ниво - Cisco WS-C3850-24T-E, комбинирани в стек;
Rack, UPS, PDU, конзолни сървъри - предоставя се от центъра за данни.
Както виждаме, съществуващото оборудване има добри перспективи за хоризонтално и вертикално мащабиране, ако предприятието може да се конкурира с други компании от подобен профил в Интернет и започне да прави печалба, която може да бъде инвестирана в разширяване на ресурсите за по-нататъшна конкуренция и ръст на печалбата.
Какво оборудване можем да добавим, ако предприятието реши да увеличи производителността на нашия компютърен клъстер:
имаме голям резерв по отношение на броя на портовете на комутаторите 2960X, което означава, че можем да добавим повече хардуерни сървъри;
купете два FC превключвателя за свързване на системи за съхранение и допълнителни сървъри към тях;
съществуващите сървъри могат да бъдат надграждани - добавяне на памет, замяна на процесори с по-ефективни, свързване към 10G мрежа със съществуващи мрежови адаптери;
можете да добавите допълнителни дискови рафтове към системата за съхранение с необходимия тип дискове - SAS, SATA или SSD, в зависимост от планираното натоварване;
след добавяне на FC превключватели, можете да закупите друга система за съхранение, за да добавите още повече дисков капацитет, и ако закупите специална опция за отдалечено репликиране към нея, можете да конфигурирате репликация на данни между системи за съхранение както в границите на един център за данни, така и между центрове за данни (но това вече е извън обхвата на статията);
има и комутатори от трето ниво - Cisco 3850, които могат да се използват като отказоустойчиво мрежово ядро за високоскоростно маршрутизиране между вътрешните мрежи. Това ще помогне много в бъдеще, тъй като вътрешната инфраструктура се разраства. 3850 също има 10G портове, които могат да се използват по-късно при надграждане на мрежовото оборудване до 10G скорост.
Тъй като сега няма никъде без виртуализация, ние със сигурност ще бъдем в тенденцията, особено след като това е чудесен начин за намаляване на разходите за придобиване на скъпи сървъри за отделни инфраструктурни елементи (уеб сървъри, бази данни и т.н.), които не винаги са оптимални се използват при ниско натоварване и точно това ще бъде в началото на стартирането на проекта.
В допълнение, виртуализацията има много други предимства, които могат да бъдат много полезни за нас: толерантност на VM грешки от повреда на хардуерен сървър, миграция на живо между клъстерни хардуерни възли за тяхната поддръжка, ръчно или автоматично разпределение на натоварването между клъстерните възли и др.
За хардуера, закупен от предприятието, внедряването на високодостъпен 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 възел;
OS Oracle Linux лято 2019 г беше обявено относно поддържането на oVirt да работи на него.
Преди да инсталирате ОС, се препоръчва:
конфигурирайте iDRAC мрежовия интерфейс на двата хоста;
актуализирайте фърмуера за BIOS и iDRAC до най-новите версии;
конфигурирайте системния профил на сървъра, за предпочитане в режим на производителност;
конфигурирайте 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
За първоначалната настройка на ОС трябва да конфигурирате който и да е мрежов интерфейс на сървъра, така че да имате достъп до интернет, за да актуализирате ОС и да инсталирате необходимите софтуерни пакети. Това може да стане както по време на процеса на инсталиране на ОС, така и след него.
Всички горепосочени настройки и набор от софтуер са въпрос на лични предпочитания и този набор е само препоръка.
Тъй като нашият хост ще играе ролята на хипервайзор, ние ще активираме желания профил на ефективност:
systemctl enable tuned
systemctl start tuned
systemctl status tuned
tuned-adm profile
tuned-adm profile virtual-host
Можете да прочетете повече за профила на ефективността тук:Глава 4".
След като инсталираме операционната система, преминаваме към следващата част - конфигуриране на мрежови интерфейси на хостове и стек от комутатори Cisco 2960X.
Конфигуриране на Cisco 2960X Switch Stack
В нашия проект ще се използват следните VLAN номера - или излъчвани домейни, изолирани един от друг, за да се разделят различни видове трафик:
VLAN 10 - Интернет VLAN 17 – Управление (iDRAC, съхранение, управление на превключватели) VLAN 32 – VM производствена мрежа VLAN 33 – мрежа за взаимно свързване (към външни изпълнители) VLAN 34 – VM тестова мрежа VLAN 35 – VM мрежа за разработчици VLAN 40 – мрежа за мониторинг
Преди да започнем работа, нека дадем диаграма на ниво L2, до която в крайна сметка трябва да стигнем:
За мрежово взаимодействие на oVirt хостове и виртуални машини помежду си, както и за управление на нашата система за съхранение, е необходимо да конфигурирате стек от комутатори Cisco 2960X.
Хостовете на Dell имат вградени 4-портови мрежови карти, следователно е препоръчително да организират връзката им към Cisco 2960X, като използват устойчива на грешки мрежова връзка, използвайки групирането на физическите мрежови портове в логически интерфейс и LACP (802.3 ad) протокол:
първите два порта на хоста са конфигурирани в режим на свързване и са свързани към комутатора 2960X - този логически интерфейс ще бъде конфигуриран мост с адрес за хост управление, мониторинг, комуникация с други хостове в клъстера 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" и рестартирайте стека за превключване с командата "презареди» на главния превключвател 1.
2) Конфигурираме мрежовите портове на комутатора в режим на достъп (достъп) във VLAN 17, за да свържете контролните интерфейси на системите за съхранение и iDRAC сървърите.
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 ще бъдат разрешени на всички логически интерфейси, но обикновено се препоръчва да конфигурирате само това, което е необходимо:
След завършване на настройките на стека 2960X и хостове, рестартирайте мрежата на хостовете и проверете работоспособността на логическия интерфейс.
на хост:
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
на стека на комутатора 2960X:
2960X#show lacp internal
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 1
LACP port Admin Oper Port Port
Port Flags State Priority Key Key Number State
Gi1/0/1 SA bndl 32768 0x1 0x1 0x102 0x3D
Gi2/0/1 SA bndl 32768 0x1 0x1 0x202 0x3D
2960X#sh etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use N - not in use, no aggregation
f - failed to allocate aggregator
M - not in use, minimum links not met
m - not in use, port not aggregated due to minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
A - formed by Auto LAG
Number of channel-groups in use: 11
Number of aggregators: 11
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SU) LACP Gi1/0/1(P) Gi2/0/1(P)
Първоначална конфигурация на мрежови интерфейси за управление на клъстерни ресурси, на хостове Домакин1 и Домакин2
Настройване на логическия интерфейс BOND1 за управление на хостове и неговите физически интерфейси:
Рестартираме мрежата на хостовете и проверяваме тяхната видимост един към друг.
Това завършва конфигурацията на стека на комутатора Cisco 2960X и ако всичко е направено правилно, сега имаме мрежова свързаност на всички инфраструктурни елементи един към друг на ниво L2.
Настройка за съхранение на Dell MD3820f
Преди да започнете работа по конфигурирането на системата за съхранение, тя вече трябва да е свързана към стека на комутатора на Cisco 2960X интерфейси за управление, както и към хостове Домакин1 и Домакин2 чрез FC.
Общата схема за това как системата за съхранение трябва да бъде свързана към стека на комутатора беше дадена в предишната глава.
Схемата за свързване на хранилище чрез FC към хостове трябва да изглежда така:
По време на връзката е необходимо да се запишат WWPN адресите за FC HBA хостовете, свързани към FC портовете на системата за съхранение - това ще бъде необходимо за последващата конфигурация на свързване на хост към LUN на системата за съхранение.
Изтеглете и инсталирайте помощната програма за управление на съхранение на Dell MD3820f на администраторската работна станция - PowerVault Modular Disk Storage Manager (MDSM).
Свързваме се с нея чрез нейните IP адреси по подразбиране и след това конфигурираме нашите адреси от VLAN17, за управление на контролери чрез TCP/IP:
Съхранение1:
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
След като настроим адресите, отиваме в интерфейса за управление на съхранението и задаваме парола, задаваме часа, актуализираме фърмуера за контролери и дискове, ако е необходимо и т.н.
Как се прави това е описано в ръководство за администриране съхранение.
След като направим горните настройки, трябва да направим само няколко неща:
Конфигуриране на ID на FC порт на хост - Идентификатори на хост порт.
Създайте хост група − приемаща група и добавете нашите два Dell хоста към него.
Създайте дискова група и виртуални дискове (или LUN) в нея, които ще бъдат представени на хостовете.
Конфигурирайте представянето на виртуални дискове (или LUN) за хостове.
Добавянето на нови хостове и обвързването на идентификатори на хост FC портове към тях се извършва чрез менюто - Приравнявания на хостове -> Определяне -> Домакините...
WWPN адресите на FC HBA хостовете могат да бъдат намерени например в iDRAC на сървъра.
В резултат на това трябва да получим нещо като тази снимка:
Добавянето на нова хост група и обвързването на хостове към нея става през менюто - Приравнявания на хостове -> Определяне -> Група домакин…
За хостове изберете типа на ОС - Linux (DM-MP).
След като създадете хост група, през раздела Услуги за съхранение и копиране, създайте дискова група - Дискова група, с тип в зависимост от изискванията за отказоустойчивост, например RAID10 и в него виртуални дискове с необходимия размер:
И накрая, последният етап е представянето на виртуални дискове (или LUN) за хостове.
За да направите това, чрез менюто - Приравнявания на хостове -> Lun картографиране -> Добави ... ние свързваме виртуални дискове с хостове, като им присвояваме номера.
Всичко трябва да изглежда като тази екранна снимка:
Това е мястото, където завършваме с настройката за съхранение и ако всичко е направено правилно, тогава хостовете трябва да видят LUN, представени им чрез техните FC HBA.
Нека принудим системата да актуализира информацията за свързаните устройства:
ls -la /sys/class/scsi_host/
echo "- - -" > /sys/class/scsi_host/host[0-9]/scan
Нека да видим какви устройства се виждат на нашите сървъри:
На хостове можете също да конфигурирате допълнително многопътност, и въпреки че може да го направи сам при инсталиране на oVirt, по-добре е предварително да проверите коректността на MP.
Както можете да видите, и трите виртуални диска в системата за съхранение са видими по два начина. Така цялата подготвителна работа е завършена, което означава, че можете да продължите към основната част - настройка на клъстера oVirt, който ще бъде обсъден в следващата статия.