Böyük bulud sistemlərində hesablama resurslarına yükün avtomatik balanslaşdırılması və ya bərabərləşdirilməsi məsələsi xüsusilə kəskindir. Tionix (bulud xidmətlərinin tərtibatçısı və operatoru, Rostelecom şirkətlər qrupunun bir hissəsi) də bu məsələ ilə məşğul oldu.
Və bizim əsas inkişaf platformamız Openstack olduğundan və biz də bütün insanlar kimi tənbəl olduğumuz üçün platformaya artıq daxil edilmiş hansısa hazır modulu seçmək qərara alındı. Seçimimiz, ehtiyaclarımız üçün istifadə etməyə qərar verdiyimiz Watcher-a düşdü.
Əvvəlcə terminlərə və təriflərə baxaq.
Şərtlər və təriflər
Məqsəd əldə edilməli olan insan tərəfindən oxuna bilən, müşahidə edilə bilən və ölçülə bilən son nəticədir. Hər bir məqsədə çatmaq üçün bir və ya bir neçə strategiya var. Strategiya müəyyən bir məqsəd üçün həll yolu tapmağa qadir olan alqoritmin həyata keçirilməsidir.
Fəaliyyət OpenStack klasterinin hədəf idarə olunan resursunun cari vəziyyətini dəyişdirən elementar tapşırıqdır, məsələn: virtual maşının köçürülməsi (miqrasiya), nodeun güc vəziyyətinin dəyişdirilməsi (change_node_power_state), nova xidmətinin vəziyyətinin dəyişdirilməsi (change_nova_service_state) ), ləzzətin dəyişdirilməsi (ölçünün dəyişdirilməsi), NOP mesajlarının qeydiyyatı (nop), müəyyən müddət ərzində fəaliyyətin olmaması - fasilə (yuxu), diskin ötürülməsi (həcmi_miqrasiya).
Hərəkət planı - müəyyən bir məqsədə çatmaq üçün müəyyən bir ardıcıllıqla həyata keçirilən xüsusi hərəkətlər axını. Fəaliyyət Planı həmçinin bir sıra performans göstəriciləri ilə ölçülmüş qlobal performansı ehtiva edir. Müvəffəqiyyətli auditdən sonra Watcher tərəfindən fəaliyyət planı yaradılır, bunun nəticəsində istifadə olunan strategiya məqsədə çatmaq üçün bir həll tapır. Fəaliyyət planı ardıcıl hərəkətlərin siyahısından ibarətdir.
Audit klasterin optimallaşdırılması tələbidir. Optimallaşdırma müəyyən bir çoxluqda bir Məqsəd əldə etmək üçün həyata keçirilir. Hər bir uğurlu audit üçün Watcher Fəaliyyət Planı yaradır.
Auditin əhatə dairəsi auditin həyata keçirildiyi resurslar toplusudur (əlçatanlıq zonası(ları), qovşaq aqreqatorları, fərdi hesablama qovşaqları və ya saxlama qovşaqları və s.). Auditin əhatə dairəsi hər bir şablonda müəyyən edilmişdir. Əgər auditin əhatə dairəsi göstərilməyibsə, bütün klaster yoxlanılır.
Audit Şablonu — auditin başlanması üçün saxlanmış parametrlər dəsti. Şablonlar eyni parametrlərlə bir neçə dəfə yoxlamalar aparmaq üçün lazımdır. Şablon mütləq auditin məqsədini əks etdirməlidir, əgər strategiyalar göstərilmirsə, o zaman ən uyğun mövcud strategiyalar seçilir;
Klaster hesablama, saxlama və şəbəkə resurslarını təmin edən və eyni OpenStack idarəetmə qovşağı tərəfindən idarə olunan fiziki maşınlar toplusudur.
Klaster Data Modeli (CDM) klaster tərəfindən idarə olunan resursların cari vəziyyətinin və topologiyasının məntiqi təsviridir.
Səmərəlilik Göstəricisi - bu strategiyadan istifadə etməklə yaradılmış həllin necə yerinə yetirildiyini göstərən göstərici. Performans göstəriciləri müəyyən bir məqsədə xasdır və bir qayda olaraq nəticələnən fəaliyyət planının qlobal effektivliyini hesablamaq üçün istifadə olunur.
Effektivlik Spesifikasiyası müvafiq Məqsədlərə nail olmaq üçün strategiyanın öz həllində nail olmalı olduğu müxtəlif fəaliyyət göstəricilərini müəyyən edən hər bir Məqsədlə əlaqəli spesifik xüsusiyyətlər toplusudur. Həqiqətən də, strategiya tərəfindən təklif olunan hər bir həll onun qlobal effektivliyini hesablamazdan əvvəl spesifikasiyaya uyğun olaraq yoxlanılacaq.
Qiymətləndirmə Mühərriki dəqiq müəyyən edilmiş girişlərə, dəqiq müəyyən edilmiş çıxışlara malik olan və sırf riyazi tapşırığı yerinə yetirən icra edilə bilən fayldır. Beləliklə, hesablama aparıldığı mühitdən asılı deyil - hər yerdə eyni nəticəni verəcəkdir.
Gözətçi Planlayıcısı - Watcher qərar vermə mühərrikinin bir hissəsi. Bu modul bir strategiya tərəfindən yaradılan tədbirlər toplusunu qəbul edir və bu müxtəlif hərəkətlərin vaxtında necə planlaşdırılacağını və hər bir fəaliyyət üçün ilkin şərtlərin nə olduğunu müəyyən edən iş axını planı yaradır.
Müşahidəçinin Məqsədləri və Strategiyaları
Məqsəd
strategiya
Saxta məqsəd
Dummy Strategiya
Nümunə Qiymətləndirmə Mühərriklərindən istifadə edərək Dummy Strategiya
Ölçü dəyişdirmə ilə saxta strategiya
Saving Energy
Enerjiyə qənaət strategiyası
Server Konsolidasiyası
Əsas Offline Server Konsolidasiyası
VM İş Yükü Konsolidasiyası Strategiyası
İş yükünün balanslaşdırılması
İş Yükü Balans Miqrasiya Strategiyası
Saxlama Tutumu Balans Strategiyası
İş yükünün sabitləşməsi
Səs-küylü qonşu
Səs-küylü qonşu
Termal optimallaşdırma
Çıxış temperaturuna əsaslanan strategiya
Hava axını optimallaşdırması
Vahid hava axını miqrasiya strategiyası
Avadanlıqlara qulluq
Zona miqrasiyası
Unclassified
Aktuatör
Saxta məqsəd — sınaq məqsədləri üçün istifadə edilən qorunan məqsəd.
Əlaqədar strategiyalar: Dummy Strategiya, Nümunə Qiymətləndirmə Mühərriklərindən istifadə edərək Dummy Strategiya və Ölçü dəyişdirmə ilə Dummy strategiyası. Dummy strategiyası Tempest vasitəsilə inteqrasiya testi üçün istifadə edilən dummy strategiyadır. Bu strategiya heç bir faydalı optimallaşdırma təmin etmir, onun yeganə məqsədi Tempest testlərindən istifadə etməkdir.
Nümunə Qiymətləndirmə Mühərriklərindən istifadə edərək saxta strategiya - strategiya əvvəlkinə bənzəyir, yeganə fərq maşın öyrənmə metodlarından istifadə edərək hesablamalar aparan nümunə "qol mühərrikinin" istifadəsidir.
Ölçü dəyişdirmə ilə dummy strategiya - strategiya əvvəlkinə bənzəyir, yeganə fərq ləzzət dəyişdirilməsinin istifadəsidir (miqrasiya və ölçüsünü dəyişmə).
İstehsalda istifadə olunmur.
Saving Energy — enerji istehlakını minimuma endirmək. Bu məqsədin Enerjiyə Qənaət Strategiyası, VM İş Yükünün Konsolidasiyası Strategiyası (Server Konsolidasiyası) ilə birlikdə, hətta aşağı resurs istifadəsi dövrlərində də iş yüklərini dinamik şəkildə birləşdirərək enerjiyə qənaət edən dinamik enerji idarəetməsi (DPM) xüsusiyyətlərinə qadirdir: virtual maşınlar daha az qovşaqlara köçürülür. , və lazımsız qovşaqlar deaktiv edilir. Konsolidasiyadan sonra strategiya müəyyən edilmiş parametrlərə uyğun olaraq qovşaqların yandırılması/söndürülməsi barədə qərar təklif edir: “min_free_hosts_num” - yüklənməni gözləyən pulsuz aktivləşdirilmiş qovşaqların sayı və “free_used_faiz” - pulsuz aktivləşdirilmiş hostların maşınların tutduğu qovşaqların sayı. Strategiyanın işləməsi üçün orada olmalıdır qovşaqlarda enerji dövriyyəsini idarə etmək üçün Ironic-i aktivləşdirdi və konfiqurasiya etdi.
Strategiya parametrləri
parametr
Tipi
default olaraq
описание
pulsuz_istifadə edilmiş_faiz
Nömrə
10.0
pulsuz hesablama qovşaqlarının sayının virtual maşınlarla hesablama qovşaqlarının sayına nisbəti
min_free_hosts_num
Int
1
pulsuz hesablama qovşaqlarının minimum sayı
Buludda ən azı iki qovşaq olmalıdır. İstifadə olunan üsul qovşağın güc vəziyyətinin dəyişdirilməsidir (change_node_power_state). Strategiya ölçüləri toplamaq tələb etmir.
Server Konsolidasiyası - hesablama qovşaqlarının sayını minimuma endirmək (konsolidasiya). Onun iki strategiyası var: Əsas Oflayn Server Konsolidasiyası və VM İş Yükünün Konsolidasiyası Strategiyası.
Əsas Oflayn Server Konsolidasiyası strategiyası istifadə olunan serverlərin ümumi sayını minimuma endirir və həmçinin köçlərin sayını minimuma endirir.
Əsas strategiya aşağıdakı göstəriciləri tələb edir:
ölçülər
xidmət
plaginlər
şərh
hesablama.node.cpu.faiz
heç kim
cpu_util
heç kim
Strategiya parametrləri: migration_attempts - bağlanmağa potensial namizədləri axtarmaq üçün birləşmələrin sayı (defolt, 0, məhdudiyyət yoxdur), dövr - metrik məlumat mənbəyindən statik toplama əldə etmək üçün saniyələrlə vaxt intervalı (defolt, 700).
İstifadə olunan üsullar: miqrasiya, nova xidmət vəziyyətinin dəyişdirilməsi (change_nova_service_state).
VM İş Yükünün Konsolidasiyası Strategiyası ölçülən CPU yükünə diqqət yetirən və resurs tutumunun məhdudiyyətləri nəzərə alınmaqla çox və ya çox az yükü olan qovşaqları minimuma endirməyə çalışan ilk uyğun evristikaya əsaslanır. Bu strategiya aşağıdakı dörd addımdan istifadə etməklə klaster resurslarından daha səmərəli istifadə ilə nəticələnən həll yolu təqdim edir:
- Boşaltma mərhələsi - həddindən artıq istifadə edilmiş resursların emalı;
- Konsolidasiya mərhələsi - az istifadə olunan resursların idarə edilməsi;
- Həllin optimallaşdırılması - miqrasiyaların sayının azaldılması;
- İstifadə edilməmiş hesablama qovşaqlarının deaktiv edilməsi.
Strategiya aşağıdakı göstəriciləri tələb edir:
ölçülər
xidmət
plaginlər
şərh
yaddaş
heç kim
disk.root.size
heç kim
Aşağıdakı ölçülər isteğe bağlıdır, lakin mövcud olduqda strategiyanın dəqiqliyini artıracaq:
ölçülər
xidmət
plaginlər
şərh
yaddaş.rezident
heç kim
cpu_util
heç kim
Strategiya parametrləri: dövr — metrik məlumat mənbəyindən statik aqreqasiya əldə etmək üçün saniyələrlə vaxt intervalı (defolt, 3600).
Əvvəlki strategiya ilə eyni üsullardan istifadə edir. Daha ətraflı .
İş yükünün balanslaşdırılması — hesablama qovşaqları arasında iş yükünün tarazlaşdırılması. Məqsədin üç strategiyası var: İş Yükü Balans Miqrasiya Strategiyası, İş Yükünün Sabitləşdirilməsi, Saxlama Tutumunun Balans Strategiyası.
İş Yükü Balansının Miqrasiya Strategiyası host virtual maşının iş yükü əsasında virtual maşın köçürmələrini həyata keçirir. Bir qovşağın % CPU və ya RAM istifadəsi müəyyən edilmiş həddi keçdikdə miqrasiya qərarı verilir. Bu halda, köçürülmüş virtual maşın qovşağı bütün qovşaqların orta iş yükünə yaxınlaşdırmalıdır.
Tələblər
- Fiziki prosessorların istifadəsi;
- Ən azı iki fiziki hesablama qovşağı;
- Ceilometer komponenti - hər hesablama qovşağında işləyən ceilometer-agent-hesablama və Ceilometer API-i quraşdırılıb və konfiqurasiya edilib, həmçinin aşağıdakı ölçülər toplanıb:
ölçülər
xidmət
plaginlər
şərh
cpu_util
heç kim
yaddaş.rezident
heç kim
Strategiya parametrləri:
parametr
Tipi
default olaraq
описание
ölçümlerini
Sim
'cpu_util'
Əsas göstəricilər bunlardır: 'cpu_util', 'memory.resident'.
eşik
Nömrə
25.0
Miqrasiya üçün iş yükü həddi.
dövr
Nömrə
300
Kumulyativ vaxt periyodu Ceilometer.
İstifadə olunan üsul miqrasiyadır.
İş yükünün sabitləşdirilməsi canlı miqrasiyadan istifadə edərək iş yükünü sabitləşdirməyə yönəlmiş strategiyadır. Strategiya standart sapma alqoritminə əsaslanır və klasterdə sıxlığın olub-olmadığını müəyyən edir və klasteri sabitləşdirmək üçün maşın miqrasiyasını işə salmaqla buna cavab verir.
Tələblər
- Fiziki prosessorların istifadəsi;
- Ən azı iki fiziki hesablama qovşağı;
- Ceilometer komponenti - hər hesablama qovşağında işləyən ceilometer-agent-hesablama və Ceilometer API-i quraşdırılıb və konfiqurasiya edilib, həmçinin aşağıdakı ölçülər toplanıb:
ölçülər
xidmət
plaginlər
şərh
cpu_util
heç kim
yaddaş.rezident
heç kim
Storage Capacity Balance Strategy (Storage Capacity Balance Strategy (strategiya Queens-dən başlayaraq həyata keçirilir)) - strategiya Cinder hovuzlarındakı yükdən asılı olaraq diskləri köçürür. Hovuzdan istifadə dərəcəsi müəyyən edilmiş həddi aşdıqda köçürmə qərarı verilir. Köçürülən disk hovuzu bütün Cinder hovuzlarının orta yükünə yaxınlaşdırmalıdır.
Tələblər və məhdudiyyətlər
- Minimum iki Cinder hovuzu;
- Disk köçürmə imkanı.
- Cluster data model - Cinder cluster data model kollektor.
Strategiya parametrləri:
parametr
Tipi
default olaraq
описание
həcm_ərəfəsi
Nömrə
80.0
Həcmləri balanslaşdırmaq üçün disklərin həddi dəyəri.
İstifadə olunan üsul disk köçürməsidir (həcmi_miqrasiya).
Səs-küylü Qonşu - Son Səviyyə Keşindən həddindən artıq istifadə etməklə IPC baxımından yüksək prioritetli virtual maşının işinə mənfi təsir göstərən aşağı prioritetli virtual maşın olan "səs-küylü qonşu"nu müəyyən edin və köçürün. Öz strategiyası: Səs-küylü Qonşu (istifadə olunan strategiya parametri cache_threshold-dur (defolt dəyər 35-dir), performans müəyyən edilmiş dəyərə düşəndə miqrasiya başlayır. Strategiyanın işləməsi üçün aktivləşdirilib. MMC (Son Səviyyə Keş) ölçüləri, CMT dəstəyi ilə ən son Intel serveri, həmçinin aşağıdakı göstəriciləri toplamaq:
ölçülər
xidmət
plaginlər
şərh
cpu_l3_cache
heç kim
Intel tələb olunur .
Klaster məlumat modeli (defolt): Nova klaster məlumat modeli toplayıcısı. İstifadə olunan üsul miqrasiyadır.
Dashboard vasitəsilə bu məqsədlə işləmək Queens-də tam həyata keçirilmir.
Termal optimallaşdırma — temperatur rejimini optimallaşdırın. Çıxış (işlənmiş hava) temperaturu serverin istilik/iş yükü vəziyyətini ölçmək üçün vacib termal telemetriya sistemlərindən biridir. Hədəfin bir strategiyası var, mənbə hostlarının çıxış temperaturu konfiqurasiya edilə bilən həddə çatdıqda iş yüklərini termal cəhətdən əlverişli hostlara (ən aşağı çıxış temperaturu) köçürməyə qərar verən Çıxış temperaturuna əsaslanan strategiya.
Strategiyanın işləməsi üçün sizə quraşdırılmış və konfiqurasiya edilmiş Intel Power Node Manager ilə server lazımdır , həmçinin aşağıdakı göstəriciləri toplamaq:
ölçülər
xidmət
plaginlər
şərh
hardware.ipmi.node.outlet_temperature
IPMI
Strategiya parametrləri:
parametr
Tipi
default olaraq
описание
eşik
Nömrə
35.0
Miqrasiya üçün temperatur həddi.
dövr
Nömrə
30
Metrik məlumat mənbəyindən statistik toplama əldə etmək üçün saniyələrlə vaxt intervalı.
İstifadə olunan üsul miqrasiyadır.
Hava axını optimallaşdırması — ventilyasiya rejimini optimallaşdırın. Öz strategiyası - Canlı miqrasiyadan istifadə edərək vahid hava axını. Server fanatından gələn hava axını müəyyən edilmiş həddi keçdikdə strategiya virtual maşın miqrasiyasını işə salır.
Strategiyanın işləməsi üçün sizə lazımdır:
- Avadanlıq: hesablama qovşaqları < NodeManager 3.0-ı dəstəkləyir;
- Ən azı iki hesablama qovşağı;
- Ceilometer-agent-comput və Ceilometer API komponenti hər bir hesablama qovşağında quraşdırılmış və konfiqurasiya edilmiş, hava axını, sistem gücü, giriş temperaturu kimi göstəriciləri uğurla hesabat verə bilər:
ölçülər
xidmət
plaginlər
şərh
hardware.ipmi.node.hava axını
IPMI
hardware.ipmi.node.temperature
IPMI
hardware.ipmi.node.power
IPMI
Strategiyanın işləməsi üçün sizə Intel Power Node Manager 3.0 və ya daha sonra quraşdırılmış və konfiqurasiya edilmiş server lazımdır.
Məhdudiyyətlər: Konsepsiya istehsal üçün nəzərdə tutulmayıb.
Bu alqoritmin davamlı auditlərlə istifadəsi təklif olunur, çünki hər iterasiya üçün yalnız bir virtual maşının köçürülməsi planlaşdırılır.
Canlı köçlər mümkündür.
Strategiya parametrləri:
parametr
Tipi
default olaraq
описание
eşik_hava axını
Nömrə
400.0
Miqrasiya Vahidi üçün hava axını həddi 0.1CFM-dir
eşik_giriş_t
Nömrə
28.0
Miqrasiya qərarı üçün giriş temperaturu həddi
eşik_gücü
Nömrə
350.0
Miqrasiya qərarı üçün sistemin güc həddi
dövr
Nömrə
30
Metrik məlumat mənbəyindən statistik toplama əldə etmək üçün saniyələrlə vaxt intervalı.
İstifadə olunan üsul miqrasiyadır.
Avadanlıq Xidməti — avadanlıqlara texniki qulluq. Bu məqsədlə bağlı strategiya Zona miqrasiyasıdır. Strategiya, hardware təmirinə ehtiyac olduqda virtual maşınların və disklərin effektiv avtomatik və minimal miqrasiyası üçün bir vasitədir. Strategiya çəkilərə uyğun olaraq fəaliyyət planı qurur: daha çox çəkisi olan hərəkətlər toplusu başqalarından əvvəl planlaşdırılacaqdır. İki konfiqurasiya variantı var: action_weights və paralelləşdirmə.
Məhdudiyyətlər: hərəkət çəkiləri və paralelləşdirmə konfiqurasiya edilməlidir.
Strategiya parametrləri:
parametr
Tipi
default olaraq
описание
hesablama_qovşaqları
array
heç kim
Miqrasiya üçün qovşaqları hesablayın.
saxlama_hovuzları
array
heç kim
Miqrasiya üçün saxlama qovşaqları.
paralel_cəmi
tam
6
Paralel olaraq yerinə yetirilməli olan fəaliyyətlərin ümumi sayı.
paralel_hər_düyün
tam
2
Hər bir hesablama qovşağı üçün paralel olaraq yerinə yetirilən hərəkətlərin sayı.
paralel_hovuz başına
tam
2
Hər bir saxlama hovuzu üçün paralel olaraq yerinə yetirilən hərəkətlərin sayı.
prioritet
obyekt
heç kim
Virtual maşınlar və disklər üçün prioritetlər siyahısı.
əlavə edilmiş_həcmi ilə
boolean
Saxta
Yanlış — bütün disklər köçürüldükdən sonra virtual maşınlar köçürüləcək. Doğrudur - bütün bağlı disklər köçürüldükdən sonra virtual maşınlar köçürüləcək.
Hesablama qovşaqları massivinin elementləri:
parametr
Tipi
default olaraq
описание
src_node
sim
heç kim
Virtual maşınların köçürüldüyü hesablama qovşağı (tələb olunur).
dst_node
sim
heç kim
Virtual maşınların köçdüyü qovşağı hesablayın.
Saxlama node massiv elementləri:
parametr
Tipi
default olaraq
описание
src_pool
sim
heç kim
Disklərin köçürüldüyü yaddaş hovuzu (tələb olunur).
dst_pool
sim
heç kim
Disklərin köçürüldüyü yaddaş hovuzu.
src_type
sim
heç kim
Orijinal disk növü (tələb olunur).
dst_type
sim
heç kim
Nəticədə disk növü (tələb olunur).
Obyektin prioritet elementləri:
parametr
Tipi
default olaraq
описание
layihə
array
heç kim
Layihə adları.
hesablama_qovşağı
array
heç kim
Düyün adlarını hesablayın.
saxlama_hovuzu
array
heç kim
Saxlama hovuzunun adları.
hesablamaq
saymaq
heç kim
Virtual maşın parametrləri [“vcpu_num”, “mem_size”, “disk_size”, “created_at”].
saxlama
saymaq
heç kim
Disk parametrləri [“ölçüsü”, “yaratılmış_at”].
İstifadə olunan üsullar virtual maşın miqrasiyası, disk miqrasiyasıdır.
Unclassified - strategiyanın hazırlanması prosesini asanlaşdırmaq üçün istifadə olunan köməkçi məqsəd. Heç bir spesifikasiya ehtiva etmir və strategiya hələ mövcud məqsədlə əlaqəli olmadıqda istifadə edilə bilər. Bu məqsəd həm də keçid nöqtəsi kimi istifadə edilə bilər. Bu məqsədlə əlaqəli strategiya Aktuatordur.
Yeni məqsəd yaratmaq
Gözətçi Qərar Mühərriki strategiyadan istifadə etməklə əldə edilə bilən xarici məqsədi inteqrasiya etməyə imkan verən “xarici məqsəd” plagin interfeysinə malikdir.
Yeni bir məqsəd yaratmazdan əvvəl, heç bir mövcud hədəfin ehtiyaclarınıza cavab vermədiyinə əmin olmalısınız.
Yeni plagin yaradılması
Yeni hədəf yaratmaq üçün aşağıdakıları etməlisiniz: hədəf sinfini genişləndirmək, sinif metodunu həyata keçirmək get_name() yaratmaq istədiyiniz yeni hədəfin unikal identifikatorunu qaytarmaq üçün. Bu unikal identifikator sonra bəyan etdiyiniz giriş nöqtəsinin adına uyğun olmalıdır.
Sonra sinif metodunu tətbiq etməlisiniz get_display_name() yaratmaq istədiyiniz hədəfin tərcümə edilmiş ekran adını qaytarmaq üçün (tərcümə edilmiş sətri qaytarmaq üçün dəyişəndən istifadə etməyin ki, o, tərcümə aləti tərəfindən avtomatik toplana bilsin.).
Sinif metodunu həyata keçirin get_translatable_display_name()yeni hədəfinizin tərcümə açarını (əslində ingilis dilində görünən adı) qaytarmaq üçün. Qaytarılan dəyər get_display_name()-ə tərcümə edilmiş sətirlə uyğun olmalıdır.
Onun metodunu həyata keçirin get_efficacy_specification()hədəfiniz üçün səmərəlilik spesifikasiyasını qaytarmaq üçün. get_efficacy_specification() metodu Watcher tərəfindən təqdim edilən Unclassified() instansiyasını qaytarır. Bu performans spesifikasiyası hədəfinizin inkişaf etdirilməsi prosesində faydalıdır, çünki o, boş spesifikasiyaya uyğundur.
→
İzləyici arxitekturası (daha ətraflı) ).

Components

İzləyici API - Watcher tərəfindən təmin edilən REST API tətbiq edən komponent. Qarşılıqlı əlaqə mexanizmləri: CLI, Horizon plagini, Python SDK.
Gözətçi DB - İzləyici verilənlər bazası.
İzləyici Tətbiqçisi — Watcher Decision Engine komponenti tərəfindən yaradılmış fəaliyyət planının icrasını həyata keçirən komponent.
Gözətçi Qərar Mühərriki - Audit məqsədinə çatmaq üçün potensial optimallaşdırma tədbirləri toplusunun hesablanmasına cavabdeh olan komponent. Strategiya müəyyən edilmədikdə, komponent müstəqil olaraq ən uyğun olanı seçir.
Watcher Metrics Publisher - Bəzi ölçüləri və ya hadisələri toplayan və hesablayan və onları CEP son nöqtəsində dərc edən komponent. Komponentin funksionallığı Ceilometer nəşriyyatı tərəfindən də təmin edilə bilər.
Kompleks Hadisə Emalı (CEP) Mühərriki — hadisələrin mürəkkəb işlənməsi üçün mühərrik. Performans səbəblərinə görə, hər biri spesifik metrik/hadisə növünü emal edən bir neçə CEP Mühərrik nümunəsi eyni vaxtda işləyə bilər. Watcher sistemində CEP iki növ hərəkətə səbəb olur: - müvafiq hadisələri/ölçmələri zaman seriyası verilənlər bazasında qeyd edin; - Openstack klasteri statik sistem olmadığına görə, bu hadisə cari optimallaşdırma strategiyasının nəticəsinə təsir edə bildikdə müvafiq hadisələri Watcher Decision Engine-ə göndərin.
Komponentlər AMQP protokolundan istifadə edərək qarşılıqlı əlaqə qurur.
→
Watcher ilə qarşılıqlı əlaqə sxemi

Gözətçi testinin nəticələri
- Optimallaşdırma - Fəaliyyət planları 500 səhifəsində (həm təmiz Queens-də, həm də Tionix modulları olan stenddə) o, yalnız audit işə salındıqdan və boş bir fəaliyyət planı yaradıldıqdan sonra görünür;
- Fəaliyyət təfərrüatları sekmesinde səhvlər var, audit məqsədi və strategiyasını əldə etmək mümkün deyil (həm təmiz Queens-də, həm də Tionix modulları olan stenddə).
- Dummy (test) məqsədi ilə yoxlamalar normal qaydada yaradılır və işə salınır, fəaliyyət planları hazırlanır.
- Təsnifat edilməmiş məqsəd üçün yoxlamalar yaradılmır, çünki məqsəd funksional deyil və yeni strategiyalar yaradan zaman aralıq konfiqurasiya üçün nəzərdə tutulub.
- İş yükünün balanslaşdırılması (Storage Capacity balans strategiyası) məqsədilə auditlər uğurla yaradılır, lakin fəaliyyət planı yaradılmır. Saxlama hovuzunun optimallaşdırılması tələb olunmur.
- İş Yükünün Balanslaşdırılması məqsədi (İş Yükü Balansının Miqrasiya Strategiyası) üçün auditlər uğurla yaradılır, lakin fəaliyyət planı yaradılmır.
- İş Yükünün Balanslaşdırılması (İş Yükünün Sabitləşdirilməsi Strategiyası) üçün yoxlamalar uğursuz oldu.
- Səs-küylü Qonşu hədəfi üçün auditlər uğurla yaradılır, lakin fəaliyyət planı yaradılmır.
- Avadanlıqlara texniki qulluq məqsədi ilə yoxlamalar uğurla yaradılır, fəaliyyət planı tam həcmdə yaradılmır (performans göstəriciləri yaradılır, lakin tədbirlərin siyahısı yaradılmır).
- Hesablama və nəzarət qovşaqlarında nova.conf konfiqurasiyalarında (standart bölmədə compute_monitors = cpu.virt_driver) düzəlişlər səhvləri düzəltmir.
- Server Konsolidasiyasını (Əsas strategiya) hədəfləyən auditlər də uğursuz olur.
- Server Konsolidasiyası (VM iş yükünün konsolidasiyası strategiyası) məqsədi ilə yoxlamalar xəta ilə uğursuz olur. Qeydlərdə mənbə məlumatlarının əldə edilməsində xəta var. Xüsusilə səhvin müzakirəsi .
Konfiqurasiya faylında Watcher-i göstərməyə çalışdıq (kömək etmədi - bütün Optimallaşdırma səhifələrində xəta ilə nəticələndi; orijinal konfiqurasiya faylının məzmununa qayıtmaq vəziyyəti düzəltmir):[watcher_strategies.basic]
datasource = seilometer, gnocchi - Enerjiyə qənaət üçün yoxlamalar uğursuzdur. Günlüklərə görə, problem hələ də Ironic-in olmamasıdır, baremetal xidməti olmadan işləməyəcək;
- Termal optimallaşdırma üçün yoxlamalar uğursuz oldu. Geri izləmə Server Konsolidasiyası (VM iş yükünün konsolidasiyası strategiyası) ilə eynidir (mənbə məlumat xətası)
- Hava axınının optimallaşdırılması üçün yoxlamalar xəta ilə uğursuz olur.
Aşağıdakı auditin tamamlanması xətalarına da rast gəlinir. Relation-engine.log jurnallarında izləmə (klaster vəziyyəti müəyyən edilməyib).
→ Xətanın müzakirəsi
Nəticə
İki aylıq araşdırmamızın nəticəsi birmənalı nəticəyə gəldi ki, tam hüquqlu, işləyən yük balansı sistemi əldə etmək üçün bu hissədə Openstack platforması üçün alətlərin təkmilləşdirilməsi üzərində yaxından işləməli olacağıq.
Watcher böyük potensiala malik ciddi və sürətlə inkişaf edən bir məhsul olduğunu sübut etdi, onun tam istifadəsi çox ciddi iş tələb edəcəkdir.
Ancaq bu barədə daha çox seriyanın növbəti məqalələrində.
Mənbə: www.habr.com
