Π oxirgi maqola biz Watcher-dan foydalanishga urinishlarimiz haqida gaplashdik va sinov hisobotini taqdim etdik. Biz vaqti-vaqti bilan yirik korxona yoki operator bulutining muvozanatlash va boshqa muhim funktsiyalari uchun bunday sinovlarni o'tkazamiz.
Muammoni hal qilishning yuqori murakkabligi loyihamizni tavsiflash uchun bir nechta maqolalarni talab qilishi mumkin. Bugun biz bulutdagi virtual mashinalarni muvozanatlashga bag'ishlangan seriyadagi ikkinchi maqolani nashr etmoqdamiz.
Ba'zi terminologiya
VmWare kompaniyasi o'zlari ishlab chiqqan va taklif qilgan virtualizatsiya muhiti yukini muvozanatlash uchun DRS (Distributed Resource Scheduler) yordam dasturini taqdim etdi.
U yozgan searchvmware.techtarget.com/definition/VMware-DRS βVMware DRS (Distributed Resource Scheduler) β virtual muhitda mavjud resurslar bilan hisoblash yuklarini muvozanatlashtiradigan yordamchi dastur. Yordamchi dastur VMware Infrastructure deb nomlangan virtualizatsiya to'plamining bir qismidir.
VMware DRS yordamida foydalanuvchilar virtual mashinalar (VM) o'rtasida jismoniy resurslarni taqsimlash qoidalarini belgilaydilar. Yordamchi dastur qo'lda yoki avtomatik boshqarish uchun sozlanishi mumkin. VMware resurs pullarini osongina qo'shish, olib tashlash yoki qayta tashkil qilish mumkin. Agar so'ralsa, resurs hovuzlari turli biznes bo'linmalari o'rtasida ajratilishi mumkin. Agar bir yoki bir nechta virtual mashinalardagi ish yuki keskin o'zgarsa, VMware DRS virtual mashinalarni jismoniy serverlar bo'ylab qayta taqsimlaydi. Agar umumiy ish yuki kamaysa, ba'zi jismoniy serverlar vaqtincha oflayn rejimga o'tkazilishi va ish yuki birlashtirilishi mumkin."
Nima uchun muvozanat kerak?
Bizning fikrimizcha, DRS bulutli xususiyatga ega bo'lishi kerak, ammo bu DRS har doim va hamma joyda ishlatilishi kerak degani emas. Bulutning maqsadi va ehtiyojlariga qarab, DRS va muvozanatlash usullari uchun turli talablar bo'lishi mumkin. Balanslash umuman kerak bo'lmagan holatlar bo'lishi mumkin. Yoki hatto zararli.
DRS qayerda va qaysi mijozlar uchun kerakligini yaxshiroq tushunish uchun ularning maqsad va vazifalarini ko'rib chiqaylik. Bulutlar umumiy va shaxsiyga bo'linishi mumkin. Mana bu bulutlar va mijozlar maqsadlari o'rtasidagi asosiy farqlar.
Shaxsiy bulutlar / Katta korporativ mijozlar
Umumiy bulutlar / O'rta va kichik biznes, odamlar
Operatorning asosiy mezoni va maqsadlari
Ishonchli xizmat yoki mahsulotni taqdim etish
Raqobatbardosh bozorda kurashda xizmatlar narxini pasaytirish
Xizmat talablari
Barcha darajalarda va barcha tizim elementlarida ishonchlilik
Kafolatlangan ishlash
Virtual mashinalarni bir nechta toifalarga ajrating
Axborot va jismoniy ma'lumotlar xavfsizligi
SLA va XNUMX/XNUMX qo'llab-quvvatlash
Xizmatni olishning maksimal qulayligi
Nisbatan oddiy xizmatlar
Ma'lumotlar uchun javobgarlik mijozga yuklanadi
VM ustuvorligi talab qilinmaydi
Standart xizmatlar darajasida axborot xavfsizligi, mijozning javobgarligi
Xatolar bo'lishi mumkin
SLA yo'q, sifat kafolatlanmagan
Elektron pochta orqali yordam
Zaxiralash shart emas
Mijoz xususiyatlari
Ilovalarning juda keng doirasi.
Kompaniyada meros bo'lib qolgan eski ilovalar.
Har bir mijoz uchun murakkab maxsus arxitektura.
Aloqa qoidalari.
Dasturiy ta'minot 7x24 rejimida to'xtamasdan ishlaydi.
VM-larni bulutda o'zboshimchalik bilan taqsimlash imkonini beradi
Mijozning zaxira nusxasi
Ko'p sonli mijozlar bilan bashorat qilinadigan o'rtacha statistik yuk.
Arxitekturaga ta'siri
Geoklasterlash
Markazlashtirilgan yoki taqsimlangan saqlash
Zaxiralangan IBS
Hisoblash tugunlarida mahalliy ma'lumotlarni saqlash
Maqsadlarni muvozanatlash
Bir tekis yuk taqsimoti
Ilovaning maksimal sezgirligi
Balanslash uchun minimal kechikish vaqti
Faqat aniq kerak bo'lganda muvozanatlash
Profilaktik ta'mirlash uchun ba'zi jihozlarni olib kelish
Xizmat va operator xarajatlarini kamaytirish
Kam yuklanganda ba'zi resurslarni o'chirib qo'yish
Energiyani tejash
Xodimlar xarajatlarini kamaytirish
Biz o'zimiz uchun quyidagi xulosalar chiqaramiz:
Shaxsiy bulutlar uchunYirik korporativ mijozlarga taqdim etilgan DRS quyidagi cheklovlarni hisobga olgan holda ishlatilishi mumkin:
balanslashda axborot xavfsizligi va yaqinlik qoidalarini hisobga olish;
avariya yuz berganda zaxirada yetarli resurslar mavjudligi;
virtual mashina ma'lumotlari markazlashtirilgan yoki taqsimlangan saqlash tizimida joylashgan;
vaqt o'tishi bilan hayratlanarli boshqaruv, zaxiralash va muvozanatlash tartib-qoidalari;
faqat mijoz xostlar yig'indisida balanslash;
faqat kuchli nomutanosiblik mavjud bo'lganda muvozanatlash, eng samarali va xavfsiz VM migratsiyalari (axir, migratsiya muvaffaqiyatsiz bo'lishi mumkin);
nisbatan "sokin" virtual mashinalarni muvozanatlash ("shovqinli" virtual mashinalarning ko'chishi juda uzoq vaqt talab qilishi mumkin);
"xarajat" ni hisobga olgan holda muvozanatlash - saqlash tizimi va tarmoqdagi yuk (yirik mijozlar uchun moslashtirilgan arxitektura bilan);
har bir VMning individual xulq-atvor xususiyatlarini hisobga olgan holda muvozanatlash;
Balanslash tarjixon ishlamaydigan soatlarda (tungi, dam olish kunlari, bayramlar) amalga oshiriladi.
Umumiy bulutlar uchunkichik mijozlarga xizmat ko'rsatish, DRS ilg'or imkoniyatlar bilan tez-tez foydalanish mumkin:
axborot xavfsizligi cheklovlari va yaqinlik qoidalarining yo'qligi;
virtual mashina ma'lumotlari ko'pincha mahalliy disklarda joylashgan;
saqlash tizimlari va tarmoqlarining o'rtacha ishlashini hisobga olgan holda (bulut arxitekturasi birlashtirilgan);
umumiy qoidalar va mavjud ma'lumotlar markazining xatti-harakatlari statistikasiga muvofiq muvozanatlash.
Muammoning murakkabligi
Balanslashning qiyinligi shundaki, DRS ko'p sonli noaniq omillar bilan ishlashi kerak:
har bir mijozning axborot tizimlari foydalanuvchilarining xatti-harakati;
axborot tizimi serverlarining ishlashi algoritmlari;
DBMS serverlarining xatti-harakatlari;
hisoblash resurslari, saqlash tizimlari, tarmoqqa yuk;
bulutli resurslar uchun kurashda serverlarning bir-biri bilan o'zaro ta'siri.
Ko'p sonli virtual dastur serverlari va ma'lumotlar bazalarining bulutli resurslarga yuklanishi vaqt o'tishi bilan yuzaga keladi, oqibatlar o'zini namoyon qilishi va oldindan aytib bo'lmaydigan vaqt davomida bir-birining ustiga chiqishi mumkin. Nisbatan oddiy jarayonlarni boshqarish uchun ham (masalan, dvigatelni, uyda suv isitish tizimini boshqarish uchun) avtomatik boshqaruv tizimlari komplekslardan foydalanishi kerak. proportsional-integral-differentsiallovchi fikr-mulohazalarga ega algoritmlar.
Bizning vazifamiz kattalikdagi ko'p tartiblar murakkabroq va tizim foydalanuvchilarning tashqi ta'siri bo'lmasa ham, o'rtacha vaqt ichida yukni belgilangan qiymatlarga tenglashtira olmasligi xavfi mavjud.
Bizning taraqqiyotimiz tarixi
Bu muammoni hal qilish uchun biz noldan boshlamasdan, mavjud tajribaga tayanishga qaror qildik va shu sohada tajribaga ega mutaxassislar bilan muloqot qilishni boshladik. Yaxshiyamki, muammoni tushunishimiz butunlay mos keldi.
Stend 1
Biz neyron tarmoq texnologiyasiga asoslangan tizimdan foydalandik va uning asosida resurslarimizni optimallashtirishga harakat qildik.
Ushbu bosqichning qiziqishi yangi texnologiyani sinovdan o'tkazish edi va uning ahamiyati muammoni hal qilishda nostandart yondashuvni qo'llash edi, bunda boshqa narsalar teng bo'lsa, standart yondashuvlar amalda tugaydi.
Biz tizimni ishga tushirdik va biz haqiqatan ham muvozanatlashni boshladik. Bizning bulutimiz miqyosi ishlab chiquvchilar tomonidan aytilgan optimistik natijalarni olishimizga imkon bermadi, ammo muvozanat ishlayotgani aniq edi.
Shu bilan birga, bizda juda jiddiy cheklovlar bor edi:
Neyron tarmoqni o'rgatish uchun virtual mashinalar haftalar yoki oylar davomida sezilarli o'zgarishlarsiz ishlashi kerak.
Algoritm avvalgi "tarixiy" ma'lumotlarni tahlil qilish asosida optimallashtirish uchun mo'ljallangan.
Neyron tarmog'ini o'qitish juda katta hajmdagi ma'lumotlar va hisoblash resurslarini talab qiladi.
Optimallashtirish va muvozanatlash nisbatan kamdan-kam hollarda amalga oshirilishi mumkin - har bir necha soatda bir marta, bu etarli emas.
Stend 2
Vaziyat bizni qoniqtirmagani uchun tizimni o'zgartirishga qaror qildik va buning uchun javob beramiz. asosiy savol - Biz buni kim uchun qilamiz?
Birinchisi - korporativ mijozlar uchun. Bu shuni anglatadiki, bizga faqat amalga oshirishni soddalashtiradigan korporativ cheklovlar bilan tez ishlaydigan tizim kerak.
Ikkinchi savol - "tezkor" so'zi bilan nimani tushunasiz? Qisqa bahs-munozaralar natijasida biz qisqa muddatli kuchlanish tizimni rezonansga olib kelmasligi uchun 5-10 daqiqalik javob vaqti bilan boshlashga qaror qildik.
Uchinchi savol β muvozanatli serverlar sonining qaysi hajmini tanlash kerak?
Bu muammo o'z-o'zidan hal qilindi. Odatda, mijozlar server agregatsiyalarini unchalik katta qilmaydi va bu maqolaning 30-40 servergacha yig'ishlarni cheklash bo'yicha tavsiyalariga mos keladi.
Bundan tashqari, server pulini segmentlash orqali biz muvozanatlash algoritmining vazifasini soddalashtiramiz.
To'rtinchi savol - Neyron tarmoq uzoq o'rganish jarayoni va kamdan-kam muvozanatlashuvi bilan bizga qanchalik mos keladi? Natijalarni soniyalarda olish uchun biz undan oddiyroq operatsion algoritmlar foydasiga voz kechishga qaror qildik.
Bunday algoritmlardan foydalanadigan tizimning tavsifini va uning kamchiliklarini topish mumkin shu yerda
Biz ushbu tizimni joriy qildik va ishga tushirdik va quvonarli natijalarga erishdik - endi u muntazam ravishda bulut yukini tahlil qiladi va virtual mashinalarni ko'chirish bo'yicha tavsiyalar beradi, bu asosan to'g'ri. Hozir ham biz mavjudlarining ish sifatini yaxshilagan holda yangi virtual mashinalar uchun resurslarni 10-15% chiqarishga erishishimiz aniq.
RAM yoki protsessorda nomutanosiblik aniqlanganda, tizim kerakli virtual mashinalarni jonli ko'chirishni amalga oshirish uchun Tionix rejalashtiruvchisiga buyruqlar beradi. Monitoring tizimidan ko'rinib turibdiki, virtual mashina bir (yuqori) dan ikkinchisiga (pastki) xostga o'tdi va yuqori xostda xotirani bo'shatdi (sariq doiralarda ta'kidlangan), mos ravishda uni pastki qismida (oq rang bilan belgilangan) egalladi. doiralar).
Endi biz amaldagi algoritmning samaradorligini aniqroq baholashga harakat qilmoqdamiz va undagi mumkin bo'lgan xatolarni topishga harakat qilmoqdamiz.
Stend 3
Buni tinchlantirish, tasdiqlangan samaradorlikni kutish va mavzuni yopish mumkin.
Ammo bizni quyidagi aniq optimallashtirish imkoniyatlari yangi bosqichga o'tkazishga majbur qilmoqda
Masalan, statistika, shu yerda ΠΈ shu yerda ikki va to'rt protsessorli tizimlar bir protsessorli tizimlarga qaraganda unumdorlik jihatidan sezilarli darajada past ekanligini ko'rsatadi. Bu shuni anglatadiki, barcha foydalanuvchilar bir protsessorli tizimlarga nisbatan ko'p protsessorli tizimlarda sotib olingan CPU, RAM, SSD, LAN, FC dan sezilarli darajada kamroq mahsulot oladi.
Resurs rejalashtiruvchilarning o'zlari jiddiy xatolarga ega bo'lishi mumkin, bu yerda maqolalardan biri Ushbu mavzu bo'yicha.
Operativ xotira va keshni kuzatish uchun Intel va AMD tomonidan taqdim etilgan texnologiyalar virtual mashinalarning xatti-harakatlarini o'rganish va ularni "shovqinli" qo'shnilar "sokin" virtual mashinalarga xalaqit bermasligi uchun joylashtirish imkonini beradi.
Parametrlar to'plamini kengaytirish (tarmoq, saqlash tizimi, virtual mashinaning ustuvorligi, migratsiya narxi, uning migratsiyaga tayyorligi).
jami
Balanslash algoritmlarini takomillashtirish bo'yicha olib borgan ishimizning natijasi aniq xulosaga keldiki, zamonaviy algoritmlardan foydalangan holda ma'lumotlar markazlari resurslarini sezilarli darajada optimallashtirishga (25-30%) erishish va shu bilan birga mijozlarga xizmat ko'rsatish sifatini oshirish mumkin.
Neyron tarmoqlarga asoslangan algoritm, shubhasiz, qiziqarli yechim, ammo uni yanada rivojlantirishni talab qiladi va mavjud cheklovlar tufayli xususiy bulutlar uchun xos bo'lgan hajmlarda bunday muammolarni hal qilish uchun mos emas. Shu bilan birga, algoritm sezilarli o'lchamdagi ommaviy bulutlarda yaxshi natijalarni ko'rsatdi.
Quyidagi maqolalarda protsessorlar, rejalashtiruvchilar va yuqori darajadagi balanslash imkoniyatlari haqida ko'proq ma'lumot beramiz.