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
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
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
Oddiy holatga qo'shilishi mumkin
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.
(bu erda men protsessor, RAMni haddan tashqari oshirganim aniq)
Zabbixni sevadigan va ishlatadiganlar uchun bor
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
Masalan, biz barcha mashinalar o'qishdan keyin doimiy tasvirlar bilan boshlanishini aniqladik
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
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.
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
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
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
Manba: www.habr.com