Ի՞նչ է վիրտուալ մեքենան: (Ինչու և երբ օգտագործել այն)

  • Կիսվել Սա
Cathy Daniels

Եթե դուք աշխատում եք ծրագրային ապահովման ոլորտում կամ դրա շուրջ, հավանաբար լսել եք վիրտուալ մեքենաների մասին: Եթե ​​ոչ, ապա ձեզ կարող է հետաքրքրել, թե ինչ են դրանք և ինչի համար են օգտագործվում:

Որպես ծրագրային ապահովման ինժեներ, ես ամեն օր օգտագործում եմ վիրտուալ մեքենաներ: Դրանք հզոր գործիքներ են ծրագրային ապահովման մշակման մեջ, բայց դրանք ունեն նաև այլ կիրառումներ: Նաև հայտնի է որպես VM-ներ, շատ ձեռնարկություններ օգտագործում են դրանք իրենց ճկունության, հուսալիության և ծախսարդյունավետության պատճառով. դրանք նաև կանխում են աղետները ծրագրային ապահովման արագ փորձարկումից:

Եկեք տեսնենք, թե ինչ են վիրտուալ մեքենաները և ինչու են դրանք օգտագործվում:

Ի՞նչ է վիրտուալ մեքենան:

Վիրտուալ մեքենան օպերացիոն համակարգի (ՕՀ) օրինակ է, ինչպիսին է Windows, Mac OS կամ Linux, որն աշխատում է համակարգչի հիմնական ՕՀ-ում:

Սովորաբար, այն աշխատում է ձեր աշխատասեղանի հավելվածի պատուհանում: Վիրտուալ մեքենան ունի լիարժեք ֆունկցիոնալություն և գործում է որպես առանձին համակարգիչ կամ մեքենա: Ըստ էության, վիրտուալ մեքենան վիրտուալ համակարգիչ է, որն աշխատում է մեկ այլ համակարգչի ներսում, որը հայտնի է որպես հյուրընկալող մեքենա:

Պատկեր 1. Վիրտուալ մեքենա, որն աշխատում է նոութբուքի վրա:

Վիրտուալ մեքենան չի աշխատում: չունեն սարքավորումներ (հիշողություն, կոշտ սկավառակ, ստեղնաշար կամ մոնիտոր): Այն օգտագործում է հյուրընկալող մեքենայի մոդելավորված սարքավորում: Դրա պատճառով մի քանի VM-ներ, որոնք նաև կոչվում են «հյուրեր», կարող են գործարկվել մեկ հյուրընկալող մեքենայի վրա:

Պատկեր 2. Հոսթ մեքենան աշխատում է բազմաթիվ VM-ներով:

Հյուրընկալողը կարող է նաև գործարկել մի քանի VM-ներ տարբեր գործողությամբհամակարգեր, ներառյալ Linux, Mac OS և Windows: Այս հնարավորությունը կախված է հիպերվիզոր կոչվող ծրագրաշարից (տես վերևում գտնվող նկար 1): Հիպերվիզորն աշխատում է հյուրընկալող մեքենայի վրա և թույլ է տալիս ստեղծել, կարգավորել, գործարկել և կառավարել վիրտուալ մեքենաներ:

Հիպերվիզորը հատկացնում է սկավառակի տարածք, պլանավորում է մշակման ժամանակը և կառավարում հիշողության օգտագործումը յուրաքանչյուր VM-ի համար: Ահա թե ինչ են անում այնպիսի հավելվածներ, ինչպիսիք են Oracle VirtualBox-ը, VMware-ը, Parallels-ը, Xen-ը, Microsoft Hyper-V-ը և շատ ուրիշներ. դրանք հիպերվիզորներ են:

Հիպերվիզորը կարող է աշխատել նոութբուքի, ԱՀ-ի կամ սերվերի վրա: Այն հասանելի է դարձնում վիրտուալ մեքենաները տեղական համակարգչին կամ ցանցում բաշխված օգտվողներին:

Վիրտուալ մեքենաների և միջավայրերի տարբեր տեսակներ պահանջում են տարբեր տեսակի հիպերվիզորներ: Եկեք նայենք դրանցից մի քանիսին:

Վիրտուալ մեքենաների տեսակները

Համակարգի վիրտուալ մեքենաներ

Համակարգային վիրտուալ մեքենաները, որոնք երբեմն կոչվում են ամբողջական վիրտուալացում, ղեկավարվում են հիպերվիզորի կողմից և ապահովում են իրական համակարգչային համակարգի ֆունկցիոնալությունը: Նրանք օգտագործում են հյուրընկալողի բնիկ օպերացիոն համակարգը՝ համակարգի ռեսուրսները կառավարելու և կիսելու համար:

Համակարգի վիրտուալ մեքենաները հաճախ պահանջում են հզոր հոսթ՝ արագ կամ մի քանի պրոցեսորներով, մեծ քանակությամբ հիշողությամբ և տոննա սկավառակի տարածությամբ: Ոմանք, որոնք աշխատում են անհատական ​​կամ նոութբուք համակարգիչներով, կարող են չպահանջել այն հաշվողական հզորությունը, որն անհրաժեշտ է խոշոր ձեռնարկությունների վիրտուալ սերվերներին. Այնուամենայնիվ, դրանք դանդաղ կաշխատեն, եթե հյուրընկալող համակարգը համարժեք չէ:

Գործընթացը վիրտուալՄեքենաներ

Գործընթաց վիրտուալ մեքենաները միանգամայն տարբերվում են SVM-ներից. հնարավոր է, որ դրանք աշխատեն ձեր սարքի վրա և նույնիսկ չգիտեք այդ մասին: Դրանք նաև հայտնի են որպես կիրառական վիրտուալ մեքենաներ կամ կառավարվող գործարկման միջավայրեր (MREs): Այս վիրտուալ մեքենաներն աշխատում են հյուրընկալող օպերացիոն համակարգի ներսում և աջակցում են հավելվածներին կամ համակարգային գործընթացներին:

Ինչու՞ օգտագործել PVM: Նրանք ծառայություններ են մատուցում՝ առանց կախվածության կոնկրետ օպերացիոն համակարգերից կամ սարքաշարից: Նրանք ունեն իրենց փոքրիկ ՕՀ՝ միայն իրենց անհրաժեշտ ռեսուրսներով: ԱՎԻ-ն առանձին միջավայրում է. Կարևոր չէ՝ այն աշխատում է Windows-ի, Mac OS-ի, Linux-ի կամ որևէ այլ հյուրընկալող մեքենայի վրա:

Ամենատարածված գործընթացի վիրտուալ մեքենաներից մեկն այն է, որի մասին հավանաբար լսել եք և տեսել եք, որ աշխատում է դրա վրա: ձեր համակարգիչը: Այն օգտագործվում է Java հավելվածներ գործարկելու համար և կոչվում է Java վիրտուալ մեքենա կամ JVM կարճ:

Hypervisors-ի տեսակները

Վիրտուալ մեքենաների մեծ մասը, որոնց հետ մենք մտահոգված ենք, օգտագործում են հիպերվիզոր, քանի որ դրանք նմանակում են: մի ամբողջ համակարգչային համակարգ։ Գոյություն ունեն երկու տարբեր տեսակի հիպերվիզորներ՝ Bare Metal Hypervisors և Hosted Hypervisors: Եկեք արագ նայենք երկուսին էլ:

Bare Metal Hypervisor

BMH-ները կարող են նաև կոչվել բնիկ հիպերվիզորներ, և դրանք աշխատում են ուղղակիորեն հյուրընկալողի ապարատում, այլ ոչ թե գործարկվում հյուրընկալողի օպերացիոն համակարգում: Փաստորեն, նրանք զբաղեցնում են հյուրընկալողի օպերացիոն համակարգի տեղը, պլանավորումը ևկառավարելով ապարատային օգտագործումը յուրաքանչյուր վիրտուալ մեքենայի կողմից՝ այդպիսով հեռացնելով «միջին մարդուն» (հյուրընկալողի OS-ն) գործընթացում:

Բնական հիպերվիզորները սովորաբար օգտագործվում են խոշոր ձեռնարկությունների VM-ների համար, որոնք ընկերությունները օգտագործում են աշխատակիցներին ապահովելու համար: սերվերի ռեսուրսներ. Microsoft Azure-ը կամ Amazon Web Services-ը VM-ներ են, որոնք տեղակայված են այս տեսակի ճարտարապետության վրա: Այլ օրինակներ են KVM-ը, Microsoft Hyper-V-ը և VMware vSphere-ը:

Hosted Hypervisor

Hosted Hypervisor-ն աշխատում է ստանդարտ օպերացիոն համակարգերով, ինչպես ցանկացած այլ ծրագիր, որը մենք աշխատում ենք մեր մեքենաներում: Նրանք օգտագործում են հյուրընկալողի ՕՀ-ը՝ ռեսուրսները կառավարելու և բաշխելու համար: Այս տեսակի հիպերվիզորն ավելի հարմար է առանձին օգտատերերի համար, ովքեր պետք է աշխատեն մի քանի օպերացիոն համակարգեր իրենց մեքենաներում:

Դրանք ներառում են այնպիսի ծրագրեր, ինչպիսիք են Oracle VirtualBox-ը, VMware Workstations-ը, VMware Fusion-ը, Parallels Desktop-ը և շատ ուրիշներ: Դուք կարող եք ավելի մանրամասն տեղեկություններ գտնել հյուրընկալված հիպերվիզորների մասին մեր հոդվածում՝ «Վիրտուալ մեքենաների լավագույն ծրագրակազմը»:

Ինչու՞ օգտագործել վիրտուալ մեքենաներ:

Այժմ, երբ դուք ունեք հիմնական հասկացողություն, թե ինչ է վիրտուալ մեքենան, հավանաբար կարող եք մտածել մի քանի հիանալի հավելվածների մասին: Ահա մի քանի հիմնական պատճառ, թե մարդիկ օգտագործում են վիրտուալ մեքենաներ:

1. Ծախսերի արդյունավետ

Վիրտուալ մեքենաները ծախսարդյունավետ են բազմաթիվ իրավիճակներում: Ամենահայտնիներից մեկը կորպորատիվ աշխարհում է: Աշխատակիցների համար ռեսուրսներ ապահովելու համար ֆիզիկական սերվերների օգտագործումը կարող էլինել շատ թանկ. Սարքավորումը էժան չէ, և դրա պահպանումն էլ ավելի ծախսատար է:

Վիրտուալ մեքենաների օգտագործումը որպես ձեռնարկության սերվերներ այժմ դարձել է նորմ: MS Azure-ի նման մատակարարից VM-ներով չկան նախնական սարքավորումների գնումներ և սպասարկման վճարներ: Այս VM-ները կարող են կարգավորվել, կազմաձևվել և օգտագործվել ընդամենը մեկ ժամվա ընթացքում: Նրանք կարող են նաև անջատվել, երբ դրանք չեն օգտագործվում և ընդհանրապես ծախսեր չեն պահանջում:

Ձեր մեքենայի վրա VM-ի օգտագործումը կարող է նաև հսկայական գումար խնայել: Եթե ​​Ձեզ անհրաժեշտ է աշխատել մի քանի օպերացիոն համակարգերում կամ տարբեր ապարատային կոնֆիգուրացիաներում, կարող եք

օգտագործել մի քանի վիրտուալ մեքենաներ մեկ հոսթի վրա. կարիք չկա դուրս գալ և առանձին համակարգիչ գնել յուրաքանչյուր առաջադրանքի համար:

2. Սանդղելի և ճկուն

Անկախ նրանից, թե դրանք ձեռնարկության սերվերներ են, թե ձեր նոութբուքի վրա աշխատող վիրտուալ մեքենաներ, վիրտուալ մեքենաները մասշտաբելի են: Հեշտ է հարմարեցնել ռեսուրսները ձեր կարիքներին համապատասխան: Եթե ​​ձեզ ավելի շատ հիշողություն կամ կոշտ սկավառակի տարածք է անհրաժեշտ, պարզապես մտեք հիպերվիզոր և վերակազմավորեք VM-ն ավելի շատ ունենալու համար: Նոր սարքավորում գնելու կարիք չկա, և գործընթացը կարող է արագ ավարտվել:

3. Արագ կարգավորում

Նոր VM կարող է արագ կարգավորվել: Ես ունեցել եմ դեպքեր, երբ ինձ անհրաժեշտ է եղել VM-ի նոր կարգավորում, զանգահարել եմ իմ գործընկերոջը, ով կառավարում է դրանք, և պատրաստ էի դրանք օգտագործել մեկ ժամից պակաս ժամանակում:

4: Աղետների վերականգնում

Եթե փորձում եք կանխել տվյալների կորուստը և պատրաստվել աղետից վերականգնմանը, VM-ները կարող են լինելհիանալի գործիք. Դրանք հեշտ է կրկնօրինակել և անհրաժեշտության դեպքում դրանք կարող են տարածվել տարբեր վայրերում: Եթե ​​երրորդ կողմը, ինչպիսին Microsoft-ն է կամ Amazon-ը, հյուրընկալում է վիրտուալ մեքենաներին, դրանք կլինեն առանց կայքի, ինչը նշանակում է, որ ձեր տվյալները ապահով են, եթե ձեր գրասենյակն այրվի:

5. Հեշտ է վերարտադրվել

Հիպերվիզորների մեծ մասը թույլ է տալիս ստեղծել VM-ի պատճեն կամ պատկեր: Պատկերումը թույլ է տալիս հեշտությամբ պտտել նույն բազային VM-ի ճշգրիտ վերարտադրությունները ցանկացած իրավիճակի համար:

Այն միջավայրում, որտեղ ես աշխատում եմ, մենք յուրաքանչյուր մշակողի տալիս ենք VM՝ օգտագործելու մշակման և փորձարկման համար: Այս գործընթացը թույլ է տալիս մեզ ունենալ պատկեր՝ կազմաձևված բոլոր անհրաժեշտ գործիքներով և ծրագրերով: Երբ մենք ունենք նոր ծրագրավորող, որն աշխատում է, մեզ մնում է միայն պատճենել այդ պատկերը, և նրանք ունեն այն, ինչ անհրաժեշտ է աշխատելու համար:

6. Կատարյալ Dev/Test-ի համար

Վիրտուալ մեքենաների օգտագործման լավագույն առավելություններից մեկն այն է, որ դրանք կատարյալ գործիք են ծրագրային ապահովման մշակման և փորձարկման համար: VM-ները թույլ են տալիս ծրագրավորողներին զարգացնել բազմաթիվ հարթակներում և միջավայրերում մեկ մեքենայի վրա: Եթե ​​այդ VM-ը փչանա կամ ոչնչացվի, կարող է արագ ստեղծվել նորը:

Դրանք թույլ են տալիս փորձարկողին ունենալ մաքուր նոր միջավայր յուրաքանչյուր փորձարկման ցիկլի համար: Ես աշխատել եմ նախագծերի վրա, որտեղ մենք ստեղծել ենք ավտոմատ թեստային սկրիպտներ, որոնք ստեղծում են նոր VM, տեղադրում են ծրագրաշարի վերջին տարբերակը, կատարում են բոլոր անհրաժեշտ թեստերը, այնուհետև ջնջում ենք VM-ը, երբ թեստերն ավարտվեն:

VM-ները հիանալի աշխատում են դրա համար:արտադրանքի փորձարկում և ակնարկներ, ինչպիսիք են մենք այստեղ SoftwareHow.com-ում: Ես կարող եմ հավելվածներ տեղադրել իմ մեքենայի վրա աշխատող VM-ում և փորձարկել դրանք՝ չխաթարելով իմ հիմնական միջավայրը:

Երբ ես ավարտեմ փորձարկումը, ես միշտ կարող եմ ջնջել վիրտուալ մեքենան, այնուհետև ստեղծել նորը, երբ դա ինձ անհրաժեշտ լինի: Այս գործընթացը նաև թույլ է տալիս ինձ փորձարկել բազմաթիվ հարթակներում, չնայած ես միայն Windows մեքենա ունեմ:

Վերջնական բառեր

Ինչպես տեսնում եք, վիրտուալ մեքենաները ծախսարդյունավետ, բազմակողմանի գործիք են, որը կարող է օգտագործել բազմաթիվ ծրագրերի համար: Մենք այլևս կարիք չունենք գնելու, կարգավորելու և սպասարկելու թանկարժեք ապարատ՝ փորձարկողների, մշակողների և այլոց համար սերվերի հասանելիություն ապահովելու համար: VM-ները մեզ տալիս են ճկունություն՝ ցանկացած պահի հեշտությամբ և արագ ստեղծելու մեզ անհրաժեշտ օպերացիոն համակարգերը, սարքավորումները և միջավայրերը:

Ես Քեթի Դենիելսն եմ՝ Adobe Illustrator-ի փորձագետ: Ես օգտագործում եմ ծրագրաշարը 2.0 տարբերակից և 2003 թվականից ստեղծում եմ դրա համար ձեռնարկներ: Իմ բլոգը համացանցում ամենահայտնի ուղղություններից մեկն է այն մարդկանց համար, ովքեր ցանկանում են սովորել Illustrator: Բացի բլոգեր իմ աշխատանքից, ես նաև հեղինակ և գրաֆիկական դիզայներ եմ: