A SEMINAR REPORT ON
VIRTUAL MACHINE AND ITS TOOLS In partial fulfillment of B.E IV yr (Computer Science En!!."
#or$ C%rrie& Out At
'IET 'o&)pur
Submitted To: To: Nidhi Purohit
Submitted by: Savan Kumar Vaishnav CSE, VI Year
Ac$no*+e&!ement I am indebted to all my elders, leturers and friends for inspirin! me to !ive a seminar "ith immense dediation# $ith !reat pleasure and !ratefulness, I e%tend my deep sense of !ratitude to M,. Ni&)i Puro)it for !ivin! me an opportunity to aomplish my seminar under her !uidane and to inrease my &no"led!e# I "oul "ould d also also li&e li&e to than& than& Mr,. Mr,. Su Su!%n !%n&)% &)% '()*, Computer Siene + En!ineerin!, odhpur Institute of En!ineerin! + Tehnolo!y- for !ivin! her preious time + !uidane for the the suessful ompletion of the the seminar# .ast .astly ly I "ish "ish to than than& & eah eah and and ever every y perso person n invo involv lved ed in ma&i ma&in! n! my seminar suessful#
Than&in! You# S%-%n . V%i,)n%/B.E. (IV 0e%r" Computer Science En!ineerin!1
Pre2%ce This seminar is on topi /Virtual mahine and its tools0# In this seminar "e "ill deal "ith virtual mahines, "hih is basially soft"are reali1ation of omputer hard"are# 2s no" days virtua virtuall mahin mahines es are beomi beomin! n! inrea inreasin sin!ly !ly popula popularr for usin! usin! multi multiple ple !uest !uest operati operatin! n! systems amounted on host operatin!# So in this seminar "e "ill disuss many of the points on virtual mahine as "hat are V3, "hat4s their usa!e, ho" they "or& et# $e "ill also disuss on tools used for virtual mahines, ho" to use them, "hat are their benefits, business perspetives about them et#
In&e3 5# Intro&uction
4
6# Hi,tory5#)y VM6
7
7# Hyper-i,or
8
8# C%te!orie,
9
9# Tec)ni:ue,
;<
# Too+,
;4
;# Conc+u,ion
=8
<# A&-%nt%!e,
=9
=# Di,%&-%nt%!e,
<;
5># App+ic%tion,
<>
55# Appen&i3
<7
56# Re2erence,
<7
Intro&uction 2 virtual mahine "as ori!inally defined by P ope& and ?oldber! as @an effiient, isolated dupliate of a real mahine@# Current use inludes virtual mahines "hih have no diret orrespondene to any real hard"are# So a virtual mahine is basially a soft"are implementation of a mahine 'i#e# a omputer- that e%eutes pro!rams li&e a physial mahine# E#!# A a pro!ram "ritten in ava reeives servies from the Bava runtime environment 'E- soft"are by issuin! ommands to, and reeivin! the e%peted results from, the ava soft"are# Dy providin! these servies to the pro!ram, the ava soft"are is atin! as a @virtual mahine@, ta&in! the plae of the operatin! system or hard"are for "hih the pro!ram "ould ordinarily be tailored#
Hi,tory5#)y VM 6 •
Early omputers "ere lar!e 'mainframes- and e%pensive#
•
V33 approah allo"ed the mahine to be safely multiple%ed amon! many different appliations#
•
2s an alternative to multipro!rammin!#
E%r+y e3%mp+e? t)e IBM <@ •
V37;> is the virtual mahine monitor#
•
2s eah user lo!s on, a ne" /virtual mahine0 is reated#
•
C3S, a sin!leAuser, interative )S "as ommonly run as the )S#
Sep%r%tion o2 po*er,? •
Virtual mahine interats "ith user appliations#
•
Virtual mahine monitor mana!es hard"are resoures#
;98, ;99, •
•
•
2s hard"are !ot heaper and operatin! systems beame better eFuipped to handle multitas&in!, the ori!inal motivation "ent a"ay# (ard"are platforms !radually eliminated hard"are support for virtuali1ation# 2nd then G
L%te 9, to to&%y 3assively parallel proessors '3PPs- "ere developed durin! the 5==>sH they "ere hard to pro!ram and did not support e%istin! operatin! systems# •
esearhers at Stanford used virtuali1ation to ma&e 3PPs loo& more li&e traditional mahines# •
esult: V3"are In# supplier of V33s for ommodity hard"are# •
R%tion%+e 2or VMM, To&%y •
Today, seurity and enapsulation are the most important reasons for usin! V33s#
•
/GV33s !ive operatin! systems developers another opportunity to develop funtionality no lon!er pratial in today4s omple% and ossified operatin! systems, "here innovation moves at a !eolo!i pae#0
Hyper-i,or In omputin!, a hypervisor, also alled virtual
mahine monitor 'V33-, allo"s
multiple operatin! systems to run onurrently on a host omputerJ a feature alled hard"are virtuali1ation# The hypervisor presents the !uest operatin! systems "ith a virtual platform and monitors the e%eution of the !uest operatin! systems# In that "ay, multiple operatin! systems, inludin! multiple instanes of the same operatin! system, an share hard"are resoures# nli&e multitas&in!, "hih also allo"s appliations to share hard"are resoures, the virtual mahine approah usin! a hypervisor isolates failures in one operatin! system from other operatin! systems sharin! the hard"are#
2n e%ample of a (ypervisor is PS3 'Proessor esoureSystem 3ana!er-, "hih is a typeA5 (ypervisor that allo"s multiple lo!ial partitions to share physial resoures suh as CPs, diret aess stora!e devie '*2S*-, and memory# PS3 "as introdued by ID3 in the early 5=;>Ls "ith the ID3 System 7;> proessors# These onepts have beome an important part of the term &no"n as virtuali1ation#
The onept of Virtuali1ation "ith PS3, multiple .P2s and type 5 (ypervisor "as first introdued by ID3 in 5=;6 "ith the introdution of the lar!e main ID3 System 7;> omputers 'suh as the ID3 75< Central Proessin! nit-# PS3 is a typeA5 (ypervisor that runs diretly on the mahine level and alloates system resoures aross .P2s to share physial resoures#
?oldber! lassifies t"o types of hypervisor:
Type 5 'or native, bareAmetal- hypervisors run diretly on the hostLs hard"are to ontrol the hard"are and to monitor !uest operatin!Asystems# 2 !uest operatin! system thus runs on another level above the hypervisor# This model represents the lassi implementation of virtual mahine arhiteturesH the ori!inal hypervisor "as CPC3S, developed at ID3in the 5=>s, anestor of ID3Ls 1V3#
Type
6 'or hosted-
hypervisors
run
"ithin
a
onventional operatin!A
system environment# $ith the hypervisor layer as a distint seond soft"are level, !uest operatin! systems run at the third level above the hard"are# Note: 3irosoft (yperAV 'released in une 6>><- e%emplifies a type 5 produt that is often mista&en for a type 6# Doth the free standAalone version and the version that is part of the ommerial $indo"s Server 6>>< produt use a virtuali1ed $indo"s Server 6>>< parent partition to mana!e the Type 5 (yperAV hypervisor# In both ases the (yperAV hypervisor loads prior to the mana!ement operatin! system, and any virtual environments reated run diretly on the hypervisor, not via the mana!ement operatin! system# The term hypervisor apparently ori!inated in ID3Ls CPA7;> reimplementation of CPA; for the System7;>, released in 5=;6 as V37;># The term hypervisor all, or hyperall, referred to the paravirtuali1ation interfae, by "hih a !uest operatin! system ould aess servies diretly from the 'hi!herAlevel- ontrol pro!ram analo!ous to ma&in! a supervisor all to the 'sameAlevel- operatin! system# The term supervisor refers to the operatin! system &ernel, "hih runs in supervisor state on ID3 mainframes#
C%te!orie, Sy,tem -irtu%+ m%c)ine,?5 System virtual mahines 'sometimes alled hard"are virtual mahines- allo" the sharin! of the underlyin! physial mahine resoures bet"een different virtual mahines, eah runnin! its o"n operatin! system# The soft"are layer providin! the virtuali1ation is alled a virtual mahine monitor or hypervisor# 2 hypervisor an run on bare hard"are 'Type 5 or native V3- or on top of an operatin! system 'Type 6 or hosted V3-# The main advanta!es of system V3s are: •
•
•
multiple )S environments an oAe%ist on the same omputer, in stron! isolation from eah other the virtual mahine an provide an instrution set arhiteture 'IS2- that is some"hat different from that of the real mahine 2ppliation provisionin!, maintenane, hi!h availability and disaster reovery#
The main disadvanta!e of system V3s is: •
a virtual mahine is less effiient than a real mahine "hen it aesses the hard"are indiretly
3ultiple V3s eah runnin! their o"n operatin! system 'alled !uest operatin! systemare freFuently used in server onsolidation, "here different servies that used to run on individual mahines in order to avoid interferene are instead run in separate V3s on the same physial mahine# This use is freFuently alled FualityAofAservie isolation 'MoS isolation-# The desire to run multiple operatin! systems "as the ori!inal motivation for virtual mahines, as it allo"ed timeAsharin! a sin!le omputer bet"een several sin!leAtas&in! )Ses# In some respets, a system virtual mahine an be onsidered a !enerali1ation of the onept of virtual memory that historially preeded it# ID3Ls CPC3S, the first systems to allo" full virtuali1ation, implemented time sharin! by providin! eah user "ith a sin!leAuser operatin! system, the C3S# nli&e virtual memory, a system virtual mahine allo"ed the user to use privile!ed instrutions in their ode# This approah had ertain advanta!es, for instane it allo"ed users to add inputoutput devies not allo"ed by the standard system# The !uest )Ses do not have to be all the same, ma&in! it possible to run different )Ses on the same omputer 'e#!#, 3irosoft $indo"s and .inu%, or older versions of an )S in order to support soft"are that has not yet been ported to the latest version-# The use of virtual mahines to support different !uest )Ses is beomin! popular in embedded
systemsH a typial use is to support a realAtime operatin! system at the same time as a hi!hAlevel )S suh as .inu% or $indo"s# 2nother use is to sandbo% an )S that is not trusted, possibly beause it is a system under development# Virtual mahines have other advanta!es for )S development, inludin! better debu!!in! aess and faster reboots# .i!hter "ei!ht operatin! systemAlevel virtuali1ation tehniFues, suh as Solaris ones, provide a level of isolation "ithin a sin!le operatin! system# They do not have isolation as omplete as a virtual mahine#
Proce,, -irtu%+ m%c)ine,?5 2 proess V3, sometimes alled an appliation virtual mahine, runs as a normal appliation inside an )S and supports a sin!le proess# It is reated "hen that proess is started and destroyed "hen it e%its# Its purpose is to provide a platformAindependent
pro!rammin! environment that abstrats a"ay details of the underlyin! hard"are or operatin! system, and allo"s a pro!ram to e%eute in the same "ay on any platform# 2 proess V3 provides a hi!hAlevel abstration J that of a hi!hAlevel pro!rammin! lan!ua!e 'ompared to the lo"Alevel IS2 abstration of the system V3-# Proess V3s are implemented usin! an interpreter H performane omparable to ompiled pro!rammin! lan!ua!es is ahieved by the use of BustAinAtime ompilation# This type of V3 has beome popular "ith the ava pro!rammin! lan!ua!e, "hih is implemented usin! the ava virtual mahine# )ther e%amples inlude the Parrot virtual mahine, "hih serves as an abstration layer for several interpreted lan!ua!es, and the #NET Orame"or& , "hih runs on a V3 alled the Common .an!ua!e untime# 2 speial ase of proess V3s are systems that abstrat over the ommuniation mehanisms of a 'potentially hetero!eneous- omputer luster # Suh a V3 does not onsist of a sin!le proess, but one proess per physial mahine in the luster# They are desi!ned to ease the tas& of pro!rammin! parallel appliations by lettin! the pro!rammer fous on al!orithms rather than the ommuniation mehanisms provided by the interonnet and the )S# They do not hide the fat that ommuniation ta&es plae, and as suh do not attempt to present the luster as a sin!le parallel mahine# nli&e other proess V3s, these systems do not provide a speifi pro!rammin! lan!ua!e, but are embedded in an e%istin! lan!ua!eH typially suh a system provides bindin!s for several lan!ua!es 'e#!#, C and O)T2N-# E%amples are PV3 'Parallel Virtual 3ahine- and 3PI '3essa!e Passin! Interfae-# They are not stritly virtual mahines, as the appliations runnin! on top still have aess to all )S servies, and are therefore not onfined to the system model provided by the @V3@#
Tec)ni:ue,
Emu+%tion o2 t)e un&er+yin! r%* )%r&*%re (n%ti-e e3ecution"?5 This approah is desribed as full virtuali1ation of the hard"are, and an be implemented usin! a Type 5 or Type 6 hypervisor # '2 Type 5 hypervisor runs diretly on the hard"areH a Type 6 hypervisor runs on another operatin! system, suh as .inu%-# Eah virtual mahine an run any operatin! system supported by the underlyin! hard"are# sers an thus run t"o or more different @!uest@ operatin! systems simultaneously, in separate @private@ virtual omputers# The pioneer system usin! this onept "as ID3Ls CPA8>, the first '5=;- version of ID3Ls CPC3S '5=;A5=;6- and the preursor to ID3Ls V3 family '5=;6Apresent-# $ith the V3 arhiteture, most users run a relatively simple interative omputin! sin!leAuser operatin! system, C3S, as a @!uest@ on top of the V3 ontrol pro!ram 'V3ACP-# This approah &ept the C3S desi!n simple, as if it "ere runnin! aloneH the ontrol pro!ram Fuietly provides multitas&in! and resoure mana!ement servies @behind the senes@# In addition to C3S, V3 users an run any of the other ID3 operatin! systems, suh as 3VS or 1)S# V3 is the urrent version of V3, and is used to support hundreds or thousands of virtual mahines on a !iven mainframe# Some installations use .inu% for 1Series to run $eb servers, "here .inu% runs as the operatin! system "ithin many virtual mahines# Oull virtuali1ation is partiularly helpful in operatin! system development, "hen e%perimental ne" ode an be run at the same time as older, more stable, versions, eah in a separate virtual mahine# The proess an even be reursive: ID3 debu!!ed ne" versions of its virtual mahine operatin! system, V3, in a virtual mahine runnin! under an older version of V3, and even used this tehniFue to simulate ne" hard"are# The standard %< proessor arhiteture as used in modern PCs does not atually meet the Pope& and ?oldber! virtuali1ation reFuirements# Notably, there is no e%eution mode "here all sensitive mahine instrutions al"ays trap, "hih "ould allo" perAinstrution virtuali1ation# *espite these limitations, several soft"are pa&a!es have mana!ed to provide virtuali1ation on the %< arhiteture, even thou!h dynami reompilation of privile!ed ode, as first implemented by V3"are, inurs some performane overhead as ompared to a V3 runnin! on a natively virtuali1able arhiteture suh as the ID3 System7;> or 3otorola 3C<>6># Dy no", several other soft"are pa&a!es suh as Virtual PC, VirtualDo%, Parallels $or&station and Virtual Iron mana!e to implement virtuali1ation on %< hard"are# Intel and 23* have introdued features to their %< proessors to enable virtuali1ation in hard"are#
Emu+%tion o2 % non5n%ti-e ,y,tem?5 Virtual mahines an also perform the role of an emulator , allo"in! soft"are appliations and operatin! systems "ritten for another omputer proessor arhiteture to be run#
Some virtual mahines emulate hard"are that only e%ists as a detailed speifiation# Oor e%ample:
)ne of the first "as the pAode mahine speifiation, "hih allo"ed pro!rammers to "rite Pasal pro!rams that "ould run on any omputer runnin! virtual mahine soft"are that orretly implemented the speifiation# The speifiation of the ava virtual mahine# The Common .an!ua!e Infrastruture virtual mahine at the heart of the 3irosoft #NET initiative# )pen Oirm"are allo"s plu!Ain hard"are to inlude bootAtime dia!nostis, onfi!uration ode, and devie drivers that "ill run on any &ind of CP#
This tehniFue allo"s diverse omputers to run any soft"are "ritten to that speifiationH only the virtual mahine soft"are itself must be "ritten separately for eah type of omputer on "hih it runs#
Oper%tin! ,y,tem5+e-e+ -irtu%+i%tion?5 )peratin! SystemAlevel Virtuali1ation is a server virtuali1ation tehnolo!y "hih virtuali1es servers on an operatin! system '&ernel- layer# It an be thou!ht of as partitionin!: a sin!le physial server is slied into multiple small partitions 'other"ise alled virtual environments 'VE-, virtual private servers 'VPS-, !uests, 1ones, et#-H eah suh partition loo&s and feels li&e a real server, from the point of vie" of its users# Oor e%ample, Solaris ones supports multiple !uest )Ses runnin! under the same )S 'suh as Solaris 5>-# 2ll !uest )Ses have to use the same &ernel level and annot run as different )S versions# Solaris native ones also reFuires that the host )S be a version of SolarisH other )Ses from other manufaturers are not supportedH ho"ever you need to use Solaris Dranded 1ones to use another )Ses as 1ones# 2nother e%ample is System $or&load Partitions '$P2s-, introdued in the ID3 2I #5 operatin! system# System $P2s are soft"are partitions runnin! under one instane of the !lobal 2I )S environment# The operatin! system level arhiteture has lo" overhead that helps to ma%imi1e effiient use of server resoures# The virtuali1ation introdues only a ne!li!ible overhead and allo"s runnin! hundreds of virtual private servers on a sin!le physial server# In ontrast, approahes suh as full virtuali1ation and paravirtuali1ation 'li&e en or 3.- annot ahieve suh level of density, due to overhead of runnin! multiple &ernels# Orom the other side, operatin! systemAlevel virtuali1ation does not allo" runnin! different operatin! systems 'i#e# different &ernels-, althou!h different libraries, distributions et# are possible#
Too+, VM*%re
V3"are soft"are provides a ompletely virtuali1ed set of hard"are to the !uest operatin! system# V3"are soft"are virtuali1es the hard"are for a video adapter, a net"or& adapter, and hard dis& adapters# The host provides passAthrou!h drivers for !uest SD, serial, and parallel devies# In this "ay, V3"are virtual mahines beome hi!hly portable bet"een omputers, beause every host loo&s nearly idential to the !uest# In pratie, a system administrator an pause operations on a virtual mahine !uest, move or opy that !uest to another physial omputer, and there resume e%eution e%atly at the point of suspension# 2lternately, for enterprise servers, a feature alled V3otion allo"s the mi!ration of operational !uest virtual mahines bet"een similar but separate hard"are hosts sharin! the same stora!e# Eah of these transitions is ompletely transparent to any users on the virtual mahine at the time it is bein! mi!rated# V3"are $or&station, Server, and ES ta&e a more optimi1ed path to runnin! tar!et operatin! systems on the host than emulators 'suh asDohs- "hih simulate the funtion of eah CP instrution on the tar!et mahine oneAbyAone, or dynami reompilation "hih ompiles blo&s of mahineAinstrutions the first time they e%eute, and then uses the translated ode diretly "hen the ode runs subseFuently# ' 3irosoft Virtual PC for 3a )S ta&es this approah#V3"are soft"are does not emulate an instrution set for different hard"are not physially present# This si!nifiantly boosts performane, but an ause problems "hen movin! virtual mahine !uests bet"een hard"are hosts usin! different instrutionAsets 'suh as found in 8A bit Intel and 23* CPs-, or bet"een hard"are hosts "ith a differin! number of CPs# Stoppin! the virtualAmahine !uest before movin! it to a different CP t ype !enerally auses no issues# V3"areLs produts use the CP to run ode diretly "henever possible 'as, for e%ample, "hen runnin! userAmode and virtual <>< mode ode on %<-# $hen diret e%eution annot operate, suh as "ith &ernelAlevel and realAmode ode, V3"are produts reA"rite the ode dynamially, a proess V3"are alls @binary translation@ or DT# The translated ode !ets stored in spare memory, typially at the end of the address spae, "hih se!mentation mehanisms an protet and ma&e invisible# Oor these reasons, V3"are operates dramatially faster than emulators, runnin! at more than <>Q of the speed that the virtual !uest operatin!Asystem "ould run diretly on the same hard"are# In one study V3"are laims a slo"do"n over native ran!in! from > perent for the V3"are ES Server#
V3"areLs approah avoids some of the diffiulties of virtuali1ation on %<Abased platforms# Virtual mahines may deal "ith offendin! instrutions by replain! them, or by simply runnin! &ernelAode in userAmode# eplain! instrutions runs the ris& that the ode may fail to find the e%peted ontent if it reads itselfH one anno t protet ode a!ainst readin! "hile allo"in! normal e%eution, and replain! inAplae beomes
ompliated# unnin! the ode unmodified in userAmode "ill also fail, as most instrutions "hih Bust read the mahineAstate do not au se an e%eption and "ill betray the real state of the pro!ram, and ertain instrutions silently han!e behavior in userA mode# )ne must al"ays re"riteH performin! a simulation of the urrent pro!ram ounter in the ori!inal loation "hen neessary and 'notably- remappin! hard"are ode brea&points# 2lthou!h V3"are virtual mahines run in userAmode, V3"are $or&station itself reFuires the installation of various drivers in the host operatin!Asystem, notably to dynamially s"ith the ?*T and the I*T tables# The V3"are produt line an also run different operatin! systems on a dualAboot system simultaneously by bootin! one partition natively "hile usin! the other as a !uest "ithin V3"are $or&station#
VM*%re
Con2i!urin! VM
(ere as you an see any property of V3 an be set li&e hard dis& apaity,net"or& adapter, SD drive et#
Runnin! OpenSu,e +inu3 VM in #in&o*, P
2fter onfi!urin! V3 you Bust need to li& on /start this virtual mahine0 to start it#
Virtu%+Bo3
)rale V3 VirtualDo% is an %< virtuali1ation soft"are pa&a!e, ori!inally reated by ?ermansoft"are ompany Innote&, purhased by Sun 3irosystems, no" developed by )rale Corporation as part of its family of virtuali1ation produts# It is installed on an e%istin! host operatin! systemH "ithin this appliation, additional !uest operatin! systems, eah &no"n as a?uest )S, an be loaded and run, eah "ith its o"n virtual environment# Supported host operatin! systems inlude .inu%, 3a )S , $indo"s P, $indo"s Vista,$indo"s ; and SolarisH there is also an e%perimental port to OreeDS*# Supported !uest operatin! systems inlude a small number of versions of NetDS* and various versions of *ra!onOlyDS*, OreeDS*, .inu%, )penDS*, )S6 $arp, $indo"s, Solaris, (ai&u, Syllable,eat)S and S&y)S# 2ordin! to a 6>>; survey by *es&top.inu%#om, VirtualDo% "as the third most popular soft"are pa&a!e for runnin! $indo"s pro!rams on .inu% des&tops# Feature set
8Abit !uests '8Abit hosts "ith CP virtuali1ation e%tensions or e%perimentally on 8Abit
apable 76Abit host operatin! systems-
NCM support for S2T2 ra" dis&s and partitions
Snapshots
Seamless mode
Clipboard
Shared folders
Speial drivers and utilities to failitate s"ithin! bet"een systems
Command line interation 'in addition to the ?I-
Publi 2PI 'ava, Python, S)2P, PC)3- to ontrol V3 onfi!uration and e%eution
emote display 'useful for headless host mahines Nested pa!in! for 23*AV and Intel Core i; a" hard dis& aess A allo"s physial hard dis& partitions on the host system to appear in the !uest system
V3"are Virtual 3ahine *is& Oormat 'V3*K - support A allo"s VirtualDo% to e%han!e dis& ima!es "ith V3"are
3irosoft V(* support
7* virtuali1ation '.imited support for )pen?. "as added to v6#5, more support "as added to v6#6, )pen?. 6#> and *iret7* support "as added in VirtualDo% 7#>-
S3P support 'up to 76 virtual CPs-, sine version 7#>
Teleportation 'a&a .ive 3i!ration-, sine version 7#5
6* video aeleration, sine version 7#5
)nly available in the full 'losed soure- version:
emote *es&top Protool '*P- ontrol of V3 'thou!h the ?P. version an be run from distane usin! for e%ample No3ahine-
SD support, "ith remote devies over *P
Virtu%+Bo3
Con2i!urin! VM
In,t%+++%tion o2 #in&o*, Vi,t% in Virtu%+Bo3
Micro,o2t Virtu%+ PC
$indo"s Virtual PC 'formerly 3irosoft Virtual PC and Conneti% Virtual PC- is a virtuali1ation pro!ram for 3irosoft $indo"s operatin! systems# In uly 6>> 3irosoft released the $indo"sAhosted version as a free produt# In 2u!ust 6>> 3irosoft announed the 3aintoshAhosted version "ould not be ported to IntelAbased 3aintosh omputers, effetively disontinuin! the produt as Po"erPCAbased 3aintosh omputers are no lon!er manufatured# The ne"est release, $indo"s Virtual PC, is available only for $indo"s ; hosts# Virtual PC virtuali1es a standard PC and its assoiated hard"are# Supported $indo"s operatin! systems an run inside Virtual PC# )ther operatin! systems li&e .inu% may run, but are not offiially supported# The suessor to Virtual PC 6>>;, $indo"s Virtual PC, entered publi beta testin! on 2pril 7>, 6>>=, and "as released alon!side $indo"s ;# nli&e its predeessors, this version supports only $indo"s ; host operatin! systems# It ori!inally reFuired hard"are virtuali1ation support but on 3arh 5=th 6>5> 3irosoft released an update to 3irosoft Virtual PC "hih allo"s it to run on PCs "ithout (ard"are Virtualisation Tehnolo!y 'VT-# $indo"s Virtual PC inludes the follo"in! ne" features:
SD support and rediretion onnet peripherals suh as flash drives and di!ital ameras, and print from the !uest to host )S printers'SD flash drives that are already onneted to the host an ho"ever be emulated as a net"or& drive on older version of the pro!ram-
Seamless appliation publishin! and launhin! run $indo"s P 3ode appliations diretly from the $indo"s ; des&top
Support for multithreadin! run multiple virtual mahines onurrently, eah in its o"n thread for improved stability and performane
Smart ard rediretion use smart ards onneted to the host
Inte!ration "ith $indo"s E%plorer mana!e all V3s from a sin!le E%plorer folder 'QSEQRVirtual 3ahines-
It removes the follo"in! features:
)ffiial !uest support for le!ay operatin! systems earlier than $indo"s P Professional
*ra! and drop file sharin! bet"een the !uest and the host
2bility to ommit han!es automatially to the V(* "hen savin! or disardin! han!es Chan!es must be ommmited to the V(* manually from the settin!s dialo!#
Parallel ports are no lon!er supported# Oloppy dis&s are not supported from the user interfae but are supported usin! sripts
Shared folders in *)S virtual mahines no lon!er "or Support for this "as removed in 3irosoft Virtual PC 6>>; but "ould still "or& if you installed the VPC 6>>8 V3 2dditions for *)S#
Micro,o2t Virtu%+ PC
Con2i!urin! VM
Runnin! VM
Conc+u,ion •
Virtual mahines are Bust a soft"are implementation of physial omputer#
•
They are no" used for :A A
Seurity and isolation#
A
2bility to support several operatin! systems at the same time #
A
2bility to e%periment "ith ne" operatin! systems, or modifiations of e%istin! systems, "hile maintainin! ba&"ard ompatibility "ith e%istin! operatin! systems#
•
?enerally system V3 are used for servers and proess V3 for multiple )S support#
•
Oull virtuali1ation "as used before but no"adays non native tehniFue is bein! used#
•
V3"are is best amon! all soft"are available today for V3 'in onte%t for )S support-#
A&-%nt%!e, In !ener%+ c%,e?5 Security?5
2ppliations runnin! on a virtual mahine are more seure than those runnin! diretly on hard"are mahines#V33 ontrols ho" !uest operatin! systems use hard"are resouresH "hat happens in one V3 doesn4t affet any other V3: /Gby virtuali1in! all hard"are resoures, a V33 an prevent one V3 from even namin! the resoures of another V3, let alone modifyin! them#0 I,o+%tion?5
The soft"are state of a virtual mahine isn4t dependent on the underlyin! hard"are# osenblum and ?arfin&el point out that this ma&es it possible to suspend and resume entire virtual mahines and even move them to other platforms Oor load balanin! Oor system maintenane Et#
Ser-er,?5
Conventionally, servers run on dediated mahines# Protets a!ainst another serverappliation rashin! the )S Dut G "asteful of hard"are resoures V33 tehnolo!y ma&es it possible to support multiple servers, eah runnin! on its o"n V3, on a sin!le hard"are platform#
In c%,e o2 u,er,?5 •
•
•
•
un multiple operatin! systems on a sin!le omputer inludin! $indo"s, .inu% and more# .et your 3a run $indo"s reatin! a virtual PC environment for all your $indo"s appliations# ?et enhaned support of soft"are# Test differentAdifferent )S "ithout any han!es to host system that is han!es are pretty easy to !et them reversed#
In c%,e o2 %n or!%ni%tion?5 et more out o2 your e3i,tin! re,ource, : Pool ommon infrastruture resoures and brea& the le!ay /one appliation to one server0 model "ith server onsolidation# Re&uce &%t%center co,t, y re&ucin! your p)y,ic%+ in2r%,tructure %n& impro-in! your ,er-er to %&min r%tio : Oe"er servers and related IT hard"are means redued real estate and redued po"er and oolin! reFuirements# Detter mana!ement tools let you improve your server to admin ratio so personnel reFuirements are redued as "ell# Incre%,e %-%i+%i+ity o2 )%r&*%re %n& appliations for improved business ontinuity: Seurely ba&up and mi!rate entire virtual environments "ith no interruption in servie# Eliminate planned do"ntime and reover immediately from unplanned issues# %in oper%tion%+ 2+e3ii+ity : espond to mar&et han!es "ith dynami resoure mana!ement, faster server provisionin! and improved des&top and appliation deployment# Impro-e &e,$top m%n%!e%i+ity %n& ,ecurity : *eploy, mana!e and monitor seure des&top environments that users an aess loally or remotely, "ith or "ithout a net"or& onnetion, on almost any standard des&top, laptop or tablet PC#
Di,%&-%nt%!e, In !ener%+ c%,e?5 Virtual mahines have only one disadvanta!e that they are not fast as real hard"are#
In c%,e o2 u,er, 2%cin!?5 A A A
Slim to no 3d support. Setting up networking can sometimes be a pain (but is solvable). Sound support sometimes is a problem.
In c%,e o2 ,er-er -irtu%+i%tion or 2or %n or!%ni%tion?5 M%!ni2ie& p)y,ic%+ 2%i+ure,
Ima!ine you have ten important servers runnin! on one physial host and its 2I* ontroller runs amo&, "ipin! out all of your hard dis&s# *on4t say that this is not very li&ely, as "e have already had t"o or three inidents from malfuntionin! 2I* ontrollers from "ellA&no"n brands# There are several "ays to ompensate for this do"nside# )ne is lusterin!, "hih ertainly entails e%tra efforts# 2nother ans"er is to ba&up the virtual mahines "ith a C*P 'Continuous *ata Protetion- solution# If your physial server !oes do"n, it is possible to restore all V3s Fui&ly to another host# This solution implies that you have enou!h apaity left on another host# Thus, if your virtual infrastruture is "ell planned, physial failures may be less problemati# (o"ever, this means that you have to invest in redundant hard"are, "hih more or less eliminates one of the alle!ed advanta!es of server virtuali1ation# De!r%&e& per2orm%nce
There is no doubt that virtuali1ation reFuires e%tra hard"are resoures# The problem is that it is almost impossible to estimate in advane ho" many e%tra resoures "ill be needed# I &no" that there are apaity plannin! !uides and tools but from my e%periene every piee of soft"are behaves differently in a virtuali1ed environment# $e have appliations that are Fuite modest as lon! as they run on a physial server, but "hen they "ere virtuali1ed their resoure reFuirement multiplied#
You an4t do muh if you have suh appliations# In our ase, "e had no hoie but leave them on physial servers# (ene, the only solution to this problem is to thorou!hly test eah appliation "ith the virtuali1ation solution of your hoie# Ne* ,$i++,
It sounds so easy install a virtuali1ation solution and then Bust deploy your servers as you are used to# Not really 3any thin!s are different in a virtual environment# I "ill !ive you Bust one e%ample# $hen "e installed our first server virtuali1ation solution, I instruted our administrators to test some of their servers in the virtual environment# 2fter a "ee& or so, an administrator told me that he ould not test his server beau se there "as no more 23 available on the host# I "as Fuite surprised, as this server has enou!h apaity for 5> V3s# $hen I lo!!ed on, only 7 V3s "ere atually runnin!# $hat happenedU S ome of his fello" administrators had assi!ned the same amount of 23 to the virtual servers as their physial servers had reFuired# It too& me Fuite some time to onvine them to han!e their "or&in! habits# $hen you buy a ne" physial server, it is ommon pratie to eFuip this server "ith as muh memory as your bud!et allo"s# This ma&es sense, as it ta&es time to order ne" memory modules and add them to the server# Even if you do not reFuire it no", you "ill most li&ely reFuire more 23 very soon# )f ourse, this situation is different in a virtual environment# I assi!n blame to myself, as "e should have disussed thin!s in advane# I should have told the administrators that they first need to fi!ure out ho" muh 23 their servers really need usin! a performane monitorin! tool# If their server reFuires more 23 later, it is not a bi! deal to assi!n more# I hose this simple e%ample beause it demonstrates that you have to do some rethin&in! "hen you "or& in a virtual environment# The fat that several administrators share one physial server auses problems that didn4t previously e%ist# )f ourse, it is also neessary to aFuire many ne" tehnial s&ills# Comp+e3 root c%u,e %n%+y,i,
Virtuali1in! a server ertainly implies bi! han!es to the "hole system# 2 ne" layer of omple%ity is added and an ause ne" problems# (o"ever, the main diffiulty is that if somethin! doesn4t "or& as it is supposed to, it an reFuire onsiderable e%tra efforts to find the ause of the problem# I have another e%ample for this do"nside of server virtuali1ation#
Ne* m%n%!ement too+,
Virtuali1ation also has advanta!es, suh as easier mi!ration, lonin! or snapshots# (o"ever, you an only ta&e advanta!e of these ne" apabilities if you have the proper tools# )ften, the tools that ome "ith a virtuali1ation solution are not enou!h, only supportin! basi mana!ement tas&s# This means that you n eed additional utilities, "hih ost both money and time# I am not only tal&in! about suh tools as V3"are Virtual Center or 3irosoft Virtual 3ahine 3ana!er 'V33-# 2nother important field is ba&up, or more preisely, disaster reovery# )f ourse, you an use your urrent ba&up soft"are to seure your virtuali1ed servers# (o"ever, one of the advanta!es of server virtuali1ation is that disaster reovery be omes muh easier and faster provided you have a ba&up solution that is able to perform live ba&ups of the virtual mahines and not Bust of the virtuali1ed servers runnin! in these V3s# The problem lies in that there are no real standards "hen it omes to virtual server mana!ement# Dut, there are standards for server mana!ement in !eneral# Oor e%ample, there are many ba&up tools that allo" you to seure your $indo"s, NI and 3a mahines, but it is diffiult to find a disaster reovery solution that supports all the various virtuali1ation solutions out there# 2ll in all, this means that your 1oo of mana!ement tools "ill !ro", meanin! more "or& for you# Virtu%+ m%c)ine ,pr%*+
Even thou!h virtual server mana!ement an !et Fuite omple%, installin! a ne" virtual mahine is a piee of a&e# You need a ne" serverU ust lone your master ima!e to a ne" V3 and you are done "ithin a fe" seonds# The problem is that the number of servers mi!ht !ro" faster than the number of admins "ho are supposed to mana!e them# It is !ood that even virtual servers have physial limits# 2s soon as you reah the limit of your virtual apaity, the virtual mahine spra"l "ill naturally stop# The number of servers in my department has !ro"n si!nifiantly sine "e started "or&in! "ith server virtuali1ation# 2s a matter of fat, Fuite a fe" of them e%ist only beause it is so easy to reate them in a virtual environment# Thus, you have to be very areful that you don4t "aste the resoures of virtual server hosts "ith unnee ded virtual mahines#
App+ic%tion,
P+%t2orm in&epen&ence?5 Virtual mahines are used for platform independene in many of the pro!rammin! lan!ua!es li&e ava, #NET et# Virtual mahine is dependent on mahine a byte ode is independent of mahine so ode is ompiled to byte ode and then that byte ode is interpreted at mahine on "hih ode has to be e%euted#
Ser-er Con,o+i&%tion?5 Virtual mahines are used for server onsolidation in "hih on a sin!le physial server many of the virtual servers are mounted usin! virtual mahine for seurity and isolation:A
Streamin! 3edia Server
Virtuali1ed (ost
VoieAoverAIP Server 2ppliation Server
onsolidation
$eb Server *atabase Server
?uest *omain 5 ?uest *omain 6 ?uest *omain 7 ?uest *omain 8 ###
###
Oper%tin! ,y,tem &eu!!in!?5 Virtual mahine are heavily used in operatin! system debu!!in! as "e an &eep opy of stable version runnin! and simultaneously debu! ne"er version#
Guest 1
Guest 2
VMM
Host OS
Hardware