Ochiq tuman. Qisqa eslatmalar

Ochiq tuman. Qisqa eslatmalar

Hammaga salom. Ushbu maqola virtualizatsiya platformalarini tanlash va "Biz proxmoxni o'rnatdik va umuman hamma narsa yaxshi, 6 yillik ish vaqti" seriyasidagi maqolani o'qib chiqqandan keyin hali ham virtualizatsiya platformalarini tanlash o'rtasida yirtilganlar uchun yozilgan. Ammo u yoki bu nostandart echimni o'rnatgandan so'ng, savol tug'iladi: buni qanday qilib tuzatishim mumkin, shunda monitoring tushunarli bo'ladi va bu erda zaxira nusxalarini boshqarish uchun .... Va keyin vaqt keladi va siz ko'proq funktsional narsani xohlayotganingizni tushunasiz yoki bu qora quti emas, balki tizimingiz ichidagi hamma narsa aniq bo'lishini xohlaysiz yoki gipervisor va bir nechta virtual mashinalardan ko'ra ko'proq narsani ishlatmoqchisiz. Ushbu maqolada Opennebula platformasiga asoslangan ba'zi fikrlar va amaliyotlar mavjud - men buni tanladim, chunki. u resurslarga talab qilmaydi va arxitektura unchalik murakkab emas.

Shunday qilib, biz ko'rib turganimizdek, ko'plab bulutli provayderlar kvm ustida ishlaydi va mashinalarni boshqarish uchun tashqi ulanishlarni amalga oshiradi. Katta hosterlar bulutli infratuzilma uchun o'zlarining ramkalarini yozishlari aniq, masalan, xuddi shu YANDEX. Kimdir openstack-dan foydalanadi va shu asosda ulanishni amalga oshiradi - SELECTEL, MAIL.RU. Ammo, agar sizda o'zingizning uskunangiz va kichik mutaxassislaringiz bo'lsa, unda siz odatda tayyor narsani tanlaysiz - VMWARE, HYPER-V, bepul va pullik litsenziyalar mavjud, ammo biz hozir bu haqda gapirmayapmiz. Keling, ishqibozlar haqida gapiraylik - bular kompaniya "Sizdan keyin kim xizmat qiladi", "Biz buni keyinroq ishlab chiqarishga chiqaramizmi" degan aniq ta'kidlaganiga qaramay, yangi narsalarni taklif qilish va sinab ko'rishdan qo'rqmaydiganlardir. ? Qo'rqinchli." Ammo siz avval ushbu echimlarni sinov stolida qo'llashingiz mumkin va agar hamma buni yoqtirsa, siz yanada jiddiyroq muhitda yanada rivojlantirish va foydalanish masalasini ko'tarishingiz mumkin.

Shuningdek, bu erda hisobotga havola mavjud www.youtube.com/watch?v=47Mht_uoX3A ushbu platformani ishlab chiqishda faol ishtirokchidan.

Ehtimol, ushbu maqolada tajribali mutaxassis uchun biror narsa ortiqcha va allaqachon tushunarli bo'ladi va ba'zi hollarda men hamma narsani tasvirlamayman, chunki shunga o'xshash buyruqlar va tavsiflar Internetda mavjud. Bu mening ushbu platformadagi tajribam. Umid qilamanki, faol ishtirokchilar komentariyada nimani yaxshiroq qilish mumkin va qanday xatolarga yo'l qo'yganimni qo'shadilar. Barcha harakatlar har xil xususiyatlarga ega 3 ta shaxsiy kompyuterdan iborat uy stendida bo'lib o'tdi. Bundan tashqari, men ushbu dastur qanday ishlashini va uni qanday o'rnatishni aniq ko'rsatmadim. Yo'q, faqat ma'muriyat tajribasi va men duch kelgan muammolar. Ehtimol, bu o'z tanlovida kimdir uchun foydali bo'ladi.

Shunday qilib, keling, boshlaymiz. Tizim ma'muri sifatida men uchun quyidagi fikrlar muhim, ularsiz men ushbu yechimdan foydalanishim dargumon.

1. O'rnatishning takrorlanishi

Opennebula-ni o'rnatish uchun juda ko'p ko'rsatmalar mavjud, hech qanday muammo bo'lmasligi kerak. Versiyadan versiyaga, versiyadan versiyaga o'tishda har doim ham ishlamaydigan yangi xususiyatlar paydo bo'ladi.

2. Monitoring

Biz tugunning o'zini, kvm va ochiq tumanni kuzatamiz. Yaxshiyamki, u allaqachon tayyor. Linux xostlarini, bir xil Zabbix yoki tugun eksportchisini monitoring qilishning ko'plab variantlari mavjud - kimga yoqadi - hozir men uni zabbix orqali tizim ko'rsatkichlari (o'lchash mumkin bo'lgan harorat, disk massivining mustahkamligi) sifatida belgilayman. , va Prometey eksportchisi orqali ilovalarga kelsak. Kvm monitoringi uchun, masalan, siz loyihani olishingiz mumkin github.com/zhangjianweibj/prometheus-libvirt-exporter.git va uni systemd orqali ishga tushiring, u juda yaxshi ishlaydi va kvm ko'rsatkichlarini ko'rsatadi, shuningdek, tayyor asboblar paneli mavjud grafana.com/grafana/dashboards/12538.

Masalan, mening faylim:

/etc/systemd/system/libvirtd_exporter.service
[Unit]
Description=Node Exporter

[Service]
User=node_exporter
ExecStart=/usr/sbin/prometheus-libvirt-exporter --web.listen-address=":9101"

[Install]
WantedBy=multi-user.target

Shunday qilib, bizda 1 ta eksportchi bor, bizga opennebulaning o'zini kuzatish uchun ikkinchisi kerak, men bundan foydalandim github.com/kvaps/opennebula-exporter/blob/master/opennebula_exporter

Oddiy holatga qo'shilishi mumkin node_exporter tizimni kuzatish uchun quyidagilarni bajaring.

Node_exporter faylida biz boshlang'ichni quyidagicha o'zgartiramiz:

ExecStart=/usr/sbin/node_exporter --web.listen-address=":9102" --collector.textfile.directory=/var/lib/opennebula_exporter/textfile_collector

mkdir -p /var/lib/opennebula_exporter katalogini yarating

yuqorida keltirilgan bash skriptida, avval konsol orqali ishni tekshiramiz, agar u bizga kerak bo'lgan narsani ko'rsatsa (agar xato bo'lsa, xmlstarletni o'rnating), uni /usr/local/bin/opennebula_exporter.sh ga nusxalash.

Har bir daqiqa uchun cron vazifasini qo'shing:

*/1 * * * * (/usr/local/bin/opennebula_exporter.sh > /var/lib/opennebula_exporter/textfile_collector/opennebula.prom)

Ko'rsatkichlar paydo bo'la boshladi, siz ularni prometey kabi olishingiz va grafiklar qurishingiz va ogohlantirishlar qilishingiz mumkin. Grafana'da siz, masalan, bunday oddiy asboblar panelini chizishingiz mumkin.

Ochiq tuman. Qisqa eslatmalar

(bu erda men protsessor, RAMni haddan tashqari oshirganim aniq)

Zabbixni sevadigan va ishlatadiganlar uchun bor github.com/OpenNebula/addon-zabbix

Monitoringga kelsak, asosiysi u bor. Albatta, siz, qo'shimcha ravishda, o'rnatilgan virtual mashina monitoringi vositalaridan foydalanishingiz va ma'lumotlarni hisob-kitoblarga yuklashingiz mumkin, bu erda har kimning o'z qarashlari bor, men bu borada hali yaqinroq ishlashni boshlamadim.

Men hali ro'yxatga olishni boshlaganim yo'q. Eng oddiy variant - /var/lib/one katalogini muntazam ifodalar bilan tahlil qilish uchun td-agent qo'shish. Misol uchun, sunstone.log fayli nginx regexp va platformaga kirish tarixini ko'rsatadigan boshqa fayllarga mos keladi - buning afzalligi nimada? Xo'sh, masalan, biz "Xato, xato" sonini aniq kuzatishimiz va qaerda va qaysi darajada nosozlik borligini tezda kuzatishimiz mumkin.

3. Zaxira nusxalari

To'langan tugallangan loyihalar ham bor - masalan, sep wiki.sepsoftware.com/wiki/index.php/4_4_3_Tigon:OpenNebula_Backup. Bu erda shuni tushunishimiz kerakki, bu holda oddiygina mashina tasvirini zaxiralash bir xil emas, chunki bizning virtual mashinalarimiz to'liq integratsiya bilan ishlashi kerak (tarmoq sozlamalarini, vm nomini va ilovalaringiz uchun maxsus sozlamalarni tavsiflovchi bir xil kontekst fayli) . Shuning uchun, bu erda biz nimani va qanday zaxiralashni hal qilamiz. Ba'zi hollarda vm ning o'zida mavjud bo'lgan narsalarni nusxalash yaxshidir. Va, ehtimol, ma'lum bir mashinadan faqat bitta diskni zaxiralashingiz kerak.

Masalan, biz barcha mashinalar o'qishdan keyin doimiy tasvirlar bilan boshlanishini aniqladik docs.opennebula.io/5.12/operation/vm_management/img_guide.html

Bu shuni anglatadiki, avval biz rasmni vm-dan yuklashimiz mumkin:

onevm disk-saveas 74 3 prom.qcow2
Image ID: 77

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½ сохранился

oneimage show 77
/var/lib/one//datastores/100/f9503161fe180658125a9b32433bf6e8
   
И Π΄Π°Π»Π΅Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΡƒΠ΄Π° Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‚Π°ΠΊ сСбС способ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π» ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ инструмСнты opennebula ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Internetda ham topdim qiziqarli hisobot va yana ham bor shunday ochiq loyiha, lekin faqat qcow2 uchun saqlash joyi mavjud.

Ammo barchamizga ma'lumki, ertami-kechmi siz qo'shimcha zaxira nusxalarini olishni xohlaydigan vaqt keladi, bu erda qiyinroq va ehtimol rahbariyat pulli yechim uchun pul ajratadi yoki boshqa yo'l bilan boradi va bu erda biz faqat resurslarni qisqartirayotganimizni tushunamiz, va dastur darajasida zaxira nusxalarini yaratish va bir qator yangi tugunlar va virtual mashinalarni qo'shish - ha, bu erda men bulutdan faqat ilovalar klasterlarini ishga tushirish uchun foydalanishni va ma'lumotlar bazasini boshqa platformada ishga tushirishni yoki tayyorni olishni aytmoqchiman. iloji bo'lsa, etkazib beruvchidan.

4. Foydalanish qulayligi

Ushbu paragrafda men duch kelgan muammolarni tasvirlab beraman. Misol uchun, tasvirlarga ko'ra, biz bilganimizdek, doimiy mavjud - bu tasvir vm ga o'rnatilganda, barcha ma'lumotlar ushbu tasvirga yoziladi. Va agar doimiy bo'lmasa, tasvir xotiraga ko'chiriladi va ma'lumotlar manba tasviridan ko'chirilgan narsaga yoziladi - shablon shablonlari shunday ishlaydi. Men doimiy ravishda belgilashni unutib, 200 Gb tasvir nusxa ko'chirilib, men bir necha bor o'zim uchun muammolarni keltirib chiqardim, muammo shundaki, bu protsedurani albatta bekor qilib bo'lmaydi, siz tugunga borishingiz va joriy "cp" jarayonini o'ldirishingiz kerak.

Muhim kamchiliklardan biri shundaki, siz gui yordamida amallarni bekor qila olmaysiz. To'g'rirog'i, siz ularni bekor qilasiz va hech narsa sodir bo'lmasligini ko'rasiz va siz ularni qayta boshlaysiz, ularni bekor qilasiz va aslida rasmni nusxalash uchun 2 ta cp jarayoni bo'ladi.

Va keyin nima uchun opennebula har bir yangi misolni yangi identifikator bilan raqamlashini tushunishga keladi, masalan, xuddi shu proksmoksda 101 identifikatorli vm yaratgan, uni o'chirib tashlagan, keyin siz uni qayta yaratasiz va id 101. Opennebula'da bu sodir bo'lmaydi, har bir yangi nusxa yangi identifikator bilan yaratiladi va bu o'z mantiqiga ega - masalan, eski ma'lumotlarni tozalash yoki muvaffaqiyatsiz o'rnatish.

Xuddi shu narsa saqlash uchun ham amal qiladi; eng muhimi, bu platforma markazlashtirilgan saqlashga qaratilgan. Mahalliy foydalanish uchun qo'shimchalar mavjud, ammo bu holda biz bu haqda gapirmayapmiz. O'ylaymanki, kelajakda kimdir tugunlarda mahalliy xotiradan qanday foydalanishga muvaffaq bo'lganligi va uni ishlab chiqarishda muvaffaqiyatli ishlatishi haqida maqola yozadi.

5. Maksimal soddalik

Albatta, siz qanchalik uzoqqa borsangiz, sizni tushunadiganlar kamroq bo'ladi.

Mening stendim sharoitida - nfs saqlashga ega 3 ta tugun - hamma narsa yaxshi ishlaydi. Ammo agar biz elektr uzilishi bilan bog'liq tajribalarni o'tkazsak, masalan, oniy tasvirni ishga tushirish va tugunni o'chirishda biz ma'lumotlar bazasida oniy tasvir borligi haqida sozlamalarni saqlaymiz, lekin aslida u yo'q (yaxshi, biz hammamiz tushunamiz dastlab ushbu harakat haqida ma'lumotlar bazasini sql da yozgan, ammo operatsiyaning o'zi muvaffaqiyatli bo'lmagan). Afzalligi shundaki, suratni yaratishda alohida fayl hosil bo'ladi va "ota-ona" mavjud, shuning uchun muammolar yuzaga kelganda va u gui orqali ishlamasa ham, biz qcow2 faylini olib, uni alohida tiklashimiz mumkin. docs.opennebula.io/5.8/operation/vm_management/vm_instances.html

Tarmoqlarda, afsuski, hamma narsa juda oddiy emas. Xo'sh, hech bo'lmaganda openstack-ga qaraganda osonroq, men faqat vlan (802.1Q) dan foydalandim - u juda yaxshi ishlaydi, lekin agar siz shablon tarmog'idan sozlamalarga o'zgartirish kiritsangiz, bu sozlamalar allaqachon ishlayotgan mashinalarga qo'llanilmaydi, ya'ni. tarmoq kartasini o'chirishingiz va qo'shishingiz kerak, keyin yangi sozlamalar qo'llaniladi.

Agar siz hali ham uni openstack bilan solishtirmoqchi bo'lsangiz, buni aytishingiz mumkin: opennebula-da ma'lumotlarni saqlash, tarmoqni, resurslarni boshqarish uchun qaysi texnologiyalardan foydalanishning aniq ta'rifi yo'q - har bir ma'mur o'zi uchun nima qulayroq ekanligini o'zi hal qiladi.

6. Qo'shimcha plaginlar va o'rnatishlar

Axir, biz tushunganimizdek, bulutli platforma nafaqat kvm, balki vmware esxi-ni ham boshqarishi mumkin. Afsuski, Vcenter bilan hovuzim yo'q edi, agar kimdir sinab ko'rgan bo'lsa, yozing.

Boshqa bulutli provayderlarni qo'llab-quvvatlash ko'rsatilgan docs.opennebula.io/5.12/advanced_components/cloud_bursting/index.html
AWS, AZURE.

Men Vmware Cloud-ni Selectel-dan ulashga ham harakat qildim, lekin hech narsa ishlamadi - umuman olganda, u bloklandi, chunki ko'p omillar mavjud va hosting provayderining texnik yordamiga yozishdan ma'no yo'q.

Bundan tashqari, endi yangi versiyada petarda bor - bu mikrovm-ning ishga tushirilishi, docker ustidan kvm jabduqlar turi bo'lib, u yanada ko'p qirralilik, xavfsizlik va samaradorlikni oshiradi, chunki taqlid qiluvchi uskunalarga resurslarni sarflashning hojati yo'q. Docker-dan ko'rgan yagona afzalligim shundaki, u qo'shimcha sonli jarayonlarni egallamaydi va ushbu emulyatsiyadan foydalanganda ishg'ol qilingan rozetkalar yo'q, ya'ni. Uni yuk balansi sifatida ishlatish juda mumkin (lekin men barcha testlarni to'liq o'tkazmagunimcha, bu haqda alohida maqola yozishga arziydi).

7. Foydalanishning ijobiy tajribasi va xatolarni tuzatish

Asar haqidagi kuzatishlarim bilan oβ€˜rtoqlashmoqchi edim, ba’zilarini yuqorida bayon qildim, koβ€˜proq yozmoqchiman. Darhaqiqat, men dastlab bu to'g'ri tizim emas deb o'ylaydigan yagona odam emasman va umuman olganda, bu erda hamma narsa tayoq - ular bu bilan qanday ishlaydi? Ammo keyin hamma narsa mantiqiy ekanligi tushuniladi. Albatta, siz hammani xursand qila olmaysiz va ba'zi jihatlar yaxshilanishni talab qiladi.

Masalan, disk tasvirini bitta ma'lumotlar omboridan boshqasiga nusxalashning oddiy operatsiyasi. Mening holatimda, nfs bilan 2 ta tugun bor, men tasvirni yuboraman - nusxa ko'chirish frontend opennebula orqali amalga oshiriladi, garchi biz hammamiz ma'lumotlar to'g'ridan-to'g'ri xostlar o'rtasida nusxalanishi kerakligiga o'rganib qolganmiz - xuddi shu vmware, hyper-v biz. bunga ko'nikib qolgan, lekin bu erda boshqasiga. Boshqa yondashuv va boshqa mafkura mavjud va 5.12 versiyasida ular "ma'lumotlar omboriga o'tish" tugmachasini olib tashladilar - faqat mashinaning o'zi uzatiladi, lekin saqlash emas, chunki markazlashtirilgan saqlashni bildiradi.

Keyingi, turli sabablarga ko'ra mashhur xato: β€œVirtual mashinani joylashtirishda xatolik: /var/lib/one//datastores/103/10/deployment.5 dan domen yaratib bo'lmadi.” Quyida ko'rib chiqilishi kerak bo'lgan asosiy narsa.

  • Oneadmin foydalanuvchisi uchun rasm huquqlari;
  • oneadmin foydalanuvchisi uchun libvirtd-ni ishga tushirish uchun ruxsatlar;
  • Ma'lumotlar ombori to'g'ri o'rnatilganmi? Boring va tugunning o'zida yo'lni tekshiring, ehtimol biror narsa tushib ketgan;
  • Noto'g'ri tuzilgan tarmoq, aniqrog'i frontendda u tarmoq sozlamalarida vlan uchun asosiy interfeys br0, lekin tugunda u bridge0 sifatida yozilgan - u bir xil bo'lishi kerak.

tizim ma'lumotlar do'koni vm uchun metama'lumotlarni saqlaydi, agar siz vm-ni doimiy tasvir bilan ishlatsangiz, u holda vm siz vm yaratgan xotirada dastlab yaratilgan konfiguratsiyaga kirish huquqiga ega bo'lishi kerak - bu juda muhim. Shuning uchun, vm-ni boshqa ma'lumotlar do'koniga o'tkazishda siz hamma narsani ikki marta tekshirishingiz kerak.

8. Hujjatlar, jamoa. Keyingi rivojlanish

Qolganlari, yaxshi hujjatlar, jamoa va asosiysi, loyiha kelajakda yashashni davom ettiradi.

Umuman olganda, hamma narsa juda yaxshi hujjatlashtirilgan va hatto rasmiy manbadan foydalangan holda, o'rnatish va savollarga javob topish muammo bo'lmaydi.

Jamiyat, faol. O'rnatishingizda foydalanishingiz mumkin bo'lgan ko'plab tayyor echimlarni nashr etadi.

Ayni paytda kompaniyadagi ba'zi siyosatlar 5.12 dan beri o'zgardi forum.opennebula.io/t/towards-a-stronger-opennebula-community/8506/14 Loyihaning qanday rivojlanishini ko'rish qiziq bo'ladi. Boshida men o'z echimlaridan foydalanadigan ba'zi sotuvchilarni va sanoat nimani taklif qilayotganini alohida ta'kidladim. Albatta, nima ishlatish kerakligi haqida aniq javob yo'q. Ammo kichikroq tashkilotlar uchun o'zlarining kichik shaxsiy bulutini saqlash ko'rinadigan darajada qimmat bo'lmasligi mumkin. Asosiysi, sizga nima kerakligini aniq bilish.

Natijada, bulutli tizim sifatida nimani tanlaganingizdan qat'i nazar, siz bitta mahsulotda to'xtamasligingiz kerak. Agar vaqtingiz bo'lsa, boshqa ochiq echimlarni ko'rib chiqishga arziydi.

Yaxshi suhbat bor t.me/opennebula Ular faol yordam berishadi va sizni muammoning echimini Google'da qidirishga yubormaydilar. Bizga qo'shiling.

Manba: www.habr.com

a Izoh qo'shish