Кластарызацыя ў Proxmox VE

Кластарызацыя ў Proxmox VE

У мінулых артыкулах мы пачалі расказваць пра тое, што такое Proxmox VE і як ён працуе. Сёння мы раскажам пра тое, як можна выкарыстоўваць магчымасць кластарызацыі і пакажам якія перавагі гэта дае.

Што ж такое кластар і навошта ён патрэбен? Кластар (ад англ. cluster) - гэта група сервераў, аб'яднаных хуткаснымі каналамі сувязі, якая працуе і ўяўляецца карыстачу як адзінае цэлае. Існуе некалькі асноўных сцэнарыяў выкарыстання кластара:

  • Забеспячэнне адмоваўстойлівасці (High-availability).
  • Балансіроўка нагрузкі (Load Balancing).
  • Павелічэнне прадукцыйнасці (High Performance).
  • Выкананне размеркаваных вылічэнняў (Distributed computing).

Кожны сцэнар прад'яўляе свае ўласныя патрабаванні да складнікаў кластара. Напрыклад, для кластара, які выконвае размеркаваныя вылічэнні, асноўным патрабаваннем з'яўляецца высокая хуткасць выканання аперацый з якая плавае коскі і нізкая латэнтнасць сеткі. Падобныя кластары часта выкарыстоўваюцца ў навукова-даследчых мэтах.

Раз ужо мы закранулі тэму размеркаваных вылічэнняў, то хочацца адзначыць, што існуе яшчэ такое паняцце як грыд-сістэма (Ад англ. grid - рашотка, сетка). Нягледзячы на ​​агульнае падабенства, не варта блытаць грыд-сістэму і кластар. Грыд не з'яўляецца кластарам у звыклым разуменні. У адрозненне ад кластара, якія ўваходзяць у грыд вузлы часцей за ўсё разнастайныя і адрозніваюцца нізкай даступнасцю. Такі падыход спрашчае вырашэнне задач размеркаваных вылічэнняў, аднак не дазваляе стварыць з вузлоў адзінае цэлае.

Яркі прыклад грыд-сістэмы - папулярная вылічальная платформа БОІНК (Berkeley Open Infrastructure for Network Computing). Гэтая платформа першапачаткова стваралася для праекту SETI @ home (Search for Extra-Terrestrial Intelligence at Home), які займаецца праблемай пошуку пазаземнага розуму шляхам аналізу радыёсігналаў.

Як гэта працуеВелізарны масіў дадзеных, атрыманых з радыётэлескопаў, разбіваецца на мноства невялікіх кавалачкаў, і яны адпраўляюцца на вузлы грыд-сістэмы (у праекце SETI@home роля падобных вузлоў гуляюць кампутары добраахвотнікаў). Дадзеныя апрацоўваюцца на вузлах і пасля завяршэння апрацоўкі адпраўляюцца на цэнтральны сервер праекту SETI. Такім чынам праект вырашае найскладаную глабальную задачу, не маючы ў сваім распараджэнні патрабаваных вылічальных магутнасцяў.

Цяпер, калі ў нас ёсць дакладнае разуменне таго, што такое кластар, прапануем разгледзець якім чынам яго можна стварыць і задзейнічаць. Будзем выкарыстоўваць сістэму віртуалізацыі з адкрытым зыходным кодам Proxmox VE.

Асабліва важна перад тым, як прыступаць да стварэння кластара выразна разумець абмежаванні і сістэмныя патрабаванні Proxmox, а менавіта:

  • максімальная колькасць нод у кластары - 32;
  • усе ноды павінны мець аднолькавую версію Proxmox (ёсць выключэнні, але для production яны не рэкамендуюцца);
  • калі ў далейшым плануецца задзейнічаць функцыянал High Availability, то ў кластары павінна быць як мінімум 3 ноды;
  • для ўзаемадзеяння нод адзін з адным павінны быць адкрыты парты UDP/5404, UDP/5405 для corosync і TCP/22 для SSH;
  • затрымка ў сетцы паміж нодамі не павінна перавышаць 2 мс.

Стварэнне кластара

Важна! Ніжэй прыведзеная канфігурацыя з'яўляецца тэставай. Не забудзьцеся зверыцца з афіцыйнай дакументацыяй Proxmox VE.

Для таго, каб запусціць тэставы кластар, мы ўзялі тры серверы з усталяваным гіпервізарам Proxmox аднолькавай канфігурацыі (2 ядра, 2 Гб аператыўнай памяці).

Калі вы хочаце даведацца якім чынам можна ўсталяваць Proxmox, то рэкамендуем прачытаць наш папярэдні артыкул. Магія віртуалізацыі: уступны курс у Proxmox VE.

Першапачаткова, пасля ўстаноўкі АС, адзінкавы сервер працуе ў Standalone-mode.

Кластарызацыя ў Proxmox VE
Створым кластар, націснуўшы кнопку Create Cluster у адпаведным раздзеле.

Кластарызацыя ў Proxmox VE
Задаем імя будучаму кластару і выбіраемы актыўнае сеткавае злучэнне.

Кластарызацыя ў Proxmox VE
Націскаем кнопку Create. Сервер згенеруе 2048-бітны ключ і запіша яго разам з параметрамі новага кластара ў канфігурацыйныя файлы.

Кластарызацыя ў Proxmox VE
надпіс TASK OK сведчыць аб паспяховым выкананні аперацыі. Зараз, зірнуўшы на агульную інфармацыю аб сістэме бачна, што сервер перайшоў у рэжым кластара. Пакуль што кластар складаецца ўсяго толькі з адной ноды, гэта значыць пакуль у яго няма тых магчымасцяў, дзеля якіх неабходзен кластар.

Кластарызацыя ў Proxmox VE

Далучэнне да кластара

Перш чым падлучацца да створанага кластара нам неабходна атрымаць інфармацыю для выканання падключэння. Для гэтага заходзім у падзел Кластар і націскаем кнопку Join Information.

Кластарызацыя ў Proxmox VE
У якое адкрылася акне нас цікавіць змесціва аднайменнага поля. Яго неабходна будзе скапіяваць.

Кластарызацыя ў Proxmox VE
Тут закадаваны ўсе неабходныя параметры падлучэння: адрас сервера для падлучэння і лічбавы адбітак. Пераходзім на сервер, які неабходна ўключыць у кластар. Націскаем кнопку Join Cluster і ў якое адкрылася акне ўстаўляемы скапіяваны змесціва.

Кластарызацыя ў Proxmox VE
поля Адрас піра и адбітак пальца будуць запоўнены аўтаматычна. Уводны пароль root ад ноды нумар 1, выбіраемы сеткавае падлучэнне і націсканы кнопку далучыцца.

Кластарызацыя ў Proxmox VE
У працэсе далучэння да кластара вэб-старонка GUI можа перастаць абнаўляцца. Гэта нармальна, проста перазагружаем старонку. Дакладна такім жа чынам дадаем яшчэ адну ноду і ў выніку атрымліваем паўнавартасны кластар з 3-х якія працуюць вузлоў.

Кластарызацыя ў Proxmox VE
Цяпер мы можам кантраляваць усе вузлы кластара з аднаго GUI.

Кластарызацыя ў Proxmox VE

Арганізацыя High Availability

Proxmox "са скрынкі" падтрымлівае функцыянал арганізацыі HA як для віртуальных машын, так і для LXC-кантэйнераў. Утыліта ha-manager выяўляе і адпрацоўвае памылкі і адмовы, выконваючы аварыйнае пераключэнне з якая адмовіла ноды на працоўную. Каб механізм працаваў карэктна неабходна, каб віртуальныя машыны і кантэйнеры мелі агульнае файлавае сховішча.

Пасля актывацыі функцыяналу High Availability, праграмны стэк ha-manager пачне бесперапынна адсочваць стан працы віртуальнай машыны ці кантэйнера і асінхронна ўзаемадзейнічаць з іншымі нодамі кластара.

Далучаем агульнае сховішча

Для прыкладу мы разгарнулі невялікае файлавае сховішча NFS па адрасе 192.168.88.18. Каб усе ноды кластара маглі яго выкарыстоўваць трэба прарабіць наступныя маніпуляцыі.

Выбіраемы ў меню вэб-інтэрфейсу Datacenter - Storage - Add - NFS.

Кластарызацыя ў Proxmox VE
Запаўняем палі ID и сервер. У выпадальным спісе Экспарт выбіраемы патрэбную дырэкторыю з даступных і ў спісе змест - Неабходныя тыпы дадзеных. Пасля націску кнопкі Дадаваць сховішча будзе падлучана да ўсіх нодаў кластара.

Кластарызацыя ў Proxmox VE
Пры стварэнні віртуальных машын і кантэйнераў на любым з вузлоў паказваем наш захоўванне у якасці сховішча.

Наладжваем HA

Для прыкладу створым кантэйнер з Ubuntu 18.04/XNUMX і наладзім для яго High Availability. Пасля стварэння і запуску кантэйнера заходзім у падзел Datacenter - HA - Add. У якое адкрылася поле паказваем ID віртуальнай машыны/кантэйнера і максімальная колькасць спроб рэстарту і перасоўванні паміж нодамі.

Калі гэтая колькасць будзе перавышана, гіпервізор пазначыць VM як збойную і перавядзе ў стан Error, пасля чаго спыніць выконваць з ёй якія-небудзь дзеянні.

Кластарызацыя ў Proxmox VE
Пасля націску кнопкі Дадаваць ўтыліта ha-manager апавясціць усе ноды кластара аб тым, што зараз VM з паказаным ID кантралюецца і ў выпадку падзення яе неабходна перазапусціць на іншай нодзе.

Кластарызацыя ў Proxmox VE

Задаволім збой

Каб паглядзець, як менавіта адпрацоўвае механізм пераключэння, патушым няштатна node1 па сілкаванні. Глядзім з іншай ноды, што адбываецца з кластарам. Бачым, што сістэма зафіксавала збой.

Кластарызацыя ў Proxmox VE

Праца механізму HA не азначае бесперапыннасць працы VM. Як толькі нода "упала", праца VM часова спыняецца да моманту аўтаматычнага перазапуску на іншай надзе.

І вось тут пачынаецца "магія" – кластар аўтаматычна перапрызначыў ноду для выканання нашай VM і на працягу 120 секунд праца была аўтаматычна адноўлена.

Кластарызацыя ў Proxmox VE
Гасім node2 па харчаванні. Паглядзім, ці вытрымае кластар і ці вернецца VM у працоўны стан аўтаматычна.

Кластарызацыя ў Proxmox VE
Нажаль, як бачны, у нас узнікла праблема з тым, што на адзінай, якая засталася ў жывых, нодзе больш няма кворуму, што аўтаматычна адключае працу HA. Даем у кансолі каманду прымусовай усталёўкі кворуму.

pvecm expected 1

Кластарызацыя ў Proxmox VE
Праз 2 хвіліны механізм HA адпрацаваў карэктна і не знайшоўшы node2 запусціў нашу VM на node3.

Кластарызацыя ў Proxmox VE
Як толькі мы ўключылі назад node1 і node2, праца кластара была поўнасцю адноўлена. Звярніце ўвагу, што назад на node1 VM самастойна не мігруе, але гэта можна зрабіць уручную.

Падводзім вынікі

Мы распавялі вам пра тое, як уладкованы механізм кластарызацыі ў Proxmox, а таксама паказалі, як наладжваецца HA для віртуальных машын і кантэйнераў. Пісьменнае выкарыстанне кластарызацыі і HA значна павялічвае надзейнасць інфраструктуры, а таксама забяспечвае аднаўленне пасля збояў.

Перад тым як ствараць кластар, трэба адразу планаваць для якіх мэт ён будзе выкарыстоўвацца і наколькі яго запатрабуецца маштабаваць у будучыні. Таксама трэба праверыць сеткавую інфраструктуру на гатоўнасць працы з мінімальнымі затрымкамі, каб будучы кластар працаваў без збояў.

Раскажыце нам - ці карыстаецеся вы магчымасці кластарызацыі ў Proxmox? Чакаем вас у каментарах.

Папярэднія артыкулы на тэму гіпервізара Proxmox VE:

Крыніца: habr.com

Дадаць каментар