(DSC) Desired State Configuration nədir?
Ümumi Baxış.
DSC, kodlaşdırma yolu ilə İT infrastrukturunu idarə etməyə və avtomatlaşdırmağa imkan verən bir Windows platformasıdır. Adından bəlli olduğu kimi DSC istənən vəziyyət konfiqurasiyasını daima təmin edilməsidir. DSC nələr edir.
• Faylları və qovluqları idarə edilməsi
• Services və process-lərin run,stop edilməsi
• Registry key-lərin idarə edilməsi
• Yeni proqramların yüklənməsi
• Powershell scriptlərin istifadə olunması
• Desired state –dən kənara çıxan konfiqurasiyaların düzəldilməsi və s.
Daha ətraflı
İşlərin artması , sistemlərdəki problemlərlə bütün günü məşğul olmaq hər inzibatçının arzuladığı bir şey deyil. Daha çox iş , daha qarışıq bir sistem və daha çox server deməkdir. Daha çox vaxt və daha çox əmək deməkdir. Bu məsələlərdə Linux kerneli sistemlər daha uğurlu idi. Windows sistemləri ilə məşğul olan inzibatçılar daha çox əmək sərf etməli idi. Windows server 2012 ilə birlikdə Powershell 4.0 içərisində yer alan Desired State Configuration (DSC) gələnə qədər. DSC sayəsində sistemlər daha rahat idarə edilə biləcək bir şəkilə düşdü. DSC bizə hansı rahatlıqları təmin etdi. Məsələn hazırladığımız Powershell scriptləri ilə hər hansı role-ların texniki hissələri ilə vuruşmaq yerinə “İİS rolunu qur, ASP.Net qur və bu qovluqdakı proqramı run et” deyə bilirik DSC sayəsində. Hətta daha bir addım da önə keçərək “IIS parametri qurulu olmalıdır və web services hər zaman running vəziyyətində olmalıdır. Üzərində X proqramı işləməlidir” deyə bilirik. Bir sözlə DSC serverlərimizdə istədiyimiz vəziyyəti təmin edən bir platformadır. Bu şəkildə avtomatlaşdırılmış sistem sayəsində biz də digər işlərimizlə məşğul ola bilərik. DSC necə işləyir DSC .mof uzantılı bir faylı özündə saxlayır. Bu faylın içində isə Poweshell scriptləri saxlanılır. Sistem bu faylı minimum 15 dəqiqədən bir sistemdəki serverlərlə uyğunluğunu yoxlayır. Əgər öz üzərində göstərilən parametrlər digər client serverlərin parametrləri ilə uyğun gəlmədikdə o parametrləri dəyişərək .MOF faylında göstərilmiş şəklə gətirir.
2 növ metodu mövcuddur
Push metodu Bu metodla powershell sayəsində içində scritplər olan .mof uzantılı bir fayl yaradılır. Bu fayl serverdə saxlanılır. DSC öz üzərində tutduğu bu .mof faylı ilə client serverlərdəki parametrləri tutuşdurur. Əgər uyğunsuzluq olarsa həmin serverdəki o parametri dəyişərək lazım olan vəziyyətə gətirir.
Pull metodu Bu metod isə Web server köməkliyi ilə Client cihazlar daima özlərinə aid olan konfiqurasiyanın olub olmadığını yoxlayaraq daima əlaqədə qalma sistemidir. Qeyd olunan zaman aralığında client cihazlar Web server üzərində özlərinə dair yeni bir MOF konfiqurasiyasının olub olmadığını yoxlayar. Əgər öz üzərindəki MOF faylı ilə uyğunsuzluq olarsa client cihaz o MOF faylını Pull edəcək.
Yəni Push metodu ilə parametrlər avtomatik məcbur dəyişdirilir
Pull metodu ilə client cihazlar özləri dəyişiklik varsa alır
Misal
Mühitimizdə məsəl üçün 5 server var. Bu serverlərin hərəsinin üzərində fərqli role-lar qurmalıyıq və konfiqurasiyalar verməliyik. Deyəlimki DSC yoxdur. Biz hər bir server üçün konfiqurasiyaları qurduq. Zaman keçdikcə nələrisə dəyişdik. Bəzi ayarlarda dəyişikliklər etdik. Bəzilərində nələrisə sildik. Bəzilərində kimsə nəsə etdi nələrsə dəyişdi. Və zaman zaman sistemdə heç bir avtomatlaşdırılma olmadığı üçün qarışıqlıq artdı. Biz də ilk ayarlarımızı təmin etmək üçün çətinlik çəkdik. Bu heç də ürək açan bir durum olmadığı üçün Windows server 2012 ilə birlikdə gələn DSC istıfadə etməmiz işimizi rahatladacaq. Deyəlimki biz hər hansı server üzərində DSC konfiqurasiya etdik. DSC poweshell scriptlərlə icra olunur. Powershell əmrlərini yazdıq o faylın içinə. Və faylı Push etdik. (Push və Pull metodları haqqında aşağıda daha ətraflı yazacağam) Artıq DSC içərisindəki konfiqurasiyaları hər 15 dəqiqədən bir mühitimizdəki serverləri yoxlayacaq. Məsələn deyəlim ki mühitimizdə İİS rolunu qaldırmışıq və Web server işlək vəziyyətdədir. DSC fayl içində isə konfiqurasiya etmişik ki Web services hər zaman running vəziyyətində olmalıdır. Deyəlim ki sistem adminlərdən biri və yaxud web designer-lərdən biri bilmədən və ya təsadüfən o servisi söndürdü. Və yaxud da başqa səbəblərdən o servis dayandı. DSC 15 dəqiqədən bir bu servisi yoxlayır. Əgər sönülü durumdadırsa yenidən servisi running durumuna gətirir və sizin sistemin fəaliyyətinə davam edir. Siz orda olmasanız belə DSC fayl içindəki script ,servislərinizi daima yoxlayacaq. Yəni DSC fayl öz içindəki ayarlarla serverlərinizdəki ayarları tutuşdurur. Əgər uyğunsuzluq varsa onu istəyinizdən asılı olaraq ya dəyişərək istənən duruma gətirir və yaxud da sadəcə monitor edərək xəbər verir. Bu yolla sisteminiz avtomatlaşdırılır və daha çox servislərə və daha çox parametrlərə bu tənzimlənə bilər. Bir də onu nəzərinizə çatdırım ki həmin fayl yalnız siz bildirdiyiniz parametrlərə şamil olunur. Siz eyni serverdə başqa parametrləri dəyişdiyinizdə həmin fayl onlara dəyməyəcək. Yalnız sizin scriptdə yazdığınız parametrlər üzərində icra olunacaq. Əsas avantajlarına gələrərsək:
• Birdən çox avadanlığı avtomatlaşdıraraq system adminlərinizin işini asanlaşdıracaq
• Maşınların müəyyən standart şəklində işləməsini təmin edəcək.
Bir sonrakı məqalədə sistemin qurulmasını izah edəcəyəm..