Ашық тұмандық. Қысқа жазбалар

Ашық тұмандық. Қысқа жазбалар

Бәріңе сәлем. Бұл мақала виртуализация платформаларын таңдау арасында әлі де болса және «Біз proxmox орнаттық және тұтастай алғанда бәрі жақсы, бір үзіліссіз 6 жыл жұмыс уақыты» сериясынан мақаланы оқығаннан кейін жазылғандар үшін жазылған. Бірақ бір немесе басқа қораптан тыс шешімді орнатқаннан кейін сұрақ туындайды: бұл жерде мониторинг түсінікті болуы үшін және сақтық көшірмелерді басқару үшін мұнда қалай түзетуге болады .... Содан кейін уақыт келеді және сіз функционалдырақ нәрсені қалайтыныңызды түсінесіз немесе бұл қара жәшік емес, жүйеңіздің ішіндегі барлық нәрсе анық болғанын қалайсыз немесе сіз гипервизор мен виртуалды машиналар тобынан басқа нәрсені пайдаланғыңыз келеді. Бұл мақалада Opennebula платформасына негізделген кейбір ойлар мен тәжірибелер болады - мен оны таңдадым. ол ресурстарды талап етпейді және архитектурасы соншалықты күрделі емес.

Сонымен, көріп отырғанымыздай, көптеген бұлттық провайдерлер квм-де жұмыс істейді және басқару машиналарына сыртқы қосылымдар жасайды. Үлкен хостерлер бұлттық инфрақұрылым үшін өз құрылымдарын жазатыны анық, мысалы, сол YANDEX. Біреу openstack пайдаланады және осы негізде қосылым жасайды - SELECTEL, MAIL.RU. Бірақ егер сізде өзіңіздің аппараттық құралыңыз және мамандардың шағын штаты болса, сіз әдетте дайын нәрсені таңдайсыз - VMWARE, HYPER-V, тегін және ақылы лицензиялар бар, бірақ біз қазір бұл туралы айтып отырған жоқпыз. Энтузиастар туралы айтайық - бұл компания «сізден кейін кім қызмет көрсетеді», «біз мұны кейінірек өндіріске енгіземіз бе» дегенді анық айтқанына қарамастан, жаңа нәрсені ұсынудан және сынап көруден қорықпайтындар. ? Қорқынышты». Бірақ сіз алдымен бұл шешімдерді сынақ стендінде қолдана аласыз, ал егер бәріне ұнаса, одан әрі дамыту және одан да маңызды орталарда пайдалану туралы мәселені көтере аласыз.

Сондай-ақ мұнда есептің сілтемесі бар www.youtube.com/watch?v=47Mht_uoX3A осы платформаны әзірлеуге белсенді қатысушыдан.

Мүмкін, бұл мақалада тәжірибелі маманға бірдеңе артық және түсінікті болады, ал кейбір жағдайларда мен бәрін сипаттамаймын, өйткені Интернетте ұқсас командалар мен сипаттамалар бар. Бұл менің осы платформадағы тәжірибем ғана. Белсенді қатысушылар түсініктемелерде нені жақсырақ жасауға болатынын және қандай қателіктер жібергенімді қосады деп үміттенемін. Барлық әрекеттер әртүрлі сипаттамалары бар 3 ДК тұратын үй стендінде өтті. Сондай-ақ, мен бұл бағдарламалық жасақтама қалай жұмыс істейтінін және оны орнату жолын нақты көрсетпедім. Жоқ, тек әкімшілік тәжірибе және мен кездескен мәселелер. Мүмкін, бұл олардың таңдауындағы біреуге пайдалы болады.

Сонымен, бастайық. Жүйелік әкімші ретінде мен үшін келесі тармақтар маңызды, оларсыз бұл шешімді пайдалану екіталай.

1. Орнатудың қайталануы

Opennebula орнату бойынша көптеген нұсқаулар бар, ешқандай проблемалар болмауы керек. Нұсқадан нұсқаға көшу кезінде әрқашан жұмыс істемейтін жаңа мүмкіндіктер пайда болады.

2. Бақылау

Біз түйіннің өзін, квм мен ашық тұманды бақылаймыз. Бақытымызға орай, ол қазірдің өзінде дайын. Linux хосттарын бақылаудың көптеген нұсқалары бар, сол Zabbix немесе түйін экспорттаушысы - кімге ұнайтыны жақсы - қазіргі уақытта мен оны zabbix арқылы жүйелік көрсеткіштерді (өлшеуге болатын температура, диск массивінің консистенциясы) бақылау ретінде анықтаймын. , және Prometheus экспорттаушысы арқылы қолданбаларға келетін болсақ. Мысалы, квм мониторингі үшін жобаны алуға болады github.com/zhangjianweibj/prometheus-libvirt-exporter.git және оны systemd арқылы іске қосу үшін орнатыңыз, ол өте жақсы жұмыс істейді және kvm метрикасын көрсетеді, сонымен қатар дайын бақылау тақтасы бар grafana.com/grafana/dashboards/12538.

Мысалы, менің файлым:

/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

Сонымен, бізде 1 экспорттаушы бар, бізге opennebula өзін бақылау үшін екіншісі қажет, мен оны қолдандым github.com/kvaps/opennebula-exporter/blob/master/opennebula_exporter

Қалыптыға қосуға болады түйін_экспорттаушысы жүйені бақылау үшін мыналарды орындаңыз.

node_exporter файлында біз бастауды келесідей өзгертеміз:

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

mkdir -p /var/lib/opennebula_exporter каталогын жасаңыз

жоғарыда келтірілген bash сценарийі үшін алдымен жұмысты консоль арқылы тексереміз, егер ол бізге қажет нәрсені көрсетсе (егер қате болса, онда xmlstarlet орнатыңыз), оны /usr/local/bin/opennebula_exporter.sh ішіне көшіріңіз.

Әр минут үшін cron тапсырмасын қосыңыз:

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

Метрикалар пайда бола бастады, оларды прометей сияқты қабылдауға және графиктер құруға және ескертулер жасауға болады. Grafana-да сіз, мысалы, қарапайым бақылау тақтасын салуға болады.

Ашық тұмандық. Қысқа жазбалар

(бұл жерде мен процессорды, жедел жадты асыра орындайтыным анық)

Zabbix-ті жақсы көретін және пайдаланатындар үшін бар github.com/OpenNebula/addon-zabbix

Мониторингке келетін болсақ, ең бастысы, ол бар. Әрине, сіз, сонымен қатар, кірістірілген виртуалды машинаны бақылау құралдарын пайдалана аласыз және деректерді есепшотқа жүктей аласыз, мұнда әркімнің өз көзқарасы бар, мен бұл туралы әлі мұқият жұмыс істей бастаған жоқпын.

Мен әлі тіркеуді бастаған жоқпын. Ең қарапайым опция - /var/lib/one каталогын тұрақты өрнектермен талдау үшін td-агентті қосу. Мысалы, sunstone.log файлы nginx regexp және платформаға кіру тарихын көрсететін басқа файлдарға сәйкес келеді - мұның артықшылығы неде? Мысалы, біз «Қате, қате» санын анық қадағалай аламыз және қай жерде және қандай деңгейде ақаулық бар екенін жылдам бақылай аламыз.

3. Сақтық көшірмелер

Ақылы аяқталған жобалар да бар - мысалы, қыркүйек wiki.sepsoftware.com/wiki/index.php/4_4_3_Tigon:OpenNebula_Backup. Мұнда біз машина кескінінің сақтық көшірмесін жасау бұл жағдайда мүлдем бірдей емес екенін түсінуіміз керек, өйткені біздің виртуалды машиналар толық интеграциямен жұмыс істеуі керек (желі параметрлерін, vm атауын және қолданбаларыңыздың реттелетін параметрлерін сипаттайтын бірдей контекстік файл) . Сондықтан, біз нені және қалай сақтық көшірме жасауды шешеміз. Кейбір жағдайларда vm ішінде бар нәрсенің көшірмесін жасаған дұрыс. Мүмкін сізге берілген құрылғыдан тек бір дискінің сақтық көшірмесін жасау қажет болуы мүмкін.

Мысалы, біз барлық машиналар оқудан кейін тұрақты кескіндерден басталатынын анықтадық docs.opennebula.io/5.12/operation/vm_management/img_guide.html

Бұл алдымен біздің vm-ден суретті жүктей алатынымызды білдіреді:

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

Смотрим, под каким именем он сохранился

oneimage show 77
/var/lib/one//datastores/100/f9503161fe180658125a9b32433bf6e8
   
И далее копируем куда нам необходимо. Конечно, так себе способ. Просто хотел показать, что используя инструменты opennebula можно строить подобные решения.

Интернеттен де таптым қызықты есеп және одан да көп осындай ашық жоба, бірақ тек qcow2 үшін сақтау орны бар.

Бірақ бәріміз білетіндей, ерте ме, кеш пе, қосымша сақтық көшірмелерді қажет ететін уақыт келеді, бұл жерде қиынырақ және мүмкін басшылық ақылы шешімге ақша бөледі немесе басқа жолмен жүріп, бұл жерде біз тек ресурстарды қысқартып жатқанымызды түсінеміз, және қолданба деңгейінде сақтық көшірме жасау және бірқатар жаңа түйіндер мен виртуалды машиналарды қосу - иә, бұл жерде мен бұлтты қолданбалы кластерлерді іске қосу үшін ғана пайдалану және дерекқорды басқа платформада іске қосу немесе дайын платформаны алу үшін айтамын. мүмкіндігінше жеткізушіден.

4. Пайдаланудың қарапайымдылығы

Бұл параграфта мен кездескен проблемаларды сипаттайтын боламын. Мысалы, кескіндерге сәйкес, біз білетіндей, тұрақты бар - бұл кескін vm-ге орнатылған кезде, барлық деректер осы кескінге жазылады. Ал егер тұрақты болмаса, онда кескін жадқа көшіріледі және деректер бастапқы кескіннен көшірілгенге жазылады - үлгі үлгілері осылай жұмыс істейді. Мен тұрақты көрсетуді ұмытып, 200 ГБ кескін көшірілді, мәселе мынада, бұл процедурадан бас тарту мүмкін емес, сіз түйінге өтіп, ағымдағы «cp» процесін жоюыңыз керек.

Маңызды кемшіліктердің бірі - gui көмегімен әрекеттерден бас тарту мүмкін емес. Дәлірек айтқанда, сіз олардан бас тартасыз және ештеңе болмайтынын көресіз және сіз оларды қайтадан бастайсыз, оларды тоқтатасыз және іс жүзінде суретті көшіретін 2 cp процесі болады.

Содан кейін неліктен opennebula әрбір жаңа дананы жаңа идентификатормен нөмірлейтінін түсінуге болады, мысалы, сол проксмокста идентификатор 101 бар vm құрып, оны жойды, содан кейін оны қайтадан жасайсыз және 101 идентификаторы. Opennebula-да бұл болмайды, әрбір жаңа данасы жаңа идентификатормен жасалады және оның өзіндік логикасы бар - мысалы, ескі деректерді немесе сәтсіз орнатуларды тазалау.

Сақтауға да қатысты; ең бастысы, бұл платформа орталықтандырылған сақтауға бағытталған. Жергілікті пайдалану үшін қосымшалар бар, бірақ бұл жағдайда біз бұл туралы айтып отырған жоқпыз. Болашақта біреу түйіндерде жергілікті жадты қалай пайдалана алғаны және оны өндірісте сәтті пайдаланғаны туралы мақала жазады деп ойлаймын.

5. Максималды қарапайымдылық

Әрине, сіз неғұрлым алысқа барсаңыз, соғұрлым сізді түсінетіндер азаяды.

Менің стендімнің жағдайында - nfs сақтау орны бар 3 түйін - бәрі жақсы жұмыс істейді. Бірақ егер біз электр қуатының үзілуіне байланысты эксперименттер жүргізетін болсақ, мысалы, суретті іске қосқанда және түйіннің қуатын өшірген кезде, біз дерекқорда суреттің бар екенін сақтаймыз, бірақ іс жүзінде ол жоқ (жақсы, біз бәріміз түсінеміз бастапқыда бұл әрекет туралы дерекқорды sql ішінде жазды, бірақ операцияның өзі сәтті болмады). Артықшылығы мынада, суретті жасау кезінде бөлек файл қалыптасады және «ата-ана» болады, сондықтан проблемалар туындаған жағдайда және ол gui арқылы жұмыс істемесе де, біз qcow2 файлын алып, оны бөлек қалпына келтіре аламыз. docs.opennebula.io/5.8/operation/vm_management/vm_instances.html

Желілерде, өкінішке орай, бәрі оңай емес. Кем дегенде, бұл ашық стекке қарағанда оңайырақ, мен тек vlan (802.1Q) қолдандым - ол өте жақсы жұмыс істейді, бірақ егер сіз шаблондық желіден параметрлерге өзгертулер енгізсеңіз, онда бұл параметрлер қазірдің өзінде жұмыс істеп тұрған машиналарға қолданылмайды, яғни. желі картасын жою және қосу керек, содан кейін жаңа параметрлер қолданылады.

Егер сіз оны ашық стекпен салыстырғыңыз келсе, онда сіз мынаны айта аласыз: opennebula-да деректерді сақтау, желіні, ресурстарды басқару үшін қандай технологияларды қолдану керектігі туралы нақты анықтама жоқ - әр әкімші өзіне не ыңғайлы екенін өзі шешеді.

6. Қосымша плагиндер мен қондырғылар

Өйткені, біз түсінгеніміздей, бұлттық платформа тек kvm-ді ғана емес, сонымен қатар vmware esxi-ді де басқара алады. Өкінішке орай, менде Vcenter-де бассейн болған жоқ, егер біреу қолданып көрген болса, жазыңыз.

Басқа бұлттық провайдерлерге қолдау көрсетіледі docs.opennebula.io/5.12/advanced_components/cloud_bursting/index.html
AWS, AZURE.

Мен сондай-ақ Selectel-тен Vmware Cloud-ты қосуға тырыстым, бірақ ештеңе жұмыс істемеді - тұтастай алғанда, ол бұғатталды, өйткені көптеген факторлар бар және хостинг провайдерінің техникалық қолдауына жазудың қажеті жоқ.

Сондай-ақ, енді жаңа нұсқада петарда бар – бұл докердің үстінен квм-қосқыштардың түрі болып табылатын microvm іске қосылды, ол одан да көп әмбебаптылық, қауіпсіздік және өнімділікті арттырады, өйткені эмуляциялық жабдыққа ресурстарды ысырап етудің қажеті жоқ. Мен Docker-тен көретін жалғыз артықшылығым, ол қосымша процестер санын қабылдамайды және осы эмуляцияны пайдаланған кезде бос ұяшықтар жоқ, яғни. Оны жүктемені теңестіруші ретінде пайдалану әбден мүмкін (бірақ мен барлық сынақтарды толық орындамайынша бұл туралы жеке мақала жазған жөн болар).

7. Пайдаланудың оң тәжірибесі және қателерді түзету

Шығарма туралы өз бақылауларыммен бөліскім келді, кейбірін жоғарыда сипаттадым, көбірек жазғым келеді. Шынында да, бұл дұрыс жүйе емес деп ойлайтын жалғыз мен емес шығармын және жалпы мұнда бәрі балдақ - олар мұнымен қалай жұмыс істейді? Бірақ содан кейін бәрі өте қисынды екенін түсінеді. Әрине, сіз бәріне ұнай алмайсыз және кейбір аспектілер жақсартуды қажет етеді.

Мысалы, диск кескінін бір деректер қоймасынан екіншісіне көшірудің қарапайым операциясы. Менің жағдайда, nfs бар 2 түйін бар, мен суретті жіберемін - көшіру фронталды ашық тұнба арқылы жүзеге асырылады, дегенмен біз деректерді тікелей хосттар арасында көшіру керек екеніне үйренгенбіз - сол vmware, hyper-v біз. бұған үйренген, бірақ мұнда басқа. Басқа тәсіл мен басқа идеология бар және 5.12 нұсқасында олар «деректер қоймасына көшу» түймесін алып тастады - тек машинаның өзі тасымалданады, бірақ сақтау орны емес, өйткені орталықтандырылған сақтауды білдіреді.

Әрі қарай әртүрлі себептермен танымал қате: «Виртуалды машинаны орналастыру қатесі: /var/lib/one//datastores/103/10/deployment.5 ішінен домен жасау мүмкін болмады.» Төменде қарастырылатын ең жақсы нәрсе.

  • Oneadmin пайдаланушысы үшін кескін құқықтары;
  • oneadmin пайдаланушысына libvirtd іске қосу рұқсаттары;
  • Деректер қоймасы дұрыс орнатылған ба? Барып, түйіннің өзінде жолды тексеріңіз, мүмкін бірдеңе құлап кеткен болуы мүмкін;
  • Қате конфигурацияланған желі, дәлірек айтқанда, алдыңғы жағында ол желі параметрлерінде vlan үшін негізгі интерфейс br0 болып табылады, бірақ түйінде ол bridge0 ретінде жазылған - ол бірдей болуы керек.

жүйелік деректер қоймасы VM-ге арналған метадеректерді сақтайды, егер vm-ді тұрақты кескінмен іске қоссаңыз, онда vm-ге vm жасаған жадта бастапқы жасалған конфигурацияға рұқсат болуы керек - бұл өте маңызды. Сондықтан, vm-ді басқа деректер қоймасына тасымалдаған кезде бәрін екі рет тексеру керек.

8. Құжаттама, қоғамдастық. Әрі қарай дамыту

Ал қалғаны, жақсы құжаттама, қоғамдастық және ең бастысы, жоба болашақта өмір сүреді.

Жалпы алғанда, бәрі жақсы құжатталған және тіпті ресми дереккөзді пайдалану арқылы орнату және сұрақтарға жауап табу қиын болмайды.

Қоғамдастық, белсенді. Орнатуларыңызда пайдалануға болатын көптеген дайын шешімдерді жариялайды.

Қазіргі уақытта компаниядағы кейбір саясаттар 5.12 бастап өзгерді forum.opennebula.io/t/towards-a-stronger-opennebula-community/8506/14 Жобаның қалай дамып жатқанын көру қызықты болады. Бастапқыда мен өз шешімдерін қолданатын кейбір сатушыларды және саланың не ұсынатынын атап өттім. Әрине, нені қолдану керектігі туралы нақты жауап жоқ. Бірақ кішігірім ұйымдар үшін шағын жеке бұлтты сақтау көрінгендей қымбат болмауы мүмкін. Ең бастысы, сізге не қажет екенін нақты білу.

Нәтижесінде бұлттық жүйе ретінде таңдағаныңызға қарамастан, бір өнімде тоқтап қалмау керек. Егер сізде уақыт болса, басқа ашық шешімдерді қарастырған жөн.

Жақсы сөйлесу бар t.me/opennebula Олар белсенді түрде көмектеседі және сізді Google-дан мәселенің шешімін іздеуге жібермейді. Бізге қосылыңыздар.

Ақпарат көзі: www.habr.com

пікір қалдыру