Што такое віртуальная машына? (Чаму і калі яго выкарыстоўваць)

  • Падзяліцца Гэтым
Cathy Daniels

Калі вы працуеце ў індустрыі праграмнага забеспячэння або вакол яе, вы напэўна чулі пра віртуальныя машыны. Калі не, вы можаце задацца пытаннем, што яны сабой уяўляюць і для чаго яны выкарыстоўваюцца.

Як інжынер-праграміст я выкарыстоўваю віртуальныя машыны штодня. Яны з'яўляюцца магутнымі інструментамі ў распрацоўцы праграмнага забеспячэння, але яны таксама маюць іншае прымяненне. Таксама вядомыя як віртуальныя машыны, многія прадпрыемствы выкарыстоўваюць іх з-за іх гнуткасці, надзейнасці і эканамічнай эфектыўнасці; яны таксама прадухіляюць катастрофы, выкліканыя непасрэдным тэставаннем праграмнага забеспячэння.

Давайце паглядзім, што такое віртуальныя машыны і чаму яны выкарыстоўваюцца.

Што такое віртуальная машына?

Віртуальная машына - гэта асобнік аперацыйнай сістэмы (АС), такой як Windows, Mac OS або Linux, якая працуе ў асноўнай АС кампутара.

Як правіла, ён запускаецца ў акне праграмы на працоўным стале. Віртуальная машына мае поўную функцыянальнасць і дзейнічае як асобны кампутар або машына. Па сутнасці, віртуальная машына - гэта віртуальны кампутар, які працуе ўнутры іншага кампутара, вядомы як хост-машына.

Малюнак 1: Віртуальная машына, якая працуе на ноўтбуку.

Віртуальная машына не t мець абсталяванне (памяць, жорсткі дыск, клавіятуру або манітор). Ён выкарыстоўвае імітацыю абсталявання з хост-машыны. Дзякуючы гэтаму некалькі віртуальных машын, якія таксама называюць «гасцямі», могуць працаваць на адной хост-машыне.

Малюнак 2: Хост-машына з некалькімі віртуальнымі машынамі.

Хост таксама можа запускаць некалькі віртуальных машын з рознымі функцыямісістэмы, уключаючы Linux, Mac OS і Windows. Гэтая магчымасць залежыць ад праграмнага забеспячэння, званага гіпервізарам (гл. малюнак 1 вышэй). Гіпервізар працуе на хост-машыне і дазваляе вам ствараць, наладжваць, запускаць віртуальныя машыны і кіраваць імі.

Гіпервізар размяркоўвае дыскавую прастору, плануе час апрацоўкі і кіруе выкарыстаннем памяці для кожнай віртуальнай машыны. Вось што робяць прыкладанні накшталт Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V і многія іншыя: яны з'яўляюцца гіпервізарамі.

Гіпервізар можа працаваць на ноўтбуку, ПК або серверы. Гэта робіць віртуальныя машыны даступнымі для лакальнага кампутара або карыстальнікаў, размеркаваных па сетцы.

Розныя тыпы віртуальных машын і асяроддзя патрабуюць розных тыпаў гіпервізараў. Давайце паглядзім на некаторыя з іх.

Тыпы віртуальных машын

Сістэмныя віртуальныя машыны

Сістэмныя віртуальныя машыны, якія часам называюць поўнай віртуалізацыяй, кіруюцца гіпервізарам і забяспечваюць функцыянальнасць рэальнай кампутарнай сістэмы. Яны выкарыстоўваюць уласную аперацыйную сістэму хаста для кіравання і сумеснага выкарыстання сістэмных рэсурсаў.

Сістэмным віртуальным машынам часта патрабуецца магутны хост з хуткімі або некалькімі працэсарамі, вялікім аб'ёмам памяці і вялікай колькасцю дыскавай прасторы. Некаторыя з іх, якія працуюць на персанальных або партатыўных камп'ютарах, могуць не патрабаваць вылічальнай магутнасці, якая патрэбна буйным карпаратыўным віртуальным серверам; аднак, яны будуць працаваць павольна, калі хаст-сістэма недастатковая.

Process VirtualМашыны

Віртуальныя машыны працэсаў значна адрозніваюцца ад SVM — вы можаце запусціць іх на сваёй машыне і нават не ведаць пра гэта. Яны таксама вядомыя як віртуальныя машыны прыкладанняў або кіраваныя асяроддзя выканання (MRE). Гэтыя віртуальныя машыны працуюць у аперацыйнай сістэме хаста і падтрымліваюць прыкладанні або сістэмныя працэсы.

Навошта выкарыстоўваць PVM? Яны выконваюць паслугі, не залежачы ад канкрэтных аперацыйных сістэм або абсталявання. У іх ёсць свая маленькая АС з толькі неабходнымі ім рэсурсамі. ІМН знаходзіцца ў асобным асяроддзі; не мае значэння, працуе ён на Windows, Mac OS, Linux або любой іншай хаст-машыне.

Адна з найбольш распаўсюджаных віртуальных машын працэсаў - гэта тая, пра якую вы напэўна чулі і, магчыма, бачылі, як яна працуе ваш кампутар. Ён выкарыстоўваецца для запуску прыкладанняў Java і называецца віртуальнай машынай Java або скарочана JVM.

Тыпы гіпервізараў

Большасць віртуальных машын, якія нас цікавяць, выкарыстоўваюць гіпервізар, таму што яны эмулююць цэлая кампутарная сістэма. Ёсць два розных тыпу гіпервізараў: гіпервізары Bare Metal і гіпервізары з размяшчэннем. Давайце коратка паглядзім на іх абодва.

Гіпервізар Bare Metal

BMH таксама можна назваць уласнымі гіпервізарамі, і яны працуюць непасрэдна на апаратным забеспячэнні хоста, а не ў аперацыйнай сістэме хоста. Фактычна яны замяняюць аперацыйную сістэму хаста, планаванне ікіраванне выкарыстаннем апаратнага забеспячэння кожнай віртуальнай машынай, такім чынам адключаючы «пасярэдніка» (АС хаста) у працэсе.

Уласныя гіпервізары звычайна выкарыстоўваюцца для буйнамаштабных карпаратыўных ВМ, якія кампаніі выкарыстоўваюць для забеспячэння супрацоўнікаў рэсурсы сервера. Microsoft Azure або Amazon Web Services - гэта віртуальныя машыны, размешчаныя на архітэктуры гэтага тыпу. Іншымі прыкладамі з'яўляюцца KVM, Microsoft Hyper-V і VMware vSphere.

Размешчаны гіпервізар

Размешчаныя гіпервізары працуюць на стандартных аперацыйных сістэмах, як і любое іншае прыкладанне, якое мы запускаем на нашых машынах. Яны выкарыстоўваюць АС хаста для кіравання і размеркавання рэсурсаў. Гэты тып гіпервізара лепш падыходзіць для асобных карыстальнікаў, якім трэба запускаць некалькі аперацыйных сістэм на сваіх машынах.

Сюды ўваходзяць такія праграмы, як Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop і многія іншыя. Вы можаце знайсці больш падрабязную інфармацыю аб размешчаных гіпервізарах у нашым артыкуле Лепшае праграмнае забеспячэнне для віртуальных машын.

Цяпер, калі вы маеце базавае разуменне таго, што такое віртуальная машына, вы, верагодна, можаце прыдумаць некалькі выдатных прыкладанняў. Вось некаторыя з асноўных прычын, па якіх людзі выкарыстоўваюць віртуальныя машыны.

1. Эканамічна эфектыўны

Віртуальныя машыны з'яўляюцца эканамічна эфектыўнымі ў многіх сітуацыях. Адзін з самых вядомых - у карпаратыўным свеце. Выкарыстанне фізічных сервераў для забеспячэння рэсурсаў для супрацоўнікаў можабыць вельмі дарагім. Апаратнае забеспячэнне каштуе нятанна, а яго абслугоўванне яшчэ даражэйшае.

Выкарыстанне віртуальных машын у якасці карпаратыўных сервераў цяпер стала нормай. З віртуальнымі машынамі ад пастаўшчыка, як MS Azure, няма першапачатковых закупак абсталявання і платы за абслугоўванне. Гэтыя віртуальныя машыны можна наладзіць, наладзіць і выкарыстоўваць усяго за капейкі ў гадзіну. Яны таксама могуць быць адключаны, калі яны не выкарыстоўваюцца, і не спаганяюць ніякіх выдаткаў.

Выкарыстанне віртуальнай машыны на вашай машыне таксама можа значна зэканоміць грошы. Калі вам трэба працаваць у некалькіх аперацыйных сістэмах або ў розных апаратных канфігурацыях, вы можаце

выкарыстоўваць некалькі віртуальных машын на адным хасце — не трэба выходзіць і купляць асобны камп'ютар для кожнай задачы.

2. Маштабуемасць і гнуткасць

Віртуальныя машыны маштабуюцца незалежна ад таго, з'яўляюцца яны карпаратыўнымі серверамі або віртуальнымі машынамі, якія працуюць на вашым ноўтбуку. Лёгка наладзіць рэсурсы ў адпаведнасці са сваімі патрэбамі. Калі вам патрэбна больш памяці або месца на цвёрдым дыску, проста зайдзіце ў гіпервізар і пераналадзьце віртуальную машыну, каб мець больш. Няма неабходнасці купляць новае абсталяванне, і працэс можа быць завершаны хутка.

3. Хуткая ўстаноўка

Новую віртуальную машыну можна хутка наладзіць. У мяне былі выпадкі, калі мне патрэбна была новая ўстаноўка віртуальнай машыны, я тэлефанаваў свайму калегу, які імі кіруе, і менш чым за гадзіну яны былі гатовыя да выкарыстання.

4. Аварыйнае аднаўленне

Калі вы спрабуеце прадухіліць страту даных і падрыхтавацца да аварыйнага аднаўлення, віртуальныя машыны могуць быцьвыдатны інструмент. Іх лёгка ствараць рэзервовыя копіі і пры неабходнасці можна размеркаваць у розных месцах. Калі трэці бок, напрыклад Microsoft або Amazon, размяшчае віртуальныя машыны, яны будуць па-за межамі сайта, што азначае, што вашы даныя ў бяспецы, калі ваш офіс згарыць.

5. Лёгка прайграць

Большасць гіпервізараў дазваляюць зрабіць копію або выяву віртуальнай машыны. Вобразы дазваляюць лёгка ствараць дакладныя копіі адной і той жа базавай віртуальнай машыны для любой сітуацыі.

У асяроддзі, у якім я працую, мы даем кожнаму распрацоўшчыку віртуальную машыну для распрацоўкі і тэсціравання. Гэты працэс дазваляе нам мець канфігурацыю выявы з усімі неабходнымі інструментамі і праграмным забеспячэннем. Калі ў нас ёсць новы распрацоўшчык, усё, што нам трэба зрабіць, гэта зрабіць копію гэтага відарыса, і яны атрымаюць усё неабходнае для працы.

6. Ідэальна падыходзіць для Dev/Test

Адной з галоўных пераваг выкарыстання віртуальных машын з'яўляецца тое, што яны з'яўляюцца ідэальным інструментам для распрацоўкі і тэставання праграмнага забеспячэння. Віртуальныя машыны дазваляюць распрацоўшчыкам распрацоўваць на некалькіх платформах і асяроддзях на адной машыне. Калі гэтая віртуальная машына пашкоджваецца або знішчаецца, новая можа быць хутка створана.

Яны дазваляюць тэсціроўшчыку мець чыстае новае асяроддзе для кожнага цыкла тэставання. Я працаваў над праектамі, дзе мы наладжвалі сцэнарыі аўтаматызаванага тэсціравання, якія ствараюць новую віртуальную машыну, усталёўваюць апошнюю версію праграмнага забеспячэння, запускаюць усе неабходныя тэсты, а затым выдаляюць віртуальную машыну пасля завяршэння тэстаў.

Віртуальныя машыны выдатна працуюць длятэставанне прадукту і агляды, такія як тыя, якія мы робім тут, на SoftwareHow.com. Я магу ўсталёўваць прыкладанні ў віртуальную машыну, якая працуе на маім кампутары, і тэставаць іх, не загрувашчваючы асноўнае асяроддзе.

Калі я скончу тэсціраванне, я заўсёды магу выдаліць віртуальную машыну, а затым стварыць новую, калі мне гэта спатрэбіцца. Гэты працэс таксама дазваляе мне тэставаць на некалькіх платформах, нават калі ў мяне ёсць толькі машына з Windows.

Заключныя словы

Як бачыце, віртуальныя машыны з'яўляюцца эканамічна эфектыўным, універсальным інструментам, які можа выкарыстоўвацца для многіх прыкладанняў. Нам больш не трэба купляць, наладжваць і абслугоўваць дарагое абсталяванне, каб забяспечыць доступ да сервера для тэсціроўшчыкаў, распрацоўшчыкаў і іншых. Віртуальныя машыны даюць нам магчымасць лёгка і хутка ствараць патрэбныя нам аперацыйныя сістэмы, апаратнае забеспячэнне і асяроддзе — у любы час.

Я Кэці Дэніэлс, эксперт па Adobe Illustrator. Я выкарыстоўваю праграмнае забеспячэнне з версіі 2.0 і ствараю падручнікі для яго з 2003 года. Мой блог з'яўляецца адным з самых папулярных месцаў у Інтэрнэце для людзей, якія жадаюць вывучыць Illustrator. У дадатак да маёй працы ў якасці блогера, я таксама аўтар і графічны дызайнер.