Кластерирање во Proxmox VE

Кластерирање во Proxmox VE

Во минатите написи, почнавме да зборуваме за тоа што е Proxmox VE и како функционира. Денес ќе разговараме за тоа како можете да ја искористите можноста за кластерирање и да покажете какви придобивки дава тоа.

Што е кластер и зошто е потребен? Кластерот (од англискиот кластер) е група на сервери обединети со канали за комуникација со голема брзина, кои работат и му се појавуваат на корисникот како една целина. Постојат неколку главни сценарија за користење на кластер:

  • Обезбедување толеранција на грешки (висока достапност).
  • Балансирање на товарот (Load Balancing).
  • Зголемување на продуктивноста (високи перформанси).
  • Изведување на дистрибуирано пресметување (Дистрибуирано пресметување).

Секое сценарио има свои барања за членовите на кластерот. На пример, за кластер што врши дистрибуирано пресметување, главниот услов е голема брзина на операции со подвижна запирка и мала латентност на мрежата. Таквите кластери често се користат за истражувачки цели.

Бидејќи ја допревме темата за дистрибуирани компјутери, би сакал да забележам дека постои и такво нешто како мрежен систем (од англиската мрежа - решетка, мрежа). И покрај општата сличност, не мешајте го мрежниот систем и кластерот. Решетката не е кластер во вообичаена смисла. За разлика од кластерот, јазлите вклучени во мрежата најчесто се хетерогени и се карактеризираат со мала достапност. Овој пристап го поедноставува решавањето на дистрибуирани компјутерски проблеми, но не дозволува создавање на една целина од јазли.

Впечатлив пример за мрежен систем е популарна компјутерска платформа КОЛЕК (Berkeley Open Infrastructure for Network Computing). Оваа платформа првично беше создадена за проектот СЕТИ @ дома (Search for Extra-Terrestrial Intelligence at Home), справување со проблемот на наоѓање вонземска интелигенција преку анализа на радио сигнали.

Како го прави ова делоОгромна низа податоци добиени од радио телескопи се распарчуваат на многу мали парчиња и тие се испраќаат до јазлите на мрежниот систем (во проектот SETI@home, волонтерски компјутери ја играат улогата на такви јазли). Податоците се обработуваат на јазлите и по завршувањето на обработката се испраќаат до централниот сервер на проектот SETI. Така, проектот го решава најкомплексниот глобален проблем без да ја има на располагање потребната компјутерска моќ.

Сега кога имаме јасно разбирање за тоа што е кластер, предлагаме да размислиме како може да се создаде и користи. Ќе користиме систем за виртуелизација со отворен код Proxmox VE.

Особено е важно јасно да се разберат ограничувањата и системските барања на Proxmox пред да започнете да креирате кластер, имено:

  • максимален број на јазли во кластерот - 32;
  • сите јазли мора да имаат истата верзија на Proxmox (има исклучоци, но тие не се препорачуваат за производство);
  • ако во иднина се планира да се користи функционалноста Висока достапност, тогаш кластерот треба да има најмалку 3 јазли;
  • портите мора да бидат отворени за јазлите да комуницираат едни со други UDP/5404, UDP/5405 за коросин и TCP/22 за SSH;
  • доцнењето на мрежата помеѓу јазлите не треба да надминува 2 ms.

Направете кластер

Важно! Следната конфигурација е тест. Не заборавајте да проверите со официјална документација Проксмокс В.Е.

За да извршиме тест кластер, земавме три сервери со инсталиран хипервизор Proxmox со иста конфигурација (2 јадра, 2 GB RAM).

Ако сакате да знаете како можете да инсталирате Proxmox, тогаш препорачуваме да ја прочитате нашата претходна статија - Магијата на виртуелизацијата: воведен курс во Proxmox VE.

Првично, по инсталирањето на ОС, работи еден сервер самостоен режим.

Кластерирање во Proxmox VE
Создадете кластер со кликнување на копчето Креирај кластер во соодветниот дел.

Кластерирање во Proxmox VE
Поставивме име за идниот кластер и избираме активна мрежна врска.

Кластерирање во Proxmox VE
Притиснете го копчето Креирај. Серверот ќе генерира 2048-битен клуч и ќе го запише заедно со параметрите на новиот кластер во конфигурациските датотеки.

Кластерирање во Proxmox VE
Напис ЗАДАЧАТА ОК укажува на успешно завршување на операцијата. Сега, гледајќи ги општите информации за системот, може да се види дека серверот се префрлил на режим на кластер. Засега кластерот се состои од само еден јазол, односно сè уште ги нема можностите за кои е потребен кластер.

Кластерирање во Proxmox VE

Приклучување на кластер

Пред да се поврземе со креираниот кластер, треба да добиеме информации за да ја завршиме врската. За да го направите ова, одете во делот Кластерот за информатичка технологија и притиснете го копчето Информации за приклучување.

Кластерирање во Proxmox VE
Во прозорецот што се отвора, ние сме заинтересирани за содржината на истоименото поле. Ќе треба да се копира.

Кластерирање во Proxmox VE
Сите потребни параметри за поврзување се кодирани овде: адресата на серверот за поврзување и дигиталниот отпечаток од прст. Одиме до серверот што треба да биде вклучен во кластерот. Го притискаме копчето Приклучи се на Кластер и во прозорецот што се отвора залепете ја копираната содржина.

Кластерирање во Proxmox VE
области Адреса на врсници и Отпечаток од прст ќе се пополни автоматски. Внесете ја root лозинката за јазолот број 1, изберете ја мрежната врска и притиснете го копчето Зачлени се.

Кластерирање во Proxmox VE
За време на процесот на приклучување на кластерот, веб-страницата GUI може да престане да се ажурира. Во ред е, само повторно вчитај ја страницата. На ист начин додаваме уште еден јазол и како резултат добиваме полноправно кластер од 3 работни јазли.

Кластерирање во Proxmox VE
Сега можеме да ги контролираме сите јазли на кластерот од еден GUI.

Кластерирање во Proxmox VE

Организација со висока достапност

Proxmox out of the box поддржува функционалност за организација на HA и за виртуелни машини и за LXC контејнери. Алатка ха-менаџер детектира и се справува со грешки и неуспеси, изведувајќи превртување од неуспешен јазол во работен. За механизмот да работи правилно, неопходно е виртуелните машини и контејнерите да имаат заедничко складирање на датотеки.

По активирањето на функционалноста Висока достапност, оџакот на софтверот ha-manager континуирано ќе ја следи состојбата на виртуелната машина или контејнерот и асинхроно ќе комуницира со други јазли на кластерот.

Се прикачува споделен простор

Како пример, распоредивме мал дел од датотеката NFS на 192.168.88.18. За да можат сите јазли на кластерот да го користат, треба да ги направите следните манипулации.

Изберете од менито за веб-интерфејс Центар за податоци - Складирање - Додај - NFS.

Кластерирање во Proxmox VE
Пополнете ги полињата ID и сервер. Во паѓачката листа Извоз изберете го саканиот директориум од достапните и во списокот содржина — потребни типови податоци. По притискање на копчето Додај складиштето ќе биде поврзано со сите кластерски јазли.

Кластерирање во Proxmox VE
Кога креираме виртуелни машини и контејнери на кој било од јазлите, го одредуваме нашето складирање како складирање.

Поставување HA

На пример, ајде да создадеме контејнер со Ubuntu 18.04 и да ја конфигурираме високата достапност за него. Откако ќе го креирате и стартувате контејнерот, одете во делот Datacenter-HA-Add. Во полето што се отвора, наведете го ID на виртуелната машина/контејнер и максималниот број обиди за рестартирање и движење помеѓу јазли.

Ако оваа бројка се надмине, хипервизорот ќе го означи VM како неуспешен и ќе го стави во состојба Error, по што ќе престане да врши какви било дејства со него.

Кластерирање во Proxmox VE
По притискање на копчето Додај корист ха-менаџер ќе ги извести сите јазли од кластерот дека сега VM со наведената ID е контролирана и во случај на паѓање мора да се рестартира на друг јазол.

Кластерирање во Proxmox VE

Ајде да направиме несреќа

За да видиме како точно функционира механизмот за префрлување, ајде да го исклучиме напојувањето на node1 ненормално. Гледаме од друг јазол што се случува со кластерот. Гледаме дека системот поправи дефект.

Кластерирање во Proxmox VE

Работењето на механизмот HA не значи континуитет на VM. Штом јазолот „падне“, операцијата на VM привремено се прекинува додека не се рестартира автоматски на друг јазол.

И тука започнува „магијата“ - кластерот автоматски го преназначи јазолот да работи на нашиот VM и во рок од 120 секунди работата беше автоматски вратена.

Кластерирање во Proxmox VE
Го гаснеме јазолот 2 за исхрана. Ајде да видиме дали кластерот ќе преживее и дали VM автоматски ќе се врати во работна состојба.

Кластерирање во Proxmox VE
За жал, како што можеме да видиме, имаме проблем со фактот дека веќе нема кворум на единствениот преживеан јазол, што автоматски го оневозможува HA. Даваме команда за принудно инсталирање на кворум во конзолата.

pvecm expected 1

Кластерирање во Proxmox VE
По 2 минути, механизмот HA работеше правилно и, не наоѓајќи го node2, го стартуваше нашиот VM на node3.

Кластерирање во Proxmox VE
Штом повторно ги вклучивме node1 и node2, кластерот беше целосно обновен. Ве молиме имајте предвид дека VM не мигрира назад во node1 самостојно, но тоа може да се направи рачно.

Сумирање

Ви кажавме како функционира механизмот за кластерирање Proxmox, а исто така ви покажавме како HA е конфигуриран за виртуелни машини и контејнери. Правилната употреба на кластерирањето и HA во голема мера ја зголемува доверливоста на инфраструктурата, како и обезбедување на обновување при катастрофи.

Пред да креирате кластер, треба веднаш да планирате за какви цели ќе се користи и колку ќе треба да се скалира во иднина. Исто така, треба да ја проверите мрежната инфраструктура за подготвеност да работи со минимални доцнења, така што идниот кластер работи без дефекти.

Кажете ни - дали ги користите можностите за кластерирање на Proxmox? Ве очекуваме во коментари.

Претходни написи за хипервизорот Proxmox VE:

Извор: www.habr.com

Додадете коментар