Proxmox VE-də Klasterləşdirmə

Proxmox VE-də Klasterləşdirmə

Ötən məqamlarda Proxmox VE-nin nə olduğu və necə işlədiyini anlatmağa başladıq. Bu gün klasterləşdirmə imkanlarından necə istifadə edə biləcəyimizi və bunun bizə nə kimi üstünlüklər bəxş etdiyini izah edəcəyik.

Klaster nədir və onun nə məqsəd üçün istifadə edilməsi lazımdır? Klaster (ing. cluster) — sürətli əlaqə kanalları ilə birləşmiş serverlər qrupudur ki, istifadəçiyə vahid bir qurğu kimi fəaliyyət göstərir. Klasterin bir neçə əsas tətbiq ssenarisi mövcuddur:

  • Sınma dayanıqlığını təmin etmək (İşin davamlılığı).
  • Yük balanslaşdırılması (Yük balanslaşdırılması).
  • Performansın artırılması (Yüksək Performans).
  • Paylanmış hesablama icra etmək (Paylanmış hesablama).

Hər bir ssenari klasterin tərkib hissələrinə öz tələblərini irəlilə sürür. Məsələn, paylanmış hesablama icra edən klaster üçün əsas tələblər sürətli üzvi əməliyyatlar, aşağı gecikmədir. Belə klasterlər tez-tez elmi tədqiqat məqsədləri üçün istifadə olunur.

Paylanmış hesablama mövzusunu gündəmə gətirmişkən, bir termin var ki, ona da diqqət yetirmək lazımdır grid-sistemi (ing. grid — şəbəkə). Ümumi bənzərlik olsa da, grid-sistemini klaster ilə qarışdırmamaq lazımdır. Grid, gündəlik anlayışda klaster deyil. Klasterdən fərqli olaraq, gridə daxil olan düyünlər ən çox müxtəlifdir və aşağı əlçatanlığa malikdir. Bu yanaşma paylanmış hesablama məsələlərinin həllini asanlaşdırır, lakin düyünlərdən vahid bir sistem yaratmağa imkan vermir.

Müxtəlif bir grid-sisteminin parlaq bir nümunəsi populyar hesablama platformasıdır BOINC (Berkeley Open Infrastructure for Network Computing). Bu platforma əvvəlcə layihə üçün yaradılmışdır SETI@home (Aydan Kənar Zəka Axtarış Projesi), radionisignalların təhlil edilməsi yolu ilə kənar intellektin axtarışı ilə məşğuldur.

Bu necə işləyirRadiosinyalardan alınan böyük məbləğdə məlumat kiçik parçalara bölünür və grid-sisteminin düyünlərinə göndərilir (SETI@home layihəsində də həmin düyünlərin rolu könüllü kompüterlərdir). Məlumatlar düyünlərdə işlənilir və işlənmədən sonra SETI layihəsinin mərkəzi serverinə göndərilir. Beləliklə, layihə, tələb olunan hesablayıcı güclərə sahib olmadan, çətin qlobal bir məsələni həll edir.

İndi klasterin nə olduğunu aydın başa düşdüyümüzdə, onu necə yaradacağımızı və istifadə edəcəyimizi nəzərdən keçirək. Açıq mənbəli virtualizasiya sistemini Proxmox VE.

Yaratmadan əvvəl, Proxmox-un məhdudiyyətləri və sistem tələblərini aydın başa düşmək xüsusilə vacibdir, yəni:

  • klasterdə maksimum nod sayı — 32;
  • bütün nodların eynidir Proxmox versiyası (istisna var, amma istehsal üçün tövsiyə edilmir);
  • əgər gələcəkdə Yüksək Müxtəliflik (High Availability) funksionallığını aktivləşdirmək planlaşdırılırsa, o zaman klasterdə olmalıdır ən azı 3 node;
  • node-ların bir-biri ilə bağlanması üçün portlar açıq olmalıdır UDP/5404, UDP/5405 corosync üçün və TCP/22 SSH üçün;
  • node-lar arasındakı gecikmə 2 ms-dən çox olmamalıdır.

Klasterin yaradılması

Vacibdir! Aşağıda göstərilən konfiqurasiya test üçündür. Rəsmi sənədləşməyə Proxmox VE ilə yoxlayın.

Test klasterini başlatmaq üçün eyni konfiqurasiyaya (2 nüvə, 2 GB RAM) malik üç Proxmox hypervizor quraşdırılmış server götürdük.

Proxmox-u necə quraşdırmaq olar bilmək istəyirsinizsə, əvvəlki məqaləmizi oxumağı tövsiyə edirik — Virtualizasiya sehrləri: Proxmox VE-yə giriş.

İlk olaraq, əməliyyat sistemini quraşdırdıqdan sonra, tək bir server Standalone-mode.

Proxmox VE-də Klasterləşdirmə
bir klaster yaradaq, düyməyə basaraq Create Cluster müvafiq bölmədə.

Proxmox VE-də Klasterləşdirmə
Gələcək klasterin adını təyin edirik və aktiv şəbəkə əlaqəsini seçirik.

Proxmox VE-də Klasterləşdirmə
Düyməyə basırıq Create. Server 2048-bitlik açar yaradacaq və onu yeni klasterin parametrləri ilə birlikdə konfiqurasiya fayllarına yazacaq.

Proxmox VE-də Klasterləşdirmə
Yazı TASK OK bolduğunu bildirir. İndi sistemin ümumi məlumatlarına baxsaq, serverin klaster rejiminə keçdiyini görəcəyik. Hal-hazırda klaster yalnız bir noddan ibarətdir, yəni onun hələ də klasterin tələb etdiyi imkanları yoxdur.

Proxmox VE-də Klasterləşdirmə

Klasterə qoşulma

Yaradılmış klasterə qoşulmadan əvvəl, qoşulma üçün məlumat əldə etməliyik. Bunun üçün Cluster bölməsinə gedirik və düyməyə basırıq Join Information.

Proxmox VE-də Klasterləşdirmə
Açılan pəncərədə eyniadlı sahənin məzmunu bizim üçün maraqlıdır. Onu kopyalamaq lazımdır.

Proxmox VE-də Klasterləşdirmə
Burada qoşulma üçün lazım olan bütün parametrlər: qoşulma üçün serverin ünvanı və rəqəmsal iz kodlanır. Klasterə daxil edilməli olan serverə keçirik. Düyməyə basırıq Join Cluster və açılan pəncərədə kopyalanmış məzmunu yapışdırırıq.

Proxmox VE-də Klasterləşdirmə
Sahələr Peer AddressFingerprint avtomatik şəkildə doldurulacaq. Node 1-in root şifrəsini daxil edirik, şəbəkə əlaqəsini seçirik və düyməyə basırıq Join.

Proxmox VE-də Klasterləşdirmə
Klasterə qoşulma prosesi zamanı veb səhifənin GUI'si yenilənə bilməz. Bu normaldır, sadəcə səhifəni yenidən yükləyin. Eyni şəkildə başqa bir node əlavə edirik və nəticədə 3 işlək düyündən ibarət tam klaster alırıq.

Proxmox VE-də Klasterləşdirmə
İndi bütün klaster node-larını bir GUI-dən idarə edə bilərik.

Proxmox VE-də Klasterləşdirmə

Yüksək Müxtəlifliyin təşkili

Proxmox 'qablaşdırmasında' həm virtual maşınlar, həm də LXC konteynerləri üçün HA təşkilini dəstəkləyir. Alət ha-manager xətaları və uğursuzluqları aşkar edir və işləməyən noddan işləyişə keçid edərək fövqəladə vəziyyətdə işləir. Mexanizm düzgün işlədilməsi üçün virtual maşınların və konteynerlərin ümumi fayl saxlama sahəsinə sahib olması lazımdır.

High Availability funksiyası aktiv edildikdən sonra ha-manager proqram təminatı virtual maşının və ya konteynerin iş vəziyyətini davamlı izləyir və klasterdəki digər nodlarla asinxron əlaqələndirir.

Ümumi saxlama yerini qoşuruq

Məsələn, 192.168.88.18 ünvanında kiçik bir NFS fayl saxlama sistemi yaratmışıq. Klasterin bütün nodlarının istifadə edə bilməsi üçün aşağıdakı əməlləri yerinə yetirmək lazımdır.

Veb interfeys menyusundan seçirik Datacenter — Storage — Add — NFS.

Proxmox VE-də Klasterləşdirmə
Sahələri doldururuq IDServer. İşıqlandırıcı siyahıda Eksport mövcudlardan lazım olan direktoriyanı seçirik və Məzmun — zəruri məlumat tipləri. Düyməyə basdıqdan sonra Əlavə et saqlama bütün klaster nodlarına qoşulacaq.

Proxmox VE-də Klasterləşdirmə
Virtual maşın və konteynerlər yaradılarkən hər hansı nodda bizim saqlama kimi müəyyən edirik.

HA-nı konfiqurasiya edirik

Məsələn, Ubuntu 18.04 ilə bir konteyner yaradıb, onun üçün High Availability tənzimləyəcəyik. Konteyneri yaradıb işə saldıqdan sonra, Datacenter — HA — Add. Açılan sahədə virtual maşın/konteynerin ID-sini və maksimum yenidən başlama və nodlar arasında köçürmə cəhdlərinin sayını göstəririk.

Bu say aşılırsa, hiperizator VM-i uğursuz kimi işarələyəcək və Error vəziyyətinə keçirəcək, daha sonra onunla hər hansı əməliyyatları dayandıracaq.

Proxmox VE-də Klasterləşdirmə
New Token Əlavə et utilita ha-manager bütün klaster nodlarına məlumat verəcək ki, göstərilən ID-li VM artıq kontrol altında və uğursuz olduğu halda digər nodda yenidən başlamaq lazımdır.

Proxmox VE-də Klasterləşdirmə

Uğursuzluq yaradaq

Keçid mexanizminin necə işlədiyini görmək üçün node1-in elektrik əlaqəsini kəsəcəyik. Digər noddan klasterdə nə baş verdiyinə baxırıq. Sistem uğursuzluğu qeydə aldı.

Proxmox VE-də Klasterləşdirmə

HA mexanizminin işinin davamlılığı demək deyil ki, VM-in işi uzanmayacaq. Noda "dağılmasından" sonra, VM-in işi müvəqqəti dayanır, digər nodda avtomatik olaraq yenidən başlatma anına qədər.

Və burada "magiya" başlayır - klaster avtomatik olaraq VM-in icrası üçün nodu dəyişdi və 120 saniyə ərzində iş avtomatik bərpa olundu.

Proxmox VE-də Klasterləşdirmə
node2-nin elektrik əlaqəsini kəsirik. Klasteri sınağa çəkək və görək, VM avtomatik olaraq iş vəziyyətinə qayıdacaqmı.

Proxmox VE-də Klasterləşdirmə
Təəssüf ki, sonuncu qalan nodda daha kvorum olmadığı üçün HA-nın fəaliyyəti avtomatik olaraq dayandı. Konsolda kvorumu zorla qurmaq üçün əmr veririk.

pvecm expected 1

Proxmox VE-də Klasterləşdirmə
2 dəqiqə sonra HA mexanizmi düzgün işləməyə başladı, node2-yi tapmadığından VM-i node3-də işə saldı.

Proxmox VE-də Klasterləşdirmə
Node1 və node2-ni geri açdıqdan sonra, klasterin işi tamamilə bərpa edildi. Qeyd edin ki, node1-ə avtomatik olaraq VM köçmür, amma bunu əl ilə etmək mümkündür.

Nəticələri yekunlaşdırırıq

Biz sizə Proxmox-dakı klasterləşdirmə mexanizmini izah etdik və virtual maşınlar və konteynerlər üçün HA-nın necə qurulduğunu göstərdik. Klasterləşdirmənin və HAnın düzgün istifadəsi infrastrukturun etibarlılığını əhəmiyyətli dərəcədə artırır və çöküşdən sonrakı bərpa təmin edir.

Klaster yaratmazdan əvvəl, onun hansı məqsədlər üçün istifadə olunacağını və gələcəkdə nə dərəcədə genişləndiriləcəyini əvvəlcədən planlaşdırmalısınız. Eyni zamanda, gələcək klasterin problemsiz işləməsi üçün şəbəkə infrastrukturunun minimum gecikmələrlə işləməyə hazır olub-olmadığını yoxlamalısınız.

Bizə bildirin — Proxmox-dakı klasterləşdirmə imkanlarından istifadə edirsinizmi? Şərhlərdə sizi gözləyirik.

Proxmox VE hipervizoru mövzusunda əvvəlki məqalələr:

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster