
Ö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 (Berkeley Open Infrastructure for Network Computing). Bu platforma əvvəlcə layihə üçün yaradılmışdır (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 .
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 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 — .
İlk olaraq, əməliyyat sistemini quraşdırdıqdan sonra, tək bir server Standalone-mode.

bir klaster yaradaq, düyməyə basaraq Create Cluster müvafiq bölmədə.

Gələcək klasterin adını təyin edirik və aktiv şəbəkə əlaqəsini seçirik.

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.

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.

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.

Açılan pəncərədə eyniadlı sahənin məzmunu bizim üçün maraqlıdır. Onu kopyalamaq lazımdır.

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.

Sahələr Peer Address və Fingerprint 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.

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.

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

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.

Sahələri doldururuq ID və Server. İşı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.

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.

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.

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ı.

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.

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ı.

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 
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ı.

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
