OpenStack е сред най-бързо развиващите се облачни операционни системи. Въпреки това думата е силно объркана и много хора не получават истинската представа зад нея.

В тази статия се опитваме да разсечем технологията, която стои зад OpenStack, и как тя възникна. Но преди да се потопим дълбоко в OpenStack, трябва да разберем задълбочено някои аспекти за технологията зад OpenStack, наречена Virtualization.

Източник на изображение: pixabay.com

Какво е виртуализация?

Виртуализацията е технология, която ни позволява да създаваме виртуални екземпляри от реални колеги. Например, истинска физическа машина ще бъде създадена във виртуални машини. Виртуалните машини са само виртуална реализация на вашите истински машини.

Може да се направи аналогия на емулаторите. Виртуалните машини действат повече от същия вид, само вместо да подражават на игри, те емулират цяла машина.

Технологията, която стои зад виртуализацията и позволява създаването на виртуални екземпляри, се нарича хипервизор. Сега всички виртуални машини работят на физическа машина.

Виртуалните машини сами по себе си могат да бъдат от всякакъв тип машина с дадена конфигурация, но тя трябва да бъде по-малка от тази на машината, на която се хвърля хайвера. Това, което прави хипервизорът, е, че преодолява разликата между ядрото на вашата физическа машина и ядрото на виртуалната машина.

Той улавя системните повиквания, преобразува опкода на езика на машинното ниво, обработва го и след това го трансформира в опкода, който по-късно ще бъде разбран от виртуалната машина.

Машината, на която виртуалната машина е „породена” или създадена, се нарича хост машина. Виртуалната машина, която е породена или създадена от хипервизора на хост машината, се нарича Guest machine.

По същия начин операционната система, която работи на хост машината, се нарича хост операционна система, а операционната система, която работи на машината за гости, се нарича гост операционна система.

Основната машина и операционните системи на хоста винаги са значително по-мощни от операционната система за гост и гост операционната система. Това е така, защото действителният хардуер, който осигурява мощността на обработката, се намира само в хост машината.

Хипервизорът също е инсталиран на хост машината, където извършва по-голямата част от работата си, използвайки силата на хост операционната система. Виртуалната машина използва хипервизора, за да получи достъп до част от хардуера на действителната хост машина.

Ролята на хипервизора е да доставя на виртуалната машина необходимия виртуален хардуер. Виртуалните машини, които са породени от хипервизора, обикновено нямат представа, че са виртуални.

Необходимият хардуер се доставя при хвърляне на хайвера на виртуалната машина. Веднъж породена в реална мрежа, виртуалната машина ще се третира като един възел.

Видове хипервизори

Хипервизорите са разделени най-вече на два вида:

Тип 1: Хипервизор за родните или голи метали:

Тези хипервизори работят директно на хардуера на хоста и имат плътна интеграция с хост ядрото. Те управляват директно операционните системи на гостите и визуализираните виртуални машини се появяват като процес. Наричат ​​се още хипервизор с голи метали. Примерите включват Citrix, XenServer и VMW са ESX / ESXi.

Тип 2: Хоствани хипервизори:

Тези хипервизори работят като обикновено инсталирана програма в хост операционни системи. Те раждат виртуална машина и ги абстрахират от хост операционната система. Може да се направи аналогия с игралните емулатори. Примерите включват QEMU, VirtualBox и VMWare Workstation.

Има и трети хибриден тип хипервизор като виртуална машина базирана на ядрото (KVM), която въпреки че работи като типична програма, но при стартиране, се интегрира плътно с ядрото и впоследствие хардуера на хост машината.

KVM е може би най-известният хипервизор с отворен код, а за OpenStack KVM се използва широко. Всички тези хипервизори работят, като създават нещо, наречено изображения.

Тези изображения са копие на копие на инсталирана операционна система или персонализирана операционна система със специални изисквания към ядрото. По-късно, когато потребителят използва изображението, той променя изображението съответно на данните, съхранявани от клиента.

Това пространство за съхранение отново се управлява от хипервизора, който вижда, че данните на клиента са запазени и присъстват в абсолютно същото състояние, както е било преди потребителят да го напусне.

Виртуализацията беше необходима, за да се даде възможност за ефективно използване на хардуера. Специално за операторите на облачни центрове за данни виртуализацията беше предимство. Използвайки различни видове хипервизори, облачните доставчици бързо използваха виртуализацията, за да хвърлят хайвер на виртуални машини, виртуални превключватели, виртуални рутери и други подобни виртуални екземпляри на хардуер.

Освен това те ги интегрираха тясно, за да създадат всякакъв вид мрежа или машина според изискванията на клиентите. Използвайки виртуализация, операторът на център за данни може да установи няколко машини, а не само една.

И тъй като облакът е свързан с отдаване под наем на вашата компютърна мощност, приходният модел се увеличи значително, като отдаде под наем няколко виртуални машини, а не само една физическа машина.

Това също увеличи повторната му употреба, тъй като виртуалната машина, която не се използва, може да бъде отдадена под наем на други клиенти. Така виртуализацията доминираше и променяше правилата на центъра за данни.

Вместо да купуват цял ​​хардуер за значителни разходи, бизнес потребителите заемат виртуализирани екземпляри от хардуера, намалявайки цената на тяхната ИТ инфраструктура.

Така че виртуализацията правеше всички скокове и препятствия, обаче, операторите на центрове за данни се сблъскаха с голям проблем, който спря техния напредък значително и дори намали приходите си до степен на изправяне на загуби.

Големият проблем, който операторите на центрове за данни не можаха да визуализират, беше управлението! Тъй като виртуализацията се разви и предостави виртуализирани случаи на почти всеки възможен хардуер, възникна трудността в процеса на управление на тези множества виртуален хардуер.

Представете си като ръководител на вашия бизнес, бихте искали 10 различни машини на различни места в различни часови зони. Бихте искали всеки от тях с отделни хардуерни и софтуерни изисквания, а също така бихте искали да проследявате количеството данни, което влиза в и извън него.

Като оператор на център за данни, вие спазвате изискванията на клиентите и създавате тези 10 виртуални машини. Въпреки това, представете си, че при създаването на тези виртуални машини продължавате да получавате нови изисквания към повече виртуални машини, всяка с още по-сложни изисквания.

Как бихте управлявали толкова много виртуални машини, всяка със свой сложен набор от изисквания и настройки? В допълнение към това, ще трябва точно да фактурирате всяка от виртуалните машини, които са отдадени под наем. Да предположим, че клиентът има различни изисквания за фактуриране.

За една машина, която се използва като сървър, фактурирането ще зависи от количеството данни, което се получава от машината. За друга машина, която действа като клиент, таксуването ще бъде извършено за времето, в което е включена виртуалната клиентска машина.

И тези изисквания са само за един човек. Като оператор на център за данни, човек трябва да управлява хиляди и хиляди виртуален хардуер, всеки със собствени мрежови, хардуерни и софтуерни изисквания.

Подходящият интерфейс за управление беше критично необходим, за да постави организацията в затруднение, което се превръща във виртуализиран център за данни. Вместо да се използват командните редове и да се скриптира широко, беше необходима добре изградена „облачна операционна система“, за да се осигури правилна поддръжка на центъра за данни. И оттам се появява OpenStack.

Препоръчителни курсове

  • Онлайн курс по AJAX
  • Бърз тест за професионално обучение
  • Онлайн курс по ExtJS
  • CISSP пакет за обучение

Какво е OpenStack?

Както бе споменато в началото, OpenStack е по същество облачна операционна система. Под операционна система имаме предвид безплатна и отворена софтуерна платформа за облачни изчисления. Той започна през 2010 г. като съвместен проект на Rackspace хостинг и на НАСА.

Първоначално беше започнато да се занимава с този конкретен проблем на центъра за данни, който беше как да се управлява много виртуални машини. Оттам, той бързо се разраства до пълноценна общност с технологичен ангажимент и подкрепа от някои от най-известните марки в информационните технологии като Oracle, VMWare, Yahoo Inc. и т.н.

Понастоящем OpenStack се подкрепя от OpenStack фондация, нестопанска корпорация, създадена през 2012 г. Винаги процъфтяващата OpenStack общност успява да пуска по-добра версия на своя софтуер OpenStack на всеки шест месеца в базиран на времето цикъл на освобождаване с ясни основни етапи на развитие във всеки. на техните издания.

Всяко издание добавяше нрави, превръщайки го от обикновен софтуер за управление на център за данни в сложна платформа за облачен софтуер.

Той предостави интерфейс за управление на почти всеки аспект на виртуална машина, от създаване на виртуални машини при поискване с натискане на бутон до събиране на данни от мрежата, OpenStack се разклони значително.

Всяка година на година, общността се събира, за да планира нови функции и поддръжка на OpenStack Design Summit, където дизайнерските планове на обширната общност на OpenStack се преглеждат и сглобяват.

OpenStack позволява на потребителите да сглобяват и разгръщат виртуални машини ефективно. Той дава нещо наречено „графичен потребителски интерфейс“ за достъп до почти всяка функция, изисквана от крайния потребител.

Връщайки се към предишния ни пример, бихте искали 10 машини, всяка със собствен набор от изисквания. С по-ранния интерфейс на командния ред щеше да е много тромаво да управлявате всичко сами.

С OpenStack всичко, което трябва да направите, е да кликнете върху няколко бутона и съответно да конфигурирате вашата виртуална машина. Така че, ако искате правилно добре изградена разширена мрежа, можете да управлявате и виждате вашата компютърна мрежа в графики и статистически данни в реално време.

Ако искате разширени функции като анализа на данни и поддръжка на клъстери HADOOP, можете дори да улесните това лесно във вашата виртуална машина. Други стандартни функции като съхранение, процесор, памет и използване на ядро ​​също могат да бъдат много лесно конфигурирани в графичния потребителски интерфейс, представен от OpenStack.

Осигурена е и OpenStack - поддръжка за фактуриране в реално време, с помощта на която можете да проследявате статистически данни за всяка виртуална машина, породена с помощта на софтуера. Тя включва статистика в реално време като използване на паметта, използване на дискове, използване на ядро ​​и т.н.

Освен това, тъй като OpenStack е написан най-вече на Python език, той се възползва и от сценариите. Така автоматизацията на управление на хиляди виртуални машини също се грижи. Можете да напишете скрипт, който да каже, да планирате автоматизирането на виртуалната машина, когато тя трябва да бъде включена и кога ще бъде изключена.

При автоматизирането на такъв начин можете да създадете много добре изградена и всеобхватна платформа за изчислителни облаци. И тъй като OpenStack е напълно безплатен, всеки може да използва изходния код, за да разработи и добави свои собствени функции, напълно пригоден да отговаря на техните организационни или лични нужди. HP го направи, като пусна собствените си версии на облака, наречени HP Helion.

Под облачната терминология OpenStack би попаднал в категорията на инфраструктурата като услуга (IaaS), което означава, че основната й част се използва за подпомагане на изграждането на инфраструктура, на която ще бъдат разположени виртуални машини.

По същество облекчава хвърлянето на хайвера на виртуални машини. Именно на тези виртуални машини или „платформи“ клиентите биха наели в зависимост от техните изисквания.

Основни компоненти на OpenStack

OpenStack се разклони, за да има много различни компоненти, като като отворен код, няколко компонента могат да бъдат добавени и интегрирани със софтуера.

В основата на софтуера обаче лежат само три основни компонента на opentack:

  1. Компонент за съхранение:

Компонентът за съхранение на OpenStack се състои от Cinder и Swift. Основната цел на компонента е да съхранява данните на породените и работещи виртуални машини.

  1. Компонент на инфраструктурата:

Иначе нарича Nova Compute, този компонент е отговорен за управлението на всеки аспект на управление и създаване на виртуална машина. Това включва получаване на необходимия хардуер, взаимодействие с хипервизорите и действа като централен възел във взаимодействие с всеки друг компонент, необходим за хвърляне на хайвера на виртуални машини.

  1. Услуги за изображения:

Наричан още като Glance, той предлага услуги за търсене и извличане на изображения. Това, което по същество прави е, че предоставя поддръжка за съхранение и управление на реплики или изображения на различни виртуални машини. Така въз основа на изискванията, всякакъв образ може да бъде извлечен за клиента.

заключение

От своето скромно начало OpenStack като софтуер с отворен код за администриране на облака бързо се превърна в голяма общност от облачни ентусиасти, които направиха OpenStack разклонение в различни области на Cloud.

В основата на OpenStack са виртуализацията и хипервизорите, което гарантира, че OpenStack като платформа за управление може да използва силата на виртуалните машини.

Обикновено се разгръща като операционна система за инфраструктура като услуга (IaaS), тя дава по-лесна опция за управление на хиляди виртуализирани екземпляри.

Бъдещето на OpenStack изглежда светло, сега с големи данни и други подобни аспекти на облачната технология, интегрирани безпроблемно. И с непрекъснато нарастващата общност, Open Stack е готов да расте със значителни темпове.

Препоръчителни статии

Ето няколко статии, които ще ви помогнат да получите повече подробности за Open Stack vs Virtualization, така че просто преминете през линка.

  1. Най-доброто нещо да научите Azure Paas срещу Iaas
  2. Искате ли да знаете за AJAX въпроси за интервю?
  3. Изчерпателно ръководство за Android и сигурност с отворен код (OS)
  4. Митове и заблуди относно софтуера с отворен код
  5. Коя технология е най-добра? Облачни изчисления или виртуализация
  6. Топ 10 полезни сравнения между облачните компютри и виртуализацията