Klasterlashtirish. Linux operatsion tizimida klasterlarni sozlash va boshqarish

KURS ISHI
MAVZU :  Klasterlashtirish.  Linux operatsion tizimida klasterlarni
sozlash va boshqarish 2Kirish  …………………………………………………………………………...3
I-bob. Klasterlashtirishning nazariy asoslari ………….…………….5
    1.1   Klaster tushunchasi va uning mohiyati…………………………5
    1.2   Klaster tizimlarining turlari…………………………………….7
    1.3   Klaster tizimlarining arxitekturasi…………………………….14
II-bob.   Linux   operatsion   tizimida   klasterlarni   sozlash   va
boshqarish …………………………………………………….…...19
          2.1   Linux   operatsion   tizimi   va   klasterlash   uchun   uning
imkoniyatlari……………………………………………...…….…..19
2.2       Klaster yaratish: o‘rnatish va sozlash jarayoni………....…....23
    2.3       Klasterni boshqarish usullari……………………………..….27
    2.4       Amaliy   ish :  Linuxda   oddiy   klaster   sozlash   bo ‘ yicha   amaliy  
ko ‘ rsatmalar ……………………………………………….……..…32
Xulosa ………………………………………………………………….….....37
Foydalanilgan adabiyotlar …………………………………………….……38 3 4 Kirish
Klasterlash   -   bu   kompyuter   tizimlarining   ishlashi,   mavjudligi   va
miqyoslanishini yaxshilash uchun qo'llaniladigan kuchli texnikadir. Linux operatsion
tizimi   kontekstida   klasterlash   bir   tizim   sifatida   birgalikda   ishlaydigan   o'zaro
bog'langan   kompyuterlar   guruhi   bo'lgan   klasterni   yaratishga   imkon   beradi.   Ushbu
kurs   ishi   konfiguratsiya   va   boshqaruv   jihatlariga   e'tibor   qaratgan   holda   Linuxda
klasterlashning   to'liq   ko'rinishini   taqdim   etishga   qaratilgan.   Ushbu   kurs   ishining
oxirida   siz   Linux   operatsion   tizimida   klasterlarni   qanday   o'rnatish   va   boshqarish
haqida yaxshi tushunchaga ega bo'lasiz.
Klasterlashtirishga kirish
Klasterlash - bu bitta tizim sifatida ishlash uchun bir nechta kompyuterlar yoki
serverlarni   birlashtirish   uchun   qo'llaniladigan   usul   bo'lib,   yaxshilangan   ishlash,
mavjudlik   va   miqyoslilikni   ta'minlaydi.   Linux   operatsion   tizimi   kontekstida
klasterlash   ish   yuklarini   samarali   boshqarish   va   xizmatlarning   yuqori   darajada
mavjudligini   ta'minlash   uchun   tandemda   ishlaydigan   o'zaro   bog'langan   tugunlardan
iborat klasterni yaratish imkonini beradi.
a.   Klasterlashning   ta'rifi:   Klasterlash   bir   ob'ekt   sifatida   paydo   bo'ladigan   va
ishlaydigan   yagona   tizimni   shakllantirish   uchun   serverlar   yoki   mashinalar   kabi   bir
nechta   hisoblash   resurslarini   birlashtirishni   o'z   ichiga   oladi.   Ushbu   yagona   tizim
vazifalarni   birgalikda   boshqaradi   va   taqsimlaydi,   resurslardan   foydalanishni
optimallashtiradi va xatolarga chidamlilik va yuqori mavjudlikni ta'minlaydi.
b. Linuxda klasterlashning afzalliklari va foydalanish holatlari:
1.   Yuqori   unumdorlik:   Klasterlash   ish   yukini   bir   nechta   tugunlar   bo'ylab
taqsimlashga imkon beradi, bu esa parallel ishlov berish va ilmiy simulyatsiya,  5ma'lumotlarni tahlil qilish yoki renderlash kabi resurs talab qiladigan vazifalar
uchun ishlashni yaxshilash imkonini beradi.
2.   Yuqori   mavjudlik:   xizmatlarni   bir   nechta   tugunlar   bo'ylab   tarqatish   orqali
klasterlash   ortiqcha   va   nosozliklarga   chidamliligini   ta'minlaydi.   Agar   tugun
muvaffaqiyatsiz bo'lsa, qolgan tugunlar uzluksiz xizmat ko'rsatishda davom etadi, bu
esa ishlamay qolish vaqtini minimallashtiradi va tizim mavjudligini oshiradi.
3.   Masshtablilik:   Klasterlar   ortib   borayotgan   ish   yuklarini   boshqarish   uchun
ko'proq   tugunlar   qo'shish   orqali   gorizontal   ravishda   o'lchamlarini   oshirishi   mumkin.
Ushbu   masshtablilik   tizimning   unumdorlik   yoki   mavjudlikni   yo'qotmasdan   o'sib
borayotgan talablarni qondirishini ta'minlaydi.
4. Yuklarni muvozanatlash: Klasterlar kiruvchi so'rovlar yoki topshiriqlarni bir
nechta   tugunlar   bo'ylab   taqsimlaydi,   bu   esa   har   qanday   tugunning   haddan   tashqari
yuklanishiga   yo'l   qo'ymaydi.   Yuklarni   muvozanatlash   resurslardan   foydalanishni
yaxshilaydi va qiyinchiliklarni oldini oladi.
5. Ishdan chiqish va ortiqcha: Klasterlar bir nechta tugunlar bo'ylab ma'lumotlar
va   xizmatlarni   takrorlashi   mumkin,   bu   esa   bir   tugun   ishlamay   qolsa,   xizmat
uzluksizligini   ta'minlash   uchun   boshqasi   muammosiz   o'z   zimmasiga   olishini
ta'minlaydi.
6.   Virtualizatsiya:   Klasterlash   virtual   mashina   klasterlarini   yaratish   uchun
ishlatilishi   mumkin,   bu   virtuallashtirilgan   ish   yuklarini   jismoniy   tugunlar   bo'ylab
samarali boshqarish va tarqatish imkonini beradi.
7.   Yuqori   unumdorlikdagi   hisoblash   (HPC):   Klasterlar   ilmiy   simulyatsiyalar,
hisoblash modellashtirish va ma'lumotlarni tahlil qilish uchun bir nechta tugunlarning
umumiy quvvatidan foydalanish uchun HPC muhitlarida keng qo'llaniladi. 68. Veb-xizmatlar  va  ilovalar:  Klasterlash  veb-ilovalar, ma'lumotlar  bazalari  va
boshqa muhim onlayn xizmatlarning yuqori mavjudligi va kengaytirilishini ta'minlash
uchun   ishlatiladi.   Linuxda   klasterlash   ishonchli   va   kengaytiriladigan   tizimlarni
yaratish uchun mustahkam va moslashuvchan infratuzilmani ta'minlaydi. 
I bob: Klasterlashtirishning nazariy asoslari
1.1 Klaster tushunchasi va uning mohiyati
1.1.1. Klaster haqida
Klaster   –   bu   foydalanuvchilar   nuqtai   nazaridan   yagona   apparat   resursini
ifodalovchi   yuqori   tezlikdagi   aloqa   kanallari   bilan   birlashtirilgan   kompyuterlar
guruhi.  Klaster  – bu keng tarqalgan dasturlarni ishlatish uchun birgalikda ishlaydigan
va   foydalanuvchiga   yagona   tizim   sifatida   ko‘rinadigan   bir   nechta   hisoblash
tizimlarining o‘zaro bo‘sh birlashtirilgani. Klasterlashtirish texnologiyasining birinchi
arxitektorlaridan   biri   Gregori   Pfister   klasterni   quyidagicha   aniqlaydi:   “Klaster   bu
parallel   yoki   taqsimlangan   tizimning   bir   ko‘rinishi   bo‘lib,   bir   nechta   o‘zaro
bog‘langan kompyuterlardan tashkil topgan bo‘lib, yagona kompyuter resursi sifatida
foydalaniladi.
Klasterlash   –   bu   bir   nechta   kompyuter   yoki   serverlarni   bitta   tizim   kabi
ishlashga majbur qiluvchi texnologiya. Klasterlar o‘zaro bog‘langan mustaqil tugunlar
(kompyuterlar)   to‘plamidir,   ular   birgalikda   umumiy   maqsadlarni   amalga   oshiradi.
Ushbu   tugunlar   bitta   vazifani   bajarishda   bir-birini   to‘ldiradi   yoki   resurslarni
taqsimlash orqali umumiy ishni optimallashtiradi.
Klaster turlari
Odatda klasterlar quyidagi turlarga ajratiladi: 7 nosozlikka   bardoshli   klasterlar   (High-availability   clusters,   HA,   yuqori
foydalanuvchanlik darajasidagi klasterlar);
 yuklama balansini boshqaruvchi klasterlar;
 hisoblash klasterlari (yuqori samarali hisoblash klasterlari, HPC);
 taqsimlangan hisoblash tizimlari.
1.1.2  Klasterlashning maqsad va vazifalari
Klaster tizimlarini joriy etishning asosiy maqsadlari quyidagilardir:
1. Ishlash tezligini oshirish : Tugunlar orasida yukni teng taqsimlash orqali
tizimning ishlash tezligi optimallashtiriladi.
2. Xavfsizlik   va   uzluksizlikni   ta’minlash :   Bir   tugun   ishdan   chiqqan
taqdirda, boshqa tugunlar tizim ishini davom ettiradi.
3. Moslashuvchanlik :   Klasterlash   yangi   tugunlar   qo‘shish   orqali   tizim
resurslarini kengaytirish imkonini beradi.
4. Resurslardan   samarali   foydalanish :   Klaster   tizimlari   mavjud   apparat
va dasturiy ta'minot resurslarini to‘liq ishlatishga imkon beradi.
5. Katta   hajmdagi   ma'lumotlarni   boshqarish :   Klasterlar   katta   hajmdagi
ma’lumotlarni tezkorlik bilan qayta ishlashda qo‘llaniladi.
Klasterlashning afzalliklari va kamchiliklari
Afzalliklari:
1. Yuqori   samaradorlik :   Tizimning   bir   nechta   tuguni   birgalikda   ishlashi
natijasida tezkor va samarali hisob-kitoblar amalga oshiriladi.
2. Xavfsizlik va ishonchlilik : Tugunlardan birining ishdan chiqishi boshqa
tugunlarning ishlashiga ta’sir qilmaydi.
3. Kengayuvchanlik :   Klaster   tizimlari   yangi   tugunlar   qo‘shish   orqali
kengaytirib borilishi mumkin. 84. Resurslardan   optimal   foydalanish :   Tugunlar   o‘zaro   yukni   teng
taqsimlab, mavjud resurslardan samarali foydalanadi.
5. Moslashuvchanlik :   Klaster   turli   xil   dastur   va   jarayonlarni   qo‘llab-
quvvatlaydi.
Kamchiliklari:
1. Komplekslik :   Klasterlarni   sozlash   va   boshqarish   murakkab   jarayon
bo‘lib, malakali mutaxassislarni talab qiladi.`
2. Yuqori   dastlabki   xarajatlar :   Klaster   tizimlarini   yaratish   uchun   zarur
bo‘lgan apparat va dasturiy ta’minot katta mablag‘ talab qilishi mumkin.
3. Texnik   nosozliklar   xavfi :   Tarmoqdagi   muammolar   yoki   noto‘g‘ri
konfiguratsiyalar klaster ishiga salbiy ta’sir ko‘rsatishi mumkin.
4. Resurslarning   ortiqcha   ishlatilishi :   Barcha   tugunlar   resurslaridan   bir
vaqtning   o ‘ zida   foydalanish   tarmoq   yuklamasini   oshirishi   mumkin .
1.2 Klaster tizimlarining turlari
1.2.1. Klaster tizimlarining turlari
Klaster   tizimlari   bir   nechta   turga   bo‘linadi.   Ularning   har   biri   turli   maqsadlar
uchun   yaratilgan   bo‘lib,   ularning   samarali   ishlashini   ta’minlash   uchun   maxsus
konfiguratsiya va arxitekturaga ega.  Klasterlar, asosan, quyidagi turlarga bo‘linadi:
1. Yuqori unumli hisoblash klasterlari (High Performance Computing -
HPC)
Yuqori   unumli   hisoblash   klasterlari   (HPC)   katta   hajmdagi   ma'lumotlarni   tezkor
ishlash va murakkab hisoblashlarni amalga oshirish uchun ishlatiladi.  Bu turdagi 
                                                                       92. klasterlar   ko‘plab   kompyuterlar   yoki   serverlardan   iborat   bo‘lib,   ular
parallel hisoblashni amalga oshiradi.
Afzalliklari:
o Katta   hajmdagi   ilmiy   va   muhandislik   hisob-kitoblarini   bajarish   uchun
kerak   bo‘ladi   (masalan,   molekulyar   dinamikani   simulyatsiya   qilish,   fizika   yoki
aerodinamika modellarini yaratish).
o Klaster   tizimlari   yuqori   tezlikda   ishlashga   mo‘ljallangan   bo‘lib,   yuzlab
yoki minglab tugunlardan tashkil topadi.
o Resurslarni   samarali   taqsimlash   va   yukni   balanslash   orqali   tizimning
umumiy   ishlash   tezligi   oshiriladi .
Misollar:
o Superkompyuterlar
o Ilmiy hisoblash markazlari
o Tadqiqot institutlaridagi hisoblash tizimlari
3. Ma'lumotlarni saqlash klasterlari (Storage Clusters)
Ma'lumotlarni   saqlash   klasterlari   bir   nechta   serverlardan   iborat   bo‘lib,   ular
ma'lumotlarni   saqlash,   zaxiralash   va   boshqarish   uchun   ishlatiladi.   Bu   klasterlar
ko‘plab   ma'lumotlar   bazalari   va   fayl   tizimlari   uchun   yuqori   darajadagi   saqlash
imkoniyatlarini   taqdim   etadi.   Ular   ma'lumotlarni   xavfsiz   va   samarali   saqlashni
ta'minlashda muhim rol o‘ynaydi.
Afzalliklari:
                                                                       10o Ma'lumotlar   xavfsizligi:   ma'lumotlar   tarqatilgan   saqlash   tizimlariga
bo‘linib, har bir tugun ma'lumotlarning zaxirasini yaratadi, bu esa uzilishlar holatida
ma'lumotlarning yo‘qolishini oldini oladi.
                                                                       11o Hajmni   kengaytirish :   saqlash   tizimi   kengaytirilishi   oson   bo ‘ lgan
arxitekturaga   ega .
o Yuqori   mavjudlik :   tizimning   ishdan   chiqishiga   qarshi   xavfsizlik
choralarini   ko ‘ rish   imkoniyati .
Misollar:
o Network Attached Storage (NAS)
o Storage Area Network (SAN)
o Amazon S3, Google Cloud Storage kabi bulutli saqlash xizmatlari
2. Yuzaga   keluvchi   uzilishlarga   chidamli   klasterlar   (Fault-Tolerant
Clusters)
Bu   turdagi   klasterlar   tizimni   uzilishlarga   chidamli   qilish   maqsadida   tashkil   etiladi.
Yuzaga   keladigan   uzilishlar   yoki   tugunlarning   ishdan   chiqishi   tizimning   butun
faoliyatiga   ta’sir  qilmasligi  uchun   maxsus   algoritmlar   va  redundansiyalar  ishlatiladi.
Tizimning   uzilishlarga   chidamliligi   ma'lumotlarni   saqlash   va   tizim   ishlashining
doimiyligini ta'minlaydi.
Afzalliklari:
2.1. Uzilishlarga   chidamli :   bir   tugun   ishdan   chiqsa   ham ,   boshqa   tugunlar
faoliyatni   davom   ettiradi .
2.2. Tizimning   barqarorligi :   tugunlar   o ‘ zaro   zaxira   nusxalarini   yaratib ,
tizimdagi   uzilishlarga   qarshi   kurashadi .
2.3. Yuqori   mavjudlik   va   ishonchlilik :   xizmatlar   har   doim   mavjud   va
ishlashda   davom   etadi .
                                                                       12Misollar:
2.4. Web - server   klasterlari ,   ya ' ni   agar   bir   server   ishlamay   qolsa ,   boshqa
server   avtomatik   ravishda   uning   o ‘ rnini   bosadi .
2.5. Ma'lumotlar   bazalari   uchun   "hot   standby"   yoki   "active-passive"
konfiguratsiyalari.
1.2.2. Nosozlikka bardoshli klasterlar
Nosozlikka   bardoshli   klasterlar   (1.1-rasm).   Ular   HA   qisqartmasi   bilan
belgilanadi.   Ular   klaster   tomonidan   taqdim   etiladigan   xizmatlarning   yuqori   darajada
doimiy   foydalanuvchanligini   ta minlash   uchun   yaratiladi.   Klasterdagi   uzellarningʼ
sonining   ko‘pligi   bir   yoki   bir   nechta   server   ishdan   chiqqan   taqdirda   ham   xizmat
ko‘rsatilishini   kafolatlaydi.   Uzellarning   eng   kam   soni   ikkita.   Bunday   klasterlarni
yaratish uchun ko‘plab dasturiy yеchimlar yaratilgan.
1.1-rasm.  Nosozlikka bardoshli klaster
                                                                       13Nosozlikka bardoshli klasterlar va tizimlari uchta asosiy turga bo‘linadi:
 “Sovuq   zaxira   bilan”   yoki   aktiv/passiv.   Aktiv   uzel   so‘rovlarni   bajaradi,
passiv esa uning ishdan chiqishini kutib turadi va u sodir bo‘lganda ishlay boshlaydi.
Masalan:  zaxira  tarmoq ulanishlari.
 “Issiq zaxira bilan” yoki aktiv/aktiv.  Barcha uzellar so‘rovlarni bajaradilar,
agar bitta uzel ishdan chiqsa, yuklama qolgan uzellar o‘rtasida taqsimlanadi. Masalan:
Microsoft Cluster Server. Ochiq kodli OpenMosix loyihasi.
 Ko‘p   modullilik.   Oddiy   klaster   tizimni   ishlatish   imkoni   bo‘lmagan
holatlarda   qo‘llaniladi.   Barcha   uzellar   bir   vaqtning   o‘zida   aynan   bitta   so‘rovni
bajaradilar   (yoki   uning   qismlari,   ammo   biron   bir   uzel   ishlamay   qolsa   ham   natijaga
erishish   mumkin),   qaysi   uzel   so‘rovni   bajarib   tugatsa,   uning   natijasi   olinadi,   qolgan
uzellarning natijasi  inkor qilinadi. Bu aytilgan vaqtda kerakli natijani olish imkonini
beradi, hattoki biron bir uzel ishdan chiqqan taqdirda ham. Turli uzellarning natijalari
har   doim   bir   xil   bo‘lishini   ta minlash   kerak   (yoki   farqlar   keyingi   ishlarga   ta sirʼ ʼ
qilmasligi kafolatlanadi). Masalan: RAID texnologiyasi.
1.2.3. Yuklama balansini boshqaruvchi klasterlar
Yuklama   balansini   boshqaruvchi   klasterlar   (1.2-rasm).   Ularning   ishlash
prinsipi   so‘rovlarni   boshqa   hisoblash   uzellariga   qayta   ishlash   uchun   yo‘naltiradigan
bir yoki bir nechta kirish uzellari orqali taqsimlashga asoslangan. Bunday klasterning
asosiy maqsadi – bu samaradorlik, ammo ular ko‘pincha ishonchlilikni oshirish uchun
foydalaniladi. Ushbu konstruksiyalar server fermalari deb ataladi.
                                                                       141.2-rasm. Yuklama balansini boshqaruvchi klasterga misol
1.2.4. Hisoblash klasterlari
Hisoblash   klasterlari.   Klasterlar   hisoblash   maqsadlarida,   xususan   ilmiy
tadqiqotlarda   foydalaniladi.   Hisoblash   klasterlari   uchun   muhim   ko‘rsatkichlar
vergulli   nuqta   raqamlari   (floplar)   bilan   ishlashda   protsessorning   yuqori
ko‘rsatkichlari.   Hisoblash   klasterlari   masalani   parallel   bajariladigan   bir   nechta
qismlarga   bo‘lib   hamda   ularni   alohida   uzellarda   bajarilishini   ta minlash   orqaliʼ
hisoblash vaqtini qisqartirishga imkon beradi.
                                                                      151.3-rasm. Hisoblash klasterlari
1.2.5. Taqsimlangan hisoblashlar tizimi
Taqsimlangan   hisoblashlar   tizimi   “grid”.   Bunday   tizimlar   klasterlar   deb
hisoblanmaydi,   ammo   ularning   ishlash   prinsiplari   asosan   klasterlashtirish
texnologiyasiga   o‘xshashdir.   Ularga   grid-tizimlari   ham   deyiladi.   Asosiy   farq   har   bir
uzelning   past   darajada   mavjudligi,   ya ni   ma lum   bir   vaqtda   uning   ishlashiniʼ ʼ
kafolatlashning   mumkin   emasligi   (uzellar   xohlagan   paytida   ulanib,   xohlagan   paytda
tarmoqdan   chiqib   ketishi   mumkin).   Shuning   uchun   vazifani   bir-biridan   mustaqil
bo‘lgan   bir   qator   jarayonlarga   bo‘lish   kerak.   Bunday   tizim,   klasterlardan   farqli
o‘laroq,   bitta   kompyuterga   o‘xshamaydi,   lekin   hisoblashlarni   tarqatishning
soddalashtirilgan   vositasi   bo‘lib   xizmat   qiladi.   Konfiguratsiyaning   beqarorligi,   bu
holda, ko‘p sonli uzellar hisobiga qoplanadi.
                                                                      161.4-rasm. Grid hisoblash tizimi
1.3 Klaster tizimlarining arxitekturasi
1.3.1   Klasterlar   umumiy   disklardan   foydalanuvchi   va   umumiy   disklardan
foydalanmaydigan   klasterlarga   ajratiladi.   Ikkita   serverni   birlashtirishda   ushbu
klaster variantlarini amalga oshirishga misol 1.5-rasmda keltirilgan.
1.6-rasmning   a,b,v   –   variantlardagi   topologiya   serverlar   bilan   ma lumotniʼ
saqlash  qurilmalari  to‘g‘ridan-to‘g‘ri  ulanganligi  bilan  xarakterlanadi,  g  –  variantida
esa   serverlar   bilan   ma lumotni   saqlash   qurilmalari   kommutator   orqali   ulanganligi	
ʼ
bilan xarakterlanadi.
                                                                      171.5-rasm.   Ikkita   serverni   klasterga   birlashtirish   (a)   umumiy   disklardan
foydalanmaydigan (b) umumiy disklardan foydalanuvchi klasterlar.
                                                                      181.6-rasm.   Klasterlar   topologiyasi :   a)   to‘liq   ajratilgan   topologiya;   b)   N+1
topologiya;   v)   klaster   juftliklar   topologiyasi;   g)   serverlar   bilan   ma lumotniʼ
saqlash  qurilmalarining  kommutator  orqali  to‘liq ulangan topologiya  yoki  NxN
topologiya.
Topologiya N+1 topologiya   ma lumotni  saqlashning  har  bir qurilmasini  (disk	
ʼ
massivi)   ikkita   klaster   uzeliga   ulashni   nazarda   tutadi,   bunda   bitta   zaxira   serveri
ma lumotlarni saqlashning barcha qurilmalariga ulanadi. U zaxira vazifasini bajaradi.	
ʼ
Ushbu   topologiya   faol   uzellarga   yuklamani   kamaytirishga   yordam   beradi   va   bironta
uzel   ishlamay   qolganda   uning   yuklamasi   zaxira   serverga   yuklanadi.   Bitta   zaxira
server   aktiv   uzellarning   xohlagan   bittasi   ishdan   chiqsa,   klasterni   ishdan   chiqishga
bardoshliligini ta minlaydi.	
ʼ
Juftlik   klasterlar   topologiyasi da   uzellar   juft-juft   bo‘lib   guruhlangan,
ma lumotlarni   saqlash   qurilmalari   juftlikning   ikkala   uzeliga   biriktirilgan   va   har   bir	
ʼ
uzel   juftlikdagi   barcha   saqlash   qurilmalariga   (disk   massivlariga)   murojaat   qilish
huquqiga ega. Shunday qilib, ishdan chiqishga bardoshlik juftlik klasterida saqlanadi.
NxN   topologiya   serverga   va   ma lumotlarni   saqlash   qurilmalari   kommutator	
ʼ
orqali   o‘zaro   to‘liq   ulangan   bo‘ladi.   Bu   esa   ulanishlarga   bog‘liq   bo‘lmagan   holda
ma lumot saqlash qurilmalarini va serverlarni ko‘paytirish imkonini beradi. Ushbu 	
ʼ 19topologiyada   biron   bir   uzel   ishdan   chiqsa,   yuklama   aktiv   uzellar   orasida
taqsimlanadi, bu esa ishdan chiqishga bardoshlikni oshiradi.
1.3.2 Klaster tizimlarining arxitekturasi
Klaster   tizimi   bir   nechta   komponentlardan   iborat   bo‘lib,   ularning   har   biri
birgalikda   ishlash   orqali   umumiy   maqsadga   erishadi.   Klasterning   arxitekturasi
tizimning   samaradorligini,   uzluksizligini   va   xavfsizligini   ta'minlash   uchun   juda
muhimdir.   Klaster   arxitekturasi,   odatda,   quyidagi   asosiy   komponentlardan   tashkil
topadi:
1. Tugunlar            ( Nodes ):
Klasterning   har   bir   tuguni   mustaqil   kompyuter   yoki   server   bo ‘ lib ,   u   boshqa   tugunlar
bilan   birgalikda   ishlaydi .   Tugunlar   klasterda   ma ' lum   bir   vazifani   bajaradi   va
klasterning   umumiy   ishlashini   ta ' minlaydi .   Tugunlar,   odatda,   quyidagi   turlarga
bo‘linadi:
o Ish   tugunlari   ( Compute   Nodes ):   Hisoblash   ishlarini   bajaruvchi
tugunlar . Bu tugunlar hisoblash resurslarini taqdim etadi.
o Saqlash   tugunlari   ( Storage   Nodes ):   Ma ' lumotlarni   saqlash   va
zaxiralash   vazifasini   bajaruvchi   tugunlar .
o Nazorat   tugunlari   ( Control   Nodes ):   Klasterning   ishlashini
boshqaruvchi   tugunlar .   Ushbu   tugunlar   resurslarni   taqsimlash   va   tizimni   boshqarish
uchun ishlatiladi.
2. Tarmoq va kommunikatsiya:
Tugunlar   o‘rtasidagi   tarmoq   aloqalari   orqali   ma'lumotlar   tezkor   tarzda   uzatiladi.
Klaster   tizimida   tarmoq   juda   muhim   rol   o ‘ ynaydi ,   chunki   tugunlar   bir - biri   bilan
ma ' lumot   almashish   uchun   tarmoq   orqali   bog ‘ lanadi .
3. Resurslarni boshqarish tizimi (Resource Management System):
Klasterdagi   resurslarni   boshqarish   uchun   maxsus   tizimlar   ishlatiladi.   Bu   tizimlar 20tugunlar   orasida   resurslarni   taqsimlash,   yukni   balanslash,   tizimning   holatini
monitoring qilish va xavfsizlikni ta'minlashga yordam beradi.
4. Xavfsizlik va zaxira tizimlari:
Klaster   tizimi   muammolarga   duch   kelgan   taqdirda,   zaxira   tugunlar   va   boshqa
xavfsizlik   choralariga   tayanadi.   Ma'lumotlar   va   xizmatlarning   uzluksizligini
ta'minlash uchun redundant (ortiqcha) resurslar mavjud bo‘lishi kerak.
1.3.3 Tugunlar va ularning vazifalari
Tugunlar   klaster   tizimining   asosiy   tarkibiy   qismlari   bo‘lib,   har   bir   tugun
klasterning   muvaffaqiyatli   ishlashiga   hissa   qo‘shadi.   Tugunlarning   vazifalari   va
turlari quyidagicha:
1. Ish   tugunlari  ( Compute   Nodes ):
Bu   tugunlar   klasterning   eng   ko ‘ p   ishlovchi   qismlari   bo ‘ lib ,   barcha   hisoblash
jarayonlarini   amalga   oshiradi .   Ular   ilmiy   tadqiqotlar ,   hisoblash   operatsiyalari   yoki
katta   hajmdagi   ma ' lumotlarni   qayta   ishlashda   faol   ishtirok   etadi .   Ish   tugunlari
klasterga   yuklangan   vazifalarni   bajaradi   va   natijalarni   nazorat   tugunlariga   uzatadi .
2. Saqlash   tugunlari  ( Storage   Nodes ):
Ma ' lumotlarni   saqlash   tugunlari   klasterda   saqlanadigan   ma ' lumotlarni   boshqaradi .
Ular   ma ' lumotlarni   zaxiralash ,   boshqarish   va   ularga   tezkor   kirish   imkonini   yaratadi .
Saqlash   tugunlari ,  asosan ,  fayl   tizimi   yoki   ma ' lumotlar   bazalari   bilan   bog ‘ liq   bo ‘ ladi .
3. Nazorat   tugunlari  ( Control   Nodes ):
Nazorat   tugunlari   klasterning   boshqaruv   markazi   sifatida   ishlaydi .   Ular   tugunlar
orasida   ma ' lumot   va   resurslarni   taqsimlash ,   tizim   holatini   monitoring   qilish   va
umumiy   boshqaruvni   amalga   oshiradi .   Nazorat   tugunlari   klasterning   barcha
faoliyatlarini tartibga soladi va resurslarni samarali boshqaradi.
4. Zaxira tugunlari (Failover Nodes):
Zaxira   tugunlari   tizimning   uzluksiz   ishlashini   ta'minlash   uchun   mavjud.   Bir   tugun 21ishdan  chiqsa,  zaxira  tuguni   uning  o‘rnini   bosadi  va   tizim  ishlashini  davom  ettiradi.
Bu tugunlar asosan yuzaga keladigan uzilishlarga chidamli klasterlarda ishlatiladi.
1.3.4 Tarmoq infrastrukturasining ahamiyati
Klaster   tizimining   samarali   ishlashida   tarmoq   infrastrukturasining   roli   juda
katta. Tugunlar o‘rtasida uzatiladigan ma'lumotlar tarmoq orqali amalga oshiriladi,
shuning uchun tarmoqning tezligi, ishonchliligi va xavfsizligi klasterning umumiy
samaradorligini ta'minlaydi.  Tarmoq infrastrukurasining ahamiyati quyidagicha:
1. Tarmoq   tezligi :
Klasterdagi   tugunlar   o ‘ rtasida   ma ' lumotlar   tezkor   uzatilishi   kerak .   Yuqori   tezlikdagi
tarmoq   tizimi   ( masalan ,   InfiniBand   yoki   10 Gb   Ethernet )   tugunlar   orasida   katta
hajmdagi   ma ' lumotlarni   tezkor   uzatishga   imkon   beradi .
2. Tarmoqning   ishonchliligi :
Tarmoqda   yuzaga   keladigan   muammolar   klasterning   ishlashiga   jiddiy   ta ' sir   qilishi
mumkin .  Tarmoq   uzilishlari   yoki   kechikishlar   tugunlar   o ‘ rtasidagi   kommunikatsiyani
sekinlashtirishi   yoki   tizimning   to ‘ liq   ishlashini   to ‘ xtatishi   mumkin .   Shuning   uchun
klaster   tizimlari   tarmoqning   ishonchliligini   ta ' minlash   uchun   redundant   ( ortiqcha )
aloqalar   va   tarmoq   kuzatuv   tizimlarini   o ‘ rnatadi .
3. Tarmoq   xavfsizligi :
Tarmoq   orqali   uzatiladigan   ma ' lumotlar   va   resurslar   xavfsiz   bo ‘ lishi   kerak .   Klaster
tizimlarida   tarmoq   xavfsizligini   ta ' minlash   uchun   maxsus   protokollar   va   shifrlash
texnologiyalari   qo ‘ llaniladi .   Bu ,   ayniqsa ,   muhim   ma ' lumotlar   va   resurslar
ishlatilganda   zarur   bo ‘ ladi .
II bob: Linux operatsion tizimida klasterlarni sozlash va boshqarish
2.1 Linux operatsion tizimi va klasterlash uchun uning imkoniyatlari 222.1.1 Linux operatsion tizimi va klasterlash uchun uning imkoniyatlari
Linux   operatsion   tizimi   o‘rnatilgan   klaster   tizimlari   uchun   juda   qulay   va
keng   tarqalgan   platformadir.   Linux   tizimi   o‘zining   ochiq   kodli   tabiati,   xavfsizligi
va   barqarorligi   bilan   mashhur   bo‘lib,   ko‘plab   yuqori   unumli   hisoblash,
ma'lumotlarni   saqlash,   va   uzluksiz   tizimlar   uchun   klasterlash   imkoniyatlarini
taqdim etadi.  Linuxning klasterlash uchun imkoniyatlari quyidagilardan iborat:
1. Ochiq kodli va moslashuvchanlik:
Linux   tizimi   ochiq   kodli   bo‘lib,   foydalanuvchilarga   tizimni   o‘z   ehtiyojlariga   qarab
sozlash   imkonini   beradi.   Klasterlash   jarayonida   tizimning   har   bir   qismi,   masalan,
yadro (kernel) va tizim kutubxonalari, kerakli tarzda sozlanishi mumkin.
2. Resurslarni samarali boshqarish:
Linuxda resurslarni boshqarish uchun bir qancha vositalar mavjud, masalan,   cgroups
va   systemd ,   ular   resurslarni   taqsimlash   va   tizimning   umumiy   ishlashini
optimallashtirish imkonini beradi.  Bu   tizimlar   klasterlarda   bir   nechta   tugunlar   orasida
resurslarni   samarali   taqsimlashda   yordam   beradi .
3. Ko ‘ p   vazifali  ( multitasking )  va   ko ‘ p   yadroli  ( multithreading )  qo ‘ llab -
quvvatlash :
Linux   ko ‘ p   vazifali   tizim   bo ‘ lib ,   bir   vaqtning   o ‘ zida   bir   nechta   dasturlarni   yoki
jarayonlarni   bajarishga   imkon   beradi .   Bu ,   ayniqsa ,   parallel   hisoblash   va   yukni
balanslashga   asoslangan   klaster   tizimlarida   muhimdir .
4. Tarmoqni   qo ‘ llab - quvvatlash :
Linux   tarmoq   texnologiyalariga   juda   mos   keladi   va   tarmoqni   optimallashtirish   uchun
ko ‘ plab   vositalar   va   protokollarni   qo ‘ llab - quvvatlaydi ,   masalan ,   InfiniBand   va
Ethernet .   Bu   klaster   tizimlari   o‘rtasida   tez   va   ishonchli   ma'lumot   almashishni
ta'minlaydi. 235. Xavfsizlik va uzluksizlik:
Linux   tizimlarida   xavfsizlikni   ta'minlash   uchun   ko‘plab   mexanizmlar   mavjud,
masalan,   SELinux   va   AppArmor.   Ushbu   mexanizmlar   tizimning   xavfsizligini
ta'minlash   va   xakerlar   yoki   noto‘g‘ri   konfiguratsiyalangan   tugunlardan   himoya
qilishda muhimdir.
6. Bulutli infratuzilma bilan integratsiya:
Linux, ayniqsa, bulutli tizimlar va virtualizatsiya uchun juda mos keladi. Kubernetes
yoki Docker kabi vositalar Linux tizimida yaxshi ishlaydi va klasterlash jarayonlarini
boshqarishga yordam beradi.
2.1.2. Linuxning klaster tizimlar uchun afzalliklari
Linux operatsion tizimi klasterlash uchun bir qancha afzalliklarga ega.  Uning
afzalliklari quyidagicha:
1. Ochiq kodli va bepul:
Linuxning ochiq kodli tabiati unga moslashuvchanlik va bepul foydalanish imkonini
beradi. Klaster tizimlarini sozlashda kerak bo‘ladigan ko‘plab dasturiy ta'minotlar va
vositalar Linuxda mavjud va ular bepul taqdim etiladi.
2. Barqarorlik   va   ishonchlilik :
Linux   operatsion   tizimi   uzoq   muddatli   ishlashda   juda   barqaror .   Ushbu   tizimni
ishlatgan   holda   tizimning   yuqori   mavjudligini   va   ishonchliligini   ta ' minlash   osonroq .
3. Keng   qo ‘ llanilish   va   hujjatlar :
Linux   dunyo   bo ‘ ylab   keng   qo ‘ llaniladi   va   uning   klasterlash   bo ‘ yicha   yaxshi   hujjatlari
mavjud .   Klaster   yaratish   uchun   juda   ko‘p   o‘quv   materiallari,   forumlar   va   resurslar
mavjud.
4. Yuqori tezlikdagi tarmoq va ko‘p yadroli ishlash:
Linux,   tarmoqni   va   ko‘p   yadroli   tizimlarni   yaxshi   qo‘llab-quvvatlaydi,   bu   esa
klasterlar o‘rtasida tezkor ma'lumot almashinish va parallel hisoblashni ta'minlaydi. 245. Ko‘p turdagi klasterlash vositalarini qo‘llab-quvvatlash:
Linux tizimi bir nechta klasterlash vositalari va texnologiyalarini qo‘llab-quvvatlaydi,
bu   esa   foydalanuvchilarga   klasterlarni   o‘z   ehtiyojlariga   moslashtirish   imkoniyatini
beradi.
2.1.3. Ochiq kodli klasterlash vositalari
Linuxda klaster tizimlarini yaratish va boshqarish uchun ko‘plab ochiq kodli
vositalar   mavjud.   Quyida   eng   mashhur   va   keng   qo‘llaniladigan   ochiq   kodli
klasterlash vositalari keltirilgan:
1. OpenMPI (Open Message Passing Interface):
OpenMPI   -   bu   ochiq   kodli   va   yuqori   unumli   hisoblash   uchun   mo‘ljallangan   MPI
kutubxonasi   bo‘lib,   ko‘p   tugunli   tizimlarda   ma'lumotlarni   uzatish   va   parallel
hisoblashni   ta'minlaydi.   U   HPC   (High   Performance   Computing)   klasterlarida   keng
qo‘llaniladi.
o Afzalliklari:
 Yuqori tezlikda ma'lumot almashish imkoniyati
 Keng qo‘llanilish va hujjatlar
 Ko ‘ p   turdagi   arxitekturalarni   qo ‘ llab - quvvatlash
2. Slurm  ( Simple   Linux   Utility   for   Resource   Management ):
Slurm   -   bu   Linux   tizimida   resurslarni   boshqarish   va   yukni   balanslash   uchun
ishlatiladigan   ochiq   kodli   tizimdir .   U   ko ‘ p   tugunli   klasterlar   uchun   ishlarni   tartibga
solish   va   samarali   boshqarish   imkoniyatini   yaratadi .
o Afzalliklari:
 Resurslarni boshqarish va taqsimlash
 Klasterning ishlashini monitoring qilish
 Yaxshi   hujjatlar   va   jamoa   qo ‘ llab - quvvatlashi 253. Kubernetes :
Kubernetes   -   bu   konteynerlarni   boshqarish   va   ularni   klasterlarda   joylashtirish   uchun
ishlab   chiqilgan   ochiq   kodli   tizim .   Kubernetes   tizimlari   ko ‘ p   yadroli   hisoblashni
optimallashtiradi   va   ma ' lumotlarni   boshqarishni   osonlashtiradi .
o Afzalliklari:
 Avtomatik container scaling
 Yaxshi tarmoq boshqaruvi
 Keng qo‘llanilish va turli xil platformalarda ishlash
4. Hadoop:
Hadoop   -   bu   katta   hajmdagi   ma'lumotlarni   saqlash   va   qayta   ishlash   uchun
ishlatiladigan   ochiq   kodli   tizimdir.   Uning   asosiy   komponentlari   HDFS   (Hadoop
Distributed File System) va MapReduce hisoblash modelidir.
o Afzalliklari:
 Katta   hajmdagi   ma'lumotlarni   saqlash   va   qayta   ishlash
imkoniyatlari
 Kengaytiriladigan va mustahkam arxitektura
 Yaxshi ma'lumotlarni taqsimlash va uzatish
5. Ganglia:
Ganglia   -   bu   yuqori   unumli   hisoblash   tizimlarida   ishlash   va   ularning   ishlashini
monitoring   qilish   uchun   mo‘ljallangan   ochiq   kodli   tizimdir.   Ganglia   ko‘plab
tugunlarni boshqarishda samarali yordam beradi.
o Afzalliklari:
 Kengaytiriladigan va moslashuvchan monitoring tizimi
 Yaxshi tarmoqni monitoring qilish imkoniyati
 Klasterlar uchun maxsus tayyorlangan
2.2 Klaster yaratish: o‘rnatish va sozlash jarayoni 262.2.1.  Klaster uchun zarur bo‘lgan apparat va resurslarni tayyorlash:
 Serverlar   va   tugunlar:   Klasterda   ishlash   uchun   bir   nechta   serverlar
(yoki tugunlar) kerak. Har bir tugun o‘zining kompyuter resurslari (protsessor, xotira,
disk) bilan ishlaydi.
 Tarmoq   infrastrukturasining   tayyorlanishi:   Klasterdagi   tugunlar
o‘rtasida   tarmoq   aloqalarini   o‘rnatish   uchun   kerakli   tarmoq   qurilmalari   va   kabel
tizimi tayyorlanadi.
2. 2. 2   Operatsion tizimni o‘rnatish:
 Klaster   tizimi   uchun   Linux   tizimining   tarqatmalari   ( masalan ,   Ubuntu
Server ,   CentOS ,   men   Lubuntu   o ’ rnatdim )   o ‘ rnatiladi .   Har   bir   tugunga   operatsion
tizim o‘rnatilishi kerak.
 Tizimni   o‘rnatganingizdan   so‘ng,   tarmoq   sozlamalarini   to‘g‘ri
konfiguratsiya qilish va tugunlar o‘rtasida o‘zaro aloqa o‘rnatish lozim.
2.2.3.  Klaster   uchun   kerakli   dasturiy   ta ' minotni   o ‘ rnatish :
Klaster   tizimi   uchun   kerakli   dasturiy   ta ' minotlar   o ‘ rnatilishi   kerak ,   masalan ,
resurslarni   boshqarish   vositalari ,   tarmoq   vositalari   va   klasterni   boshqarish
dasturlari .
2.2. 4.  Klasterni sozlash:
 Tugunlar   o ‘ rtasida   bog ‘ lanish :   Klasterdagi   barcha   tugunlar   o ‘ rtasida
tarmoq   aloqalari   to ‘ g ‘ ri   tashkil   qilinishi   kerak .   Agar   tizimda   bir   nechta   tugunlar
ishlasa ,  tugunlarning   IP - manzillari   va   tarmoq   parametrlarini   to ‘ g ‘ ri   sozlash   zarur . 27 Resurslarni   boshqarish   va   monitor   qilish :   Tugunlar   orasida   resurslarni
taqsimlash   va   monitor   qilish   uchun   maxsus   boshqaruv   tizimlari   ( masalan ,   Slurm ,
Kubernetes )  o ‘ rnatiladi .
 Ma ' lumotlar   saqlash   va   qayta   ishlash :   Agar   ma ' lumotlar   saqlanishi   va
qayta   ishlanishi   kerak   bo ‘ lsa ,  HDFS   yoki   GlusterFS   kabi   saqlash   tizimlari   o ‘ rnatiladi .
Klaster   yaratishda   ishlatiladigan   dasturlar
Klaster   yaratishda   ishlatiladigan   bir   nechta   mashhur   dasturlar   va   vositalar
mavjud .  Quyida ba'zi asosiy dasturlar keltirilgan:
2.2.5  OpenMPI (Open Message Passing Interface):
 Tavsif:   OpenMPI   -  bu  ko‘p  tugunli   tizimlarda  ma'lumotlarni  uzatish  va
parallel   hisoblashni   qo‘llab-quvvatlovchi   ochiq   kodli   kutubxona.   Bu   HPC   (High
Performance Computing) klasterlarida keng qo‘llaniladi.
 Xususiyatlar:
o Parallel hisoblashni qo‘llab-quvvatlaydi.
o Tizimdagi tugunlar o‘rtasida samarali ma'lumot uzatishni ta'minlaydi.
o Kengaytiriladigan va moslashuvchan.
2. 2.6    Hadoop:
 Tavsif:   Hadoop   -   bu   katta   hajmdagi   ma'lumotlarni   saqlash   va   qayta
ishlash   uchun   mo‘ljallangan   ochiq   kodli   platforma.   Uning   asosiy   komponentlari
HDFS (Hadoop Distributed File System) va MapReduce hisoblash modelidan iborat.
 Xususiyatlar:
o Katta   hajmdagi   ma'lumotlarni   taqsimlash   va   qayta   ishlashda
foydalaniladi.
o Resurslarni taqsimlash va klasterni boshqarish imkoniyatini beradi. 28o Yaxshi   tarqatilgan   saqlash   tizimi   va   parallel   hisoblashni   qo‘llab-
quvvatlaydi.
2.2.7 .  Kubernetes:
 Tavsif:   Kubernetes   -   bu   konteynerlarni   boshqarish   va   klasterlarda
joylashtirish uchun ishlatiladigan ochiq kodli tizim.  Kubernetes   tizimlari   ko ‘ p   yadroli
hisoblashni   optimallashtiradi   va   ma ' lumotlarni   boshqarishni   osonlashtiradi .
 Xususiyatlar:
o Avtomatik konteynerlarni boshqarish.
o Klasterni oson boshqarish va konteynerlar orasida resurslarni taqsimlash.
o Keng qo‘llanilish va moslashuvchan.
Operatsion tizim va dasturiy ta'minotni sozlash
Klaster   tizimi   uchun   operatsion   tizim   va   dasturiy   ta'minotni   to‘g‘ri   sozlash
muhim ahamiyatga ega.  Bu jarayonni quyidagicha amalga oshirish mumkin:
2.2.8 .  Operatsion tizimni sozlash:
 IP-manzil   va   tarmoq   sozlamalari:   Klasterdagi   har   bir   tugunga   o‘ziga
xos IP-manzil tayinlanadi va tarmoq sozlamalari to‘g‘ri o‘rnatiladi.
 Yadro sozlamalari:  Klasterning samarali ishlashi uchun tizimning yadro
parametrlarini   (masalan,   fayl   tizimi,   tarmoq   protokollari   va   resurslarni   boshqarish)
sozlash zarur.
2.2.9.   Dasturiy ta'minotni o‘rnatish va sozlash:
 Resurslarni   boshqarish   dasturlari:   Klasterda   ishlashni   samarali
boshqarish uchun resurslarni  taqsimlash va yukni balanslash uchun maxsus vositalar
o‘rnatiladi.  Masalan, Slurm, OpenMPI yoki Kubernetes. 29 Saqlash tizimlari:   Agar klasterda katta hajmdagi ma'lumotlar saqlanishi
kerak bo‘lsa, HDFS yoki NFS kabi tarqatilgan saqlash tizimlari o‘rnatiladi.
Tarmoqni   konfiguratsiya   qilish   va   xavfsizlikni   ta ' minlash
Klaster   tizimi   o ‘ rtasida   ma ' lumotlar   samarali   uzatilishi   va   tizim   xavfsizligi
ta ' minlanishi   uchun   quyidagi   tarmoq   sozlamalarini   amalga   oshirish   lozim :
2.2. 1 0 .  Tarmoq konfiguratsiyasi:
 IP - manzil   va   DNS   sozlamalari :   Klasterdagi   har   bir   tugunning   IP -
manzili   va   DNS   sozlamalari   to ‘ g ‘ ri   o ‘ rnatilishi   kerak .   Bu   tugunlar   o ‘ rtasida   to ‘ g ‘ ri
kommunikatsiya   uchun   zarurdir .
 Tarmoq   protokollarini   sozlash :   Klasterda   ishlayotgan   tizimlarning
tarmoq   protokollarini   to ‘ g ‘ ri   sozlash   zarur  ( masalan ,  TCP / IP ,  InfiniBand ).
2 .2 . 11   Xavfsizlikni ta'minlash:
 Firewall   va   tarmoq   xavfsizligi:   Klasterdagi   tarmoq   xavfsizligini
ta'minlash  uchun  firewall   va boshqa  xavfsizlik  choralarini   o‘rnatish  lozim.   Tugunlar
orasida   maxfiy   ma ' lumotlarni   uzatish   uchun   shifrlash   ( masalan ,   SSL / TLS )
qo ‘ llaniladi .
 Ruxsatnomalar   va   autentifikatsiya :   Tizimdagi   tugunlarga   kirish   va
ma ' lumotlarga   ruxsat   berish   uchun   autentifikatsiya   mexanizmlari   ( masalan ,   SSH ,
Kerberos )  o ‘ rnatiladi .
2.3 Klasterni boshqarish usullari 302.3.1.  Markazlashgan boshqaruv (Centralized Management):
 Tavsif:   Markazlashgan   boshqaruvda   barcha   tugunlar   va   tizimlar   bir
boshqaruv   nuqtasidan   boshqariladi.   Bu   usulda   administratorlar   barcha   tugunlarning
holatini va ishlashini markazlashgan vosita orqali kuzatadilar.
 Afzalliklari:
o Boshqaruvning   soddaligi   va   markazlashgan   tizimni   nazorat   qilish
imkoniyati .
o Resurslarni   taqsimlash   va   konfiguratsiya   o ‘ zgarishlarini   tezda   amalga
oshirish .
 Misollar :   Kubernetes ,   OpenStack ,   Slurm   kabi   tizimlar   markazlashgan
boshqaruvni   ta ' minlaydi .
2.3. 2.  Tarqatilgan boshqaruv (Distributed Management):
 Tavsif:   Tarqatilgan boshqaruvda har bir tugun o‘zining konfiguratsiyasi
va   boshqaruv   tizimiga   ega   bo‘ladi,   lekin   ular   bir-biriga   tarmoq   orqali   bog‘langan
holda   ishlaydi.   Har   bir   tugun   mustaqil   ravishda   boshqariladi,   ammo   umumiy
maqsadga erishish uchun ular o‘zaro ishlaydi.
 Afzalliklari:
o Yuqori   o ‘ lchamda   tizimlar   uchun   mos ,   chunki   har   bir   tugun   o ‘ zini
boshqaradi .
o Skalabilite   oson ,   ya ' ni   yangi   tugunlar   qo ‘ shilganda   tizimni   boshqarish
jarayoni   soddalashadi .
 Misollar:   Apache Mesos, HashiCorp Consul  kabi tarqatilgan boshqaruv
tizimlari. 312.3. 3.  Resurslarni boshqarish (Resource Management):
 Tavsif :   Klasterda   mavjud   resurslarni   samarali   boshqarish   uchun
resurslarni   taqsimlash   va   monitoring   qilish   usullari   qo ‘ llaniladi .   Bu   usulda ,   odatda ,
tugunlar   orasida   bo ‘ linadigan   resurslar   ( masalan ,   xotira ,   protsessor   vaqtining
taqsimlanishi )  o ‘ rnatiladi .
 Afzalliklari:
o Resurslarning samarali taqsimlanishini ta'minlash.
o Resurslardan maksimal darajada foydalanishni imkonini beradi.
 Misollar:  Kubernetes, OpenMPI, Slurm, HTCondor kabi vositalar.
Klaster monitoringi va nazorati uchun vositalar
Klaster   tizimlarining   holatini   nazorat   qilish   va   monitoring   qilish   uchun   bir
nechta   vositalar   mavjud.   Ushbu   vositalar   tizimning   ishlashini   tekshirish,
nosozliklarni aniqlash va samarali ishlashni ta'minlash uchun juda muhimdir.
2.3.4 .  Prometheus:
 Tavsif:   Prometheus   -   bu   ochiq   kodli   tizim   monitoring   va   ogohlantirish
vositasi.   U   resurslarni   to‘plab,   ularni   saqlaydi   va   statistika   yaratadi.   Prometheus
Kubernetes tizimlari uchun juda mos keladi.
 Xususiyatlari:
o Yaxshi   ishlashni   kuzatish   va   ogohlantirish   imkoniyatlari .
o Kengaytirilgan va moslashuvchan monitoring imkoniyatlari.
o O‘rnatish va konfiguratsiya qilish oson.
 Misollar:
o CPU va xotira iste'moli monitoringi.
o Tarmoq trafigi va so‘rovlarni kuzatish. 322. 3.5.   Nagios:
 Tavsif :   Nagios   -   bu   tizim   monitoringi   va   xatoliklarni   aniqlash   uchun
ishlatiladigan   ochiq   kodli   vosita .   U   tizimni,   serverlarni,   tarmoqni   va   ilovalarni
monitoring qilish imkonini beradi.
 Xususiyatlari:
o Kengaytirilgan   monitoring   imkoniyatlari   (serverlar,   tarmoq,   ma'lumot
bazalari).
o Ogohlantirishlar va tizim holatini batafsil ko‘rsatish.
o Plaginlar orqali kengaytirilgan imkoniyatlar.
 Misollar:
o Tizimdagi   holat   o ‘ zgarishlarini   real   vaqt   rejimida   kuzatish .
o Tarmoq va serverlar holatini tekshirish.
2. 3 .6 .  Zabbix:
 Tavsif :   Zabbix   -   bu   tizimlarni   monitoring   qilish   va   ishlash   holatini
kuzatish   uchun   keng   qo ‘ llaniladigan   vosita .   U   ma'lumotlarni   to‘plash   va   tasvirlash
imkoniyatlarini taqdim etadi.
 Xususiyatlari:
o Tarmoq, serverlar, virtualizatsiya va ma'lumot bazalari monitoringi.
o Yaxshi vizualizatsiya va statistika taqdim etadi.
o Ogohlantirish tizimi.
 Misollar:
o Serverlar va tarmoq trafikini real vaqt rejimida kuzatish.
o Xatoliklarni aniqlash va profilaktik choralarni ko‘rish. 332.3.7.   Ganglia:
 Tavsif:   Ganglia   -   bu   yuqori   unumli   hisoblash   (HPC)   tizimlarida
monitoring   uchun   ishlatiladigan   ochiq   kodli   tizim.   U   ko‘p   tugunli   tizimlarni   va
tarmoqni kuzatishga mo‘ljallangan.
 Xususiyatlari:
o Yaxshi tarmoq monitoringi.
o Kengaytiriladigan va turli xil tizimlarga moslashtirilgan.
 Misollar:
o Tarmoq va hisoblash resurslarini kuzatish.
o Resurslardan foydalanishni tekshirish.
Resurslarni taqsimlash va yukni balanslash
Klasterda   resurslarni   samarali   taqsimlash   va   yukni   balanslash   tizimning
samarali   ishlashini   ta'minlash   uchun   muhimdir.   Quyida   bu   jarayonlar   haqida
batafsil ma'lumot berilgan:
2.3.8 .  Resurslarni taqsimlash:
 Tavsif :   Resurslarni   taqsimlash   -   bu   klasterdagi   barcha   tugunlar   va
resurslarni  ( xotira ,  protsessor   va   saqlash )  samarali   taqsimlash   jarayonidir .  Resurslarni
taqsimlashda har bir tugun uchun ma'lum bir resurs cheklovlari belgilanadi.
 Vositalar:
o Slurm :   Resurslarni   boshqarish   va   taqsimlash   uchun   ishlatiladigan   ochiq
kodli   vosita .
o Kubernetes :   Tizimdagi   konteynerlar   uchun   avtomatik   resurs   taqsimlash
imkoniyatini   beradi .
o Mesos :   Resurslarni   taqsimlash   va   boshqarish   uchun   tarqatilgan   tizim . 342. 3.9.   Yukni balanslash (Load Balancing):
 Tavsif :   Yukni   balanslash  -  bu   tizimning   resurslari   orasida   trafik   va   ishlov
berish   ishlarini   taqsimlash   jarayonidir .   Bu   jarayon   klasterda   ortiqcha   yuklanishning
oldini olish uchun muhimdir.
 Turlari:
o Statik balanslash:  Yukni oldindan belgilangan reja asosida taqsimlash.
o Dinamik   balanslash:   Tizim   holatiga   qarab,   yukni   real   vaqt   rejimida
taqsimlash.
 Vositalar:
o HAProxy :   Bu   tizimda   yukni   samarali   taqsimlash   va   balanslash   uchun
ishlatiladigan   vosita .
o NGINX :   Statik   va   dinamik   yukni   balanslash   uchun   keng   qo ‘ llaniladi .
2.4   Amaliy   ish :   Linuxda   oddiy   klaster   sozlash   bo ‘ yicha   amaliy
ko ‘ rsatmalar
1.  Tugunlarni   tayyorlash
Klaster   yaratish   jarayonida   har   bir   tugun   uchun   operatsion   tizim   o ‘ rnatilishi
va   tarmoq   aloqalari   o ‘ rnatilishi   kerak . Quyidagi bosqichlarni bajaring:
2.4 .1  Operatsion tizimni o‘rnatish
 Klasterdagi   har   bir   tugun   uchun   Linux   operatsion   tizimi   o ‘ rnatilishi   kerak
( masalan ,  Ubuntu   Server   yoki   CentOS ,  men   Lubuntudan   foydalandim  ).
 Tizimni   o ‘ rnatganingizdan   so ‘ ng ,   har   bir   tugun   uchun   static   IP -
manzillarni   belgilash   lozim .   Boshqa   tugunlar   bilan   aloqa   qilish   uchun   har   bir
tugunning   IP - manzilini   bilish   muhim . 352.4 .2  Tarmoqni sozlash
 Static   IP :   Klasterdagi   har   bir   tugun   uchun   statik   IP - manzil   sozlamalari
kerak .  Bu ,  ayniqsa ,  tugunlar   o ‘ rtasida   uzluksiz   aloqalarni   ta ' minlash   uchun   zarurdir .
 Hostnames:   Har   bir   tugun   uchun   hostname   sozlamalari   amalga
oshirilishi kerak.  Masalan, tugun1, tugun2 kabi nomlar o‘rnatiladi.
 Hosts   faylini   tahrirlash :   / etc / hosts   faylini   har   bir   tugunda   tahrir   qilib ,
tugunlarning    IP - manzillar   va   nomlarini   belgilash   zarur
2. Tugunlararo aloqalarni o‘rnatish
Klasterda   har   bir   tugun   bir-biri   bilan   tarmoq   orqali   aloqada   bo‘lishi   kerak.
Tugunlar o‘rtasidagi aloqani o‘rnatish uchun quyidagi amallarni bajarish kerak:
2.4.3   SSH (Secure Shell) o‘rnatish
 Har   bir   tugunda   ssh   (Secure   Shell)   xizmatini   o‘rnatish   kerak.
Tugunlararo   aloqalarni   o‘rnatish   uchun   SSH   orqali   bir   tugundan   boshqasiga   ulanish
imkoniyati bo‘lishi  kerak. 362. 4.4   SSH orqali ulanishni sozlash
 Klaster   tugunlari   orasida   oson   va   xavfsiz   ulanishni   ta ' minlash   uchun   SSH
kalitlari   yaratish   va   ularni   o ‘ rnatish   zarur .
 SSH   kalitlari :   Kalit   asosida   autentifikatsiya   qilishni   sozlash   uchun ,
tugun 1  dan   tugun 2  gacha   SSH   kalitini   o ‘ rnatish   kerak :
Bu yordamida tugunlar orasida parolsiz ulanish amalga oshiriladi.
3. Klasterni sozlash (OpenMPI bilan misol)
Klasterda   parallel   hisoblash   uchun   OpenMPI   (Open   Message   Passing
Interface)   kabi   dasturiy   vositalar   o‘rnatilishi   mumkin.   OpenMPI,   klasterdagi   bir 37nechta   tugun   o‘rtasida   ma'lumot   uzatishni   va   hisoblashlarni   parallel   ravishda
amalga oshirish imkoniyatini beradi.
2.4.5  OpenMPI o‘rnatish
OpenMPI - bu tizimlar o‘rtasida xabarlarni uzatish va paralel hisoblashlarni
amalga oshirish uchun foydalaniladigan kutubxona.
2.4.6  OpenMPI yordamida paralel hisoblashni sinovdan o‘tkazish
Yuqoridagi   o‘rnatilgan   OpenMPI   orqali   tugunlar   o‘rtasida   paralel
hisoblashlarni   amalga   oshirish   mumkin.   Buning   uchun,   quyidagi   kabi   oddiy   MPI
dasturini yaratish mumkin. 38  Bu   dastur   har   bir   tugunda   Hello   xabarini   chiqaradi.   Endi,   bu   dastur
OpenMPI orqali barcha tugunlarda parallel ishlaydi.
2.4.9  mpirun orqali klasterimizni ishga tushuramiz
Har   bir   tugun   o‘rtasida   bog’lanish   hosil   bo’ladi,   ya’ni   resurslarni
birlashtiramiz , biz ssh-server va mpi dasturi orqali cpularni birlashtirdik. 39 Xulosa
Mazkur   kurs   ishida   Linux   operatsion   tizimi   asosida   klasterlarni   sozlash   va
boshqarish   jarayonlari   batafsil   yoritildi.   Ish   davomida   klaster   tizimlarining
mohiyati,   turlari,   afzalliklari   va   kamchiliklari   haqida   tushunchalar   keltirilib,
ularning   yuqori   samarali   hisoblash,   ma’lumotlarni   saqlash   va   uzilishlarga
chidamlilikni ta’minlash imkoniyatlari o‘rganildi.
Amaliy   qismda   esa   klaster   yaratish   va   uni   sozlash   jarayonlariga   alohida
e’tibor   qaratildi.   Linux   operatsion   tizimining   ochiq   kodli   vositalari,   jumladan,
OpenMPI,   Kubernetes,   va   Hadoop   kabi   dasturiy   ta’minotlar   yordamida   klasterni
tashkil   qilish   imkoniyatlari   ko‘rsatildi.   SSH   asosida   tugunlararo   xavfsiz   ulanish,
NFS   orqali   umumiy   ma’lumot   almashish   tizimi   va   OpenMPI   yordamida   tugunlar
o‘rtasida parallel hisoblashlar muvaffaqiyatli amalga oshirildi.
Klaster   tizimlarining   samaradorligini   oshirishda   resurslarni   taqsimlash   va
yukni balanslash muhim ahamiyat kasb etadi. Ish davomida Slurm, Prometheus va
HAProxy   kabi   vositalar   yordamida   monitoring   va   boshqaruv   imkoniyatlari   tahlil
qilindi.   Shuningdek,   xavfsizlikni   ta’minlash,   tarmoq   konfiguratsiyasini
optimallashtirish   va   foydalanuvchilar   o‘rtasida   ma’lumot   almashish
mexanizmlarini takomillashtirish bo‘yicha amaliy tavsiyalar ishlab chiqildi. 40Mazkur kurs ishining natijalari Linux asosida klaster yaratish va boshqarish
texnologiyalarini kengroq tushunishga xizmat qiladi hamda turli loyihalarda ushbu
texnologiyalardan   samarali   foydalanish   imkoniyatlarini   ochib   beradi.   Klaster
tizimlarining ochiq kodli vositalarga asoslanganligi ularni arzon, moslashuvchan va
kengaytiriladigan   yechim   sifatida   ishlab   chiqish   imkonini   beradi.   Shu   sababli,
Linux   klasterlari   ilmiy-tadqiqot,   ta’lim,   biznes   va   boshqa   sohalarda   yuqori
samaradorlikka erishishning samarali vositasi hisoblanadi.
Foydalanilgan adabiyotlar
1. Джеймс   Куроуз,   Кит   Росс.   Компьютерные   сети:   Нисходящий   подход .   –   6-е
изд. – Москва: Издательство “Э”, 2016.
2.     Олифер   В.,   Олифер   Н.   Компьютерные   сети.   Принципы,   технологии,
протоколы . – 5-е изд. – СПб.: Питер, 2016. – 992 с.
3. Шаньгин   В.Ф.   Информационная   безопасность   и   защита   информации .   –   2-е
изд. – Саратов: Профобразование, 2019. – 702 с.
4.   Саидерс   Крис.   Анализ   пакетов:   практическое   руководство   по
использованию Wireshark и tcpdump . – 3-е изд. – СПб.: Диалектика, 2019. – 448 с.
5. Сергеев   А.Н.   Основы   локальных   компьютерных   сетей:   Учебное   пособие .   –
СПб.: Издательство «Лань», 2016. – 184 с.
6.   Linux   Documentation   Project.   Linux   Cluster   and   High-Availability   HOWTO .   –
https://tldp.org/HOWTO/Cluster-HOWTO.html
7.   Lubuntu   rasmiy   veb-sayti   –   Lubuntu   distributivini   yuklab   olish,   hujjatlar   va
foydalanuvchi qo‘llanmalari uchun rasmiy manba .
https://lubuntu.me/downloads/ 
8. DigitalOcean Community.  How to Set Up a Load-Balanced High Availability Web
Server   with   Heartbeat   and   Apache   on   Ubuntu .   –
https://www.digitalocean.com/community/tutorials 419. Open   Source   Cluster   Application   Resources   (OSCAR).   –
https://sourceforge.net/projects/oscar/
10. IBM   Knowledge   Center   –   Cluster   Computing   Concepts .   –
https://www.ibm.com/docs/en
11. ChatGPT yordamida qilingan - https://chatgpt.com

MUNDARIJA

Kirish

I-bob.Klasterlashtirishning nazariy asoslari

1.1 Klaster tushunchasi va uning mohiyati

1.2 Klaster tizimlarining turlari

1.3 Klaster tizimlarining arxitekturasi

II-bob. Linux operatsion tizimida klasterlarni sozlash va boshqarish

2.1 Linux operatsion tizimi va klasterlash uchun uning imkoniyatlari

2.2 Klaster yaratish: o‘rnatish va sozlash jarayoni

2.3 Klasterni boshqarish usullari

2.4 Amaliy ish: Linuxda oddiy klaster sozlash bo‘yicha amaliy ko‘rsatmalar

Xulosa

Foydalanilgan adabiyotlar