NO342885B1 - Å omdanne maskiner til virtuelle maskiner - Google Patents
Å omdanne maskiner til virtuelle maskiner Download PDFInfo
- Publication number
- NO342885B1 NO342885B1 NO20084228A NO20084228A NO342885B1 NO 342885 B1 NO342885 B1 NO 342885B1 NO 20084228 A NO20084228 A NO 20084228A NO 20084228 A NO20084228 A NO 20084228A NO 342885 B1 NO342885 B1 NO 342885B1
- Authority
- NO
- Norway
- Prior art keywords
- virtual
- virtual machine
- machine
- physical
- hard disk
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 67
- 230000008569 process Effects 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 description 34
- 238000006243 chemical reaction Methods 0.000 description 27
- 230000007246 mechanism Effects 0.000 description 17
- 230000009466 transformation Effects 0.000 description 17
- 230000008901 benefit Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006266 hibernation Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Fysiske (eller allerede virtuelle) lagringsvolumer kan bli omdannet til virtuelle maskiner på en vertsmaskin mens de fysiske maskinene kjører. I én utførelse kan en volumskyggekopieringstjeneste anvendes for å danne et applikasjonskonsistent (og/eller filsystemkonsistent) øyeblikksbilde av én eller flere fysiske lagringsvolumer mens det ene eller de flere lagringsvolumene kjører. Øyeblikksbildedataene kan så bli overført til en montert virtuell-harddiskfil (dynamisk eller fast) på en vertsmaskin. Driftsinformasjon (f.eks. oppstartstabell, systemregister, drivere, anordninger, konfigurasjonspreferanser, etc.) i tilknytning til virtuell-harddiskfilen og operativsystemet/-systemene på den virtuelle maskinen kan da bli modifisert som nødvendig for å sikre at den aktuelle virtuelle maskinen er oppstartbar og funksjonell på vertsmaskinen. Virtuell-harddiskfilen kan så bli demontert og benyttet som en ny virtuell maskin.
Description
Bakgrunn og relevant teknikk
[0001] Det finnes en rekke måter å distribuere forskjellige typer ressurser (programvare, maskinvare eller kombinasjoner av dette) i et datastyrt miljø. Sett fra et programvaresynspunkt kan for eksempel en bedrift installere flere kopier av et operativsystem (eller applikasjonsprogram) på flere forskjellige datamaskiner, og dermed distribuere én kopi til mange systemer. Tradisjonelle måter å dele maskinvare omfatter det å sette opp datasystemer i et nettverk slik at flere forskjellige datasystemer kan aksessere en annen datamaskins lagringsstasjoner for forskjellige lagrings- eller fildelingsbehov.
[0002] Nyere fremskritt i maskinvarekapasiteten (dvs. dagens lagrings-, minne- og prosesseringskapasitet) har imidlertid medført at tilveiebringelse av tradisjonelle lagrings- og/eller nettverkstrafikkstyringsfunksjoner har en tendens til å underutnytte en gitt fysisk maskin. Følgelig omfatter nyere måter å distribuere ressurser sett fra et kombinert programvare- og maskinvareperspektiv nå det å installere flere virtuelle datasystemer på ett enkelt fysisk system. Generelt kan virtuelle maskiner bli installert med en unik instans av et gitt operativsystem på en tildelt andel av en vertsmaskins lager, og med en allokert andel av vertsmaskinens minne og prosesseringskraft.
[0003] Som følge av disse og andre trekk kan virtuelle maskiner enkelt skilles fra andre virtuelle maskiner, og også fra vertstjeneren de er installert på. For andre brukere i nettverket vil den virtuelle maskinen fremstå som et separat adresserbart datasystem, akkurat som et hvilket som helst annet fysisk datasystem i nettverket. De virtuelle maskinene kan anvendes for en rekke forskjellige formål, for eksempel anvendes som en annen tjener (f.eks. e-posttjener eller databasetjener) i et nettverk, for test av programvare eller maskinvare, som hoveddatasystem for en tynn klient, og annet.
[0004] I tillegg til denne funksjonaliteten kan virtuelle maskiner også gi den ytterligere fordelen at de kan installeres og settes opp – og også fjernes – nokså enkelt og i noen tilfeller raskt. For eksempel kan en systemansvarlig for et gitt vertsdatasystem motta en forespørsel om en virtuell maskin, manuelt allokere passende ressurser på vertsdatamaskinen og så installere den ønskede virtuelle maskinen. Når det ikke lenger er behov for den virtuelle maskinen, kan den systemansvarlige manuelt velge én eller flere kommandoer for å stenge ned eller eventuelt slette den virtuelle maskinen ved vertstjeneren. Følgelig kan en organisasjon ønske å redusere sitt antall fysiske maskiner (tjenermaskiner, personlige datamaskiner, etc.) ved å la én eller noen få vertstjenere være vert for potensielt hundrevis av virtuelle maskiner. En vil forstå at en slik konsolidering kan gi en rekke fordeler, spesielt dersom organisasjonen kan redusere forskjellige ressursbruks- og maskinadministreringskostnader, omfattende spare strøm, redusere temperatur-/nedkjølingskostnader, spare plass og andre mulige besparelser som følge av redusert bruk av fysiske maskiner.
US 20033126202 A et styringsverktøy som strømlinjeformer serverallokerings- og leveringsprosessene i et datasenter. Systemet deler server tilbud og tildeling i to separate oppgaver. Tilveiebringelse av en server oppnås ved å generere et fullt konfigurert, oppstartbart systembilde, komplett med nettverksadressetildelinger, virtuell LAN (VLAN) -konfigurasjon, lastbalanseringskonfigurasjon og lignende. Systembilder lagres i et lagringsarkiv og er tilgjengelige for flere enn én server. Allokering oppnås ved å bruke en byttemekanisme som matcher hver server med et passende systembilde basert på nåværende konfigurasjon eller krav til datasenteret. Dermed er det mulig å levere sanntidstjenester og allokering av servere i form av automatiserte svar på endrede forhold i datasenteret. Muligheten til øyeblikkelig å gjenstille servere som byttes sikkert og forsvarlig ved under-utnyttet serverkapasitet til mer produktive oppgaver, og som forbedrer serverutnyttelsen er også gitt.
[0005] Det er desverre ikke en enkel sak å konsolidere fysiske maskiner ved å omdanne et valgt antall eksisterende fysiske datasystemer til virtuelle maskiner. Spesielt vil ikke det å simpelthen kopiere innholdet i en fysisk lagringsstasjon til en vertstjeners partisjon i alminnelighet være nok til å skape en funksjonell virtuell maskin. For eksempel vil det å ta en ren kopi av en fysisk maskins lagringsstasjoner mens den fysiske maskinen kjører kunne skape inkonsistenser i filtilstander (dvs. at dataene ikke er “applikasjonskonsistente”). Følgelig kan applikasjoner som aksesserer data på den fysiske maskinen være ute av stand til å anvende kopier av dataene når de senere flyttes til en virtuell maskin. Videre vil det å bare overføre en slik kopi til en vertstjener kunne resultere i andre inkonsistenser i systemregisteret eller inkonsistenser med forskjellige disk- og nettverksdrivere, inkonsistenser i binærfilene for operativsystemet, med mer. Selv om det finnes noen mekanismer for å komme seg rundt slike vanskeligheter, medfører tradisjonelle mekanismer for å gjøre dette typisk betydelig nedetid og ressursbruk (både menneskeressurser og programvareressurser).
[0006] For eksempel omfatter én metode for å omdanne en fysisk maskin det å opprette en virtuell maskin på en vertsmaskin fra bunn av. Nærmere bestemt kan en systemansvarlig installere alle applikasjoner på den fysiske maskinen i den nye virtuelle maskinen, overføre filsystem- og applikasjonsdata til den virtuelle maskinen og så gjenoppbygge eventuelle andre oppgaver på den virtuelle maskinen fra bunn av og/eller gjennom applikasjoners gjenopprettingsoperasjoner. Denne metoden er selvfølgelig uhensiktsmessig sett fra forskjellige perspektiver, og kan bli et sluk for en organisasjons ressurser, spesielt dersom den forsøker å omdanne hundrevis av fysiske maskiner til virtuelle maskiner.
[0007] En annen metode for å omdanne en fysisk maskin omfatter bruk av nokså kompliserte infrastrukturkomponenter, så som ADS (Automated Deployment Services) og/eller PXE (Pre-Installation Executable Environment), for å skape en overførbar kopi av en fysisk maskins innhold. Generelt omfatter mekanismer som anvender denne typen infrastruktur det å skru av den fysiske maskinen og starte opp den fysiske maskinen på nytt, for eksempel med et PXE-miljø. Dette gjør at den systemansvarlige kan starte den fysiske maskinen uten å laste inn det installerte operativsystemet, og forbyr derfor skriving til filer under kopieringsprosesser.
[0008] Etter å ha kopiert innholdet på den fysiske lagringsstasjonen kan den systemansvarlige overføre innholdet til en virtuell-maskin-vert. Dette alene kan ta én eller flere timer for noen gigabyte med data. Etter overføring av dataene vil administratoren så måtte utføre et antall forholdsvis kompliserte endringer av de overførte dataene for å gjøre det kopierte innholdet oppstartbart som en virtuell maskin. I hvert fall delvis som følge av nedetiden forbundet med det å sette den fysiske maskinen som omdannes offline og gjøre dataene oppstartbare blir denne metoden typisk benyttet når det å bygge opp den fysiske maskinen fra bunn av som en virtuell maskin er for vanskelig.
[0009] Følgelig er det et antall problemer knyttet til det å omdanne fysiske maskiner til virtuelle maskiner som kan løses.
KORT OPPSUMMERING
[0010] Utførelser av foreliggende oppfinnelse løser ett eller flere problemer innen teknikken med systemer, fremgangsmåter og dataprogrammer innrettet for effektivt å omdanne fysiske maskiner til virtuelle maskiner. Spesielt gjør utførelser av foreliggende oppfinnelse det mulig å raskt kopiere, overføre og gjøre oppstartbar data i fysiske lagringsvolumer, for eksempel på en virtuell-maskin-vert (eller et annet passende datasystem), uten nødvendigvis å måtte ta den fysiske maskinen offline. I én utførelse kan for eksempel én eller flere applikasjonsskrivere (f.eks. gjennom en volumskyggekopitjeneste) anvendes for å danne et applikasjonskonsistent (og/eller filsystemkonsistent) øyeblikksbilde av ett eller flere fysiske lagringsvolumer mens det ene eller de flere lagringsvolumene forblir online.
Øyeblikksbildet/-bildene kan så bli overført ved hjelp av en effektiv overføringsmekanisme (f.eks. blokknivå kopiering) til en virtuell-harddisk-fil på en vertstjener. Driftsinformasjon (f.eks. oppstartsdata, systemregistre og binærfiler, etc.) knyttet til de overførte øyeblikksbildedataene kan så bli modifisert på virtuellmaskin-verten for med det å gjøre de overførte øyeblikksbilde-volumene oppstartbare.
[0011] For eksempel kan ett eksempel på fremgangsmåte ifølge en utførelse av foreliggende oppfinnelse, fra en fysisk maskins perspektiv, for å omdanne en fysisk maskin til en virtuell maskin uten å kreve betydelig nedetid omfatte det å identifisere én eller flere maskinvarekonfigurasjonsinnstillinger for ett eller flere lagringsvolumer i en fysisk maskin. Fremgangsmåten kan også omfatte det å opprette ett eller flere konsistente øyeblikksbilder svarende til det ene eller de flere fysiske lagringsvolumene. Videre kan fremgangsmåten omfatte det å sende det ene eller de flere øyeblikksbildene til en montert virtuell-harddisk-fil. Enda videre kan fremgangsmåten omfatte det å sende en oppstartstabell for det ene eller de flere konsistente øyeblikksbildene til den monterte virtuelle harddiskfilen. I et slikt tilfelle kan oppstartstabellen være en del av driftsinformasjonen for det ene eller de flere konsistente øyeblikksbildene som kan bli modifisert (eller generert fra bunn av, som nødvendig) på verten for den virtuelle maskinen.
[0012] Videre kan et annet eksempel på fremgangsmåte ifølge en utførelse av foreliggende oppfinnelse, fra en virtuell maskins perspektiv, for å omdanne en fysisk maskin til en virtuell maskin omfatte det å opprette en virtuell-harddisk-fil med en filstørrelse. Fremgangsmåten kan også omfatte det å montere den virtuelle harddiskfilen på en virtuell-maskin-vert. I et slikt tilfelle kan den virtuelle harddiskfilen fremstå som en tilgjengelig fysisk disk for et operativsystem. Videre kan fremgangsmåten omfatte det å motta ett eller flere konsistente øyeblikksbilder svarende til ett eller flere fysiske lagringsvolumer. Videre kan fremgangsmåten omfatte det å modifisere driftsinformasjon for det ene eller de flere konsistente øyeblikksbildene. Følgelig kan det ene eller de flere konsistente øyeblikksbildene gjøres anvendelige for et operativsystem på virtuell-maskin-verten, for eksempel gjennom endringer av oppstartstabeller, drivere, operativsystem-binærfiler, systemregistre og/eller konfigurasjonspreferanser. Enda videre kan fremgangsmåten omfatte det å fjerne monteringen av den virtuelle harddiskfilen. Den virtuelle harddiskfilen kan derfor være utilgjengelig som fysisk disk, men i stedet oppstartbar som en virtuell maskin.
[0013] Denne oppsummeringen er gitt for å introdusere i en forenklet form et utvalg av konsepter som er beskrevet nærmere nedenfor i den detaljerte beskrivelsen. Denne oppsummeringen er ikke ment å identifisere grunnleggende eller avgjørende trekk ved oppfinnelsen det kreves beskyttelse for, og den er heller ikke ment å bli anvendt som en hjelp til å bestemme rammen til oppfinnelsen det kreves beskyttelse for.
Foreliggende oppfinnelse er særlig egnet til å tilveiebringe en fremgangsmåte for å lage en virtuell maskin i en virtuell maskin-vert, hvilken virtuelle maskin-vert er inkludert i et datastyrt miljø i en maskin, hvilken maskin omfatter én eller flere volumer, nevnte metode for å opprette en virtuell maskin i den virtuelle maskin-verten omfatter handlingene:
å identifisere én eller flere maskinvarekonfigurasjonsinnstillinger for ett eller flere volumer i maskinen, inkludert å identifisere en oppstartssektor og volumdata på ett eller flere maskinvolumer;
å opprette ett eller flere konsistente øyeblikksbilder som svarer til volumdataene og oppstartssektoren på det ene eller de flere maskinvolumene, hvor det ene eller de flere konsistente øyeblikksbildene omfatter volumdata og en oppstartssektor som respektivt samsvarer med volumdataene og oppstartssektoren på det ene eller de flere maskinvolumene, og hvor oppstartssektoren som er omfattet av det ene eller de flere konsistente øyeblikksbildene kan modifiseres i den virtuelle maskin-verten;
å sende én eller flere instruksjoner til den virtuelle maskin-verten for å lage en virtuell harddisk fil;
å sende en instruksjon til den virtuelle maskin-verten for å gjøre den virtuelle harddisk filen skrivbar;
å sende én eller flere instruksjoner til den virtuelle maskin-verten for å montere den opprettede virtuelle harddisk filen;
å overføre det ene eller de flere konsekvente øyeblikksbildene til den monterte virtuelle harddisk filen; og
å sende en instruksjon for å modifisere operativ informasjon for det ene eller de flere konsekvente øyeblikksbildene, slik at det ene eller de flere konsekvente øyeblikksbildene er oppstartbare i den virtuelle maskin-verten, hvor modifikasjonen omfatter å modifisere minst oppstartssektoren som er omfattet av det ene eller de flere øyeblikksbildene.
[0014] Ytterligere særtrekk og fordeler med eksempler på utførelser av oppfinnelsen vil bli angitt i beskrivelsen som følger, og vil delvis være åpenbare fra beskrivelsen eller kan læres gjennom praktisering av disse utførelseseksemplene.
Særtrekkene og fordelene med disse utførelsene kan realiseres og oppnås ved hjelp av innretningene og kombinasjonene spesielt angitt i de vedføyde kravene. Disse og andre særtrekk vil klargjøres bedre av den følgende beskrivelsen og de vedføyde kravene, eller kan læres gjennom praktisering av utførelseseksemplene vist i det følgende.
KORT BESKRIVELSE AV FIGURENE
[0015] For å beskrive hvordan de ovenfor angitte og andre fordeler og særtrekk ved oppfinnelsen kan oppnås vil en mer konkret beskrivelse av oppfinnelsen som kort oppsummert over bli gitt under henvisning til konkrete utførelsesformer av denne som er illustrert i de vedlagte figurene. Underforstått at disse figurene kun viser typiske utførelsesformer av oppfinnelsen og derfor ikke skal betraktes som en begrensning av oppfinnelsens ramme, vil oppfinnelsen bli beskrevet og forklart mer spesifikt og i nærmere detalj ved hjelp av de vedlagte figurene, der:
[0016] Figur 1A illustrerer et skjematisk oversiktsdiagram i henhold til en utførelse av foreliggende oppfinnelse der ett eller flere øyeblikksbilder blir tatt av ett eller flere fysiske diskvolumer, og én eller flere virtuelle harddiskfiler blir opprettet på en virtuell-maskin-vert;
[0017] Figur 1B illustrerer det skjematiske oversiktsdiagrammet i figur 1A idet dataene for det ene eller de flere øyeblikksbildene av det eller de fysiske diskvolumene blir overført til den opprettede virtuelle harddiskfilen ved hjelp av effektive overføringsmekanismer;
[0018] Figur 1C illustrerer de skjematiske oversiktsdiagrammene i figurene 1A-1B idet en virtuell-harddisk-fil som inneholder de overførte øyeblikksbildedataene, blir modifisert for å skape en oppstartbar virtuell maskin i henhold til en utførelse av foreliggende oppfinnelse; og
[0019] Figur 2 illustrerer flytdiagrammer av fremgangsmåter, sett fra en fysisk maskins og en virtuell-maskin-verts perspektiv, for å omdanne én eller flere maskiner til én eller flere motsvarende virtuelle maskiner.
DETALJERT BESKRIVELSE
[0020] Foreliggende oppfinnelse vedrører systemer, fremgangsmåter og dataprogramprodukter innrettet for effektivt å omdanne fysiske maskiner til virtuelle maskiner. Spesielt gjør utførelser av foreliggende oppfinnelse det mulig å raskt kopiere, overføre og gjøre oppstartbare data i fysiske lagringsvolumer, for eksempel på en virtuell-maskin-vert (eller et annet passende datasystem), uten nødvendigvis å måtte ta den fysiske maskinen offline. I én utførelse kan for eksempel én eller flere applikasjonsskrivere (f.eks. gjennom en volumskyggekopitjeneste) anvendes for å danne et applikasjonskonsistent (og/eller filsystemkonsistent) øyeblikksbilde av ett eller flere fysiske lagringsvolumer mens det ene eller de flere lagringsvolumene forblir online.
Øyeblikksbildet/-bildene kan så bli overført ved hjelp av en effektiv overføringsmekanisme (f.eks. blokknivå kopiering) til en virtuell-harddisk-fil på en vertstjener. Driftsinformasjon (f.eks. oppstartsdata, systemregistre og binærfiler, etc.) knyttet til de overførte øyeblikksbildedataene kan da bli modifisert på virtuellmaskin-verten for med det å gjøre de overførte øyeblikksbilde-volumene oppstartbare.
[0021] Følgelig kan utførelser av foreliggende oppfinnelse gi fordeler som forholdsvis rask, “én-touch” omdanning fra fysisk til virtuell maskin på en måte som kan unngå nedetid av den fysiske maskinen. Videre muliggjør utførelser av foreliggende oppfinnelse en pålitelig “én-touch” omdanning fra fysisk til virtuell maskin siden den omdannede maskinen vil være konsistent på vertsmaskinen. Som vil tydeliggjøres av den følgende beskrivelsen og kravene kan denne omdanningen bli gjort med et hvilket som helst antall passende komponenter og moduler. For eksempel kan utførelser av foreliggende oppfinnelse omfatte bruk av komponenter og mekanismer i en VSS (Volume Shadow Copy Service) for å opprette applikasjonskonsistente (og/eller filsystemkonsistente) øyeblikksbilder. Disse komponentene kan opprette ett eller flere konsistente øyeblikksbilder (eller tidspunktsbilder) av ett eller flere fysiske lagringsvolumer som kjører under øyeblikksbildeprosesser.
[0022] Videre kan utførelser av foreliggende oppfinnelse omfatte bruk av en VDS (Volume Disk Service) og/eller beslektede komponenter. Generelt omfatter en VDS (eller beslektede komponenter) plattformer for å opprette og konfigurere lagringsvolumer på fysiske disker. Videre omfatter utførelser av foreliggende oppfinnelse bruk av et “diskbildeverktøy” og i noen tilfeller bruk av et “diskbildemonteringsverktøy”. Generelt omfatter et diskbildeverktøy komponenter og/eller moduler innrettet for å skape en blokkbasert (eller byteblokk-basert) kopi av en fysisk disk eller et fysisk lagringsvolum gitt en startposisjon og et antall byte (eller byte-blokker) som skal kopieres. I motsetning omfatter et bildemonteringsverktøy én eller flere komponenter og/eller moduler innrettet for å ta for eksempel en virtuell-harddisk-fil som innmating og montere den virtuelle harddiskfilen i filsystemet for å eksponere filen som en fysisk disk. Denne eksponerte fysiske disken kan gjøres aksesserbar akkurat som en hvilken som helst annen fysisk disk kan være aksesserbar for et operativsystem, som tillater skriving av data til sine lagringsvolumer.
[0023] Utførelser av foreliggende oppfinnelse omfatter videre bruk av en virtuellharddisk-fil (“VHD”-fil) på en virtuell-maskin-vert, der VHD-filen omfatter én fysisk disk og ett eller flere fysiske disklagringsvolumer som styres av (og er tilgjengelig innenfor) én eller flere virtuelle maskiner (VM'er). Selv om betegnelsene “virtuell maskin”, “virtuell-maskin-vert” og “VHD-fil” anvendes i noen MICROSOFT-miljøer, vil en forstå at henvisning her til MICROSOFT-komponenter (og/eller WINDOWS SERVER-komponenter) kun er ment å tjene som eksempler. Spesielt vil en forstå etter å ha lest denne beskrivelsen og kravene at komponentene, modulene og/eller mekanismene beskrevet her kan finnes og praktiseres i en lang rekke kjøremiljøer som implementerer virtuelle maskiner eller beslektede entiteter.
[0024] Figur 1A illustrerer et skjematisk oversiktsdiagram av et eksempel på datastyrt miljø 100 der en fysisk maskin 105 (f.eks. en personlig datamaskin, en fysisk tjener, etc.) kan bli omdannet til en virtuell maskin innbefattet på en vertsmaskin 110. På et grunnleggende nivå kan det å omdanne en fysisk maskin (f.eks. 105) til en virtuell maskin (f.eks.175, figur 1C) omfatte det å ta et øyeblikksbilde av det ene eller de flere fysiske lagringsvolumene (f.eks.115), opprette én eller flere virtuelle harddiskfiler (f.eks.140) på en virtuell-maskin-vert, overføre øyeblikksbildet/-bildene til VHD-filen og så gjøre ett eller flere av nevnte ett eller flere overførte øyeblikksbilde-volumer i VHD-filen oppstartbare som en virtuell maskin (f.eks.175). En forstår således at et antall forskjellige for- og etterbehandlingsprosesser kan gjennomføres for å gjøre omdanningen effektiv.
[0025] I minst én utførelse kan for eksempel omdanningsprosessen bli innledet med bruk av av omdanningsmodul 130 (dvs. som kan omfatte én eller flere moduler på maskinen 105 og/eller verten 110), som innleder øyeblikksbildeoperasjoner på ett eller flere lagringsvolumer på den eller de fysiske diskene i den fysiske maskinen 105 (f.eks. volumet 115). Generelt kan omdanningsmodulen 130 omfatte hvilke som helst passende skrivere og spørrere innrettet for å opprette en konsistent skyggekopi av et fysisk diskvolum. Som nevnt tidligere kan for eksempel slike skrivere og spørrere være tilveiebrakt i en volumskyggekopitjeneste. Følgelig kan omdanningsmodulen 130 for eksempel begynne omdanningsprosessen ved å sende et signal til alle applikasjonsskrivere i hvert av ett eller flere volumer i en fysisk disk (f.eks. volumet 115) om at de skal innlede øyeblikksbildeoperasjoner på sine data. Som vist omfatter for eksempel volumet 115 i hvert fall volumdata 125 og en oppstartstabell 120.
[0026] Ved mottak av denne meldingen fra omdanningsmodulen 130 kan hver applikasjonsskriver på volumet 115 tømme sine minnelagrede data til fysisk disk og/eller fryse eventuelle filsystem- eller volumlogger. For applikasjoner som ikke anvender en applikasjonsskriver kan omdanningsmodulen 130 instruere (f.eks.
som default, eller på kommando fra en bruker eller systemansvarlig) til å lukke applikasjonen, og dermed sikre at ingen skriveoperasjoner blir gjort mens øyeblikksbildet tas. Følgelig viser figur 1A at omdanningsmodulen 130 da kan opprette ett enkelt øyeblikksbilde (dvs. en kopi) av alle volumdata på volumet 115. For eksempel viser figur 1A at omdanningsmodulen 130 har opprettet et øyeblikksbilde 117 av volumet 115 (dvs. “øyeblikksbilde-volumet”), der øyeblikksbildet 117 i dette tilfellet omfatter volumdata 127 og oppstartstabellen 120.
[0027] En vil forstå at en rekke optimeringer kan gjøres når en tar øyeblikksbildet, eller utfører øyeblikksbildeoperasjoner (og kopieringsoperasjoner), for å sikre at data blir kopiert og overført på en effektiv måte. For eksempel kan omdanningsmodulen 130 identifisere hvilke deler av volumet 115 som er i bruk (dvs. inneholder data) og hvilke deler som er ledige. Øyeblikksbildeoperasjoner kan således innrettes for kun å kopiere de delene av volumer eller fysiske disker som er i bruk, heller enn hele volumer eller hele fysiske disker. Videre kan øyeblikksbildeoperasjoner også innrettes for å unngå bestemte filer som kan være mindre nyttige (eller ikke anvendelige i det hele tatt) i et virtualisert miljø.
[0028] Spesielt kan øyeblikksbildeoperasjoner for eksempel videre innrettes for å identifisere filer så som de inneholdt i et diff-område, sidefiler, ugyldige sektorgrupper, hibernation-filer og annet. Disse filene kan således unngås når en genererer øyeblikksbildet 117 eller gjennomfører byteblokk-overføringen, slik at mengden data som må overføres til virtuell-maskin-verten 110, reduseres ytterligere. En vil forstå at disse filtypene og optimeringene enkelt kan varieres for andre filtyper, beregning av brukt eller ledig lagringsplass, og liknende i en rekke forskjellige kjøremiljøer.
[0029] Uansett, og som en forklaring, vil dataene 127 i øyeblikksbildet 117 i alminnelighet være forskjellige fra de opprinnelige dataene 125 på volumet 115, hovedsakelig som følge av endringer i tid under (og/eller etter) øyeblikksbildeoperasjoner. For eksempel, siden den fysiske maskinen 105 fortsatt kjører under øyeblikksbildeoperasjoner, kan volumdataene 125 endre seg kontinuerlig, for eksempel dersom en bruker fortsetter å skrive til bestemte applikasjonsdata.
Følgelig representerer volumdataene 127 (dvs. “volumdata 127”) en tidligere konsistent øyeblikksverdi for dataene 125 på volumet 115, som tilnærmelsesvis er tidspunktet da omdanningsmodulen 130 innledet øyeblikksbildeprosessene.
[0030] Figur 1A viser også at oppstartstabellen 120 er den samme i øyeblikksbildet 117 som den er med de kjørende dataene i volumet 115. Nærmere bestemt vil en forstå at oppstartstabeller (f.eks.120) trolig ikke vil endre seg under øyeblikksbildeprosessene siden applikasjoner typisk ikke har tilgang til oppstartstabellen. Spesielt blir oppstartstabeller i alminnelighet endret av operativsystemet, og typisk sjelden, om i det hele tatt. Følgelig viser figur 1A at oppstartstabellen 120 i dette tilfellet er den samme som den var før øyeblikksbildeoperasjoner.
[0031] Før, under eller rett etter opprettelse av øyeblikksbildet 117 kan omdanningsmodulen 130 også sette opp én eller flere virtuelle harddisk-(VHD)-filer 140 på virtuell-maskin-verten 110 som svarer til den fysiske maskinens 150 fysiske disk (ikke vist). For eksempel viser figur 1A at omdanningsmodulen 130 sender en melding 150 for å opprette en skrivbar virtuell-harddisk-fil 140. I én utførelse kan dette også omfatte det å sende en melding først for å opprette én eller flere VHD-filer (f.eks.140) med en gitt, fast størrelse, og så sende en egen melding for å gjøre VHD-filen skrivbar. (Omdanningsmodulen 130 kan også sende en melding for å opprette (skrivbar eller annet) en VHD-fil med dynamisk størrelse, som vokser med tillegging av data.)
[0032] Generelt kan hver VHD-fil være innrettet for å svare til én enkelt fysisk disk i et datasystem, og hvert volum innenfor en fysisk disk kan være representert i den nyopprettede VHD-filen. En VHD-fil kan imidlertid i noen tilfeller representere ett enkelt volum heller enn en hel fysisk disk. I eksempelet der en fysisk disk har flere lagringsvolumer (selv om kun ett enkelt volum 115 er vist), kan den nye VHD-filen også inneholde data svarende til flere lagringsvolumer. Det er selvfølgelig en viss fleksibilitet i denne henseende. Dersom for eksempel en bruker av den fysiske maskinen 105 hadde et volum som var spredt over flere partisjoner (og/eller speilede volumer, etc.), kan brukeren bestemme seg for kun å tilegne én partisjon til øyeblikksbildedata i den virtuelle målharddiskfilen. Tilsvarende kan brukeren bestemme seg for kun å overføre ett volum fra en fysisk disk som omfatter flere volumer til en virtuell-harddisk-fil.
[0033] Følgelig vil størrelsen til VHD-filen i alminnelighet være minst like stor som kan være nødvendig med hensyn til de overførte kildedataene (f.eks. fysisk disk, spesifikt volum i en fysisk disk, data i den fysiske disken, etc.). En forstår derfor at metodene her også kan anvendes ved duplikering av en eksisterende virtuell maskin til en større lagringsplass. For eksempel kan en systemansvarlig, når vedkommende oppdager at en virtuell maskins volumlagringskapasitet avtar, opprette én eller flere ytterligere, større VHD-filer, ta et øyeblikksbilde av dataene i den virtuelle maskinen og hovedsakelig “revirtualisere” den virtuelle maskinen ved å overføre (f.eks. kopiere) dens øyeblikksbildedata til den eller de nye VHD-filene med bruk av de samme prosesser som allerede beskrevet.
[0034] Følgelig omfatter utførelser av foreliggende oppfinnelse ikke bare “fysisk til virtuell maskin"-omdanninger, men også “virtuell til virtuell maskin"-konverteringer. Spesielt, og i noen tilfeller, kan utførelser av foreliggende oppfinnelse også mer generelt sies å omdanne en “maskin” til en “virtuell maskin”. Nærmere bestemt kan en “maskin” forstås å omfatte både “fysiske” datasystemer (f.eks. en stasjonær skrivebordsdatamaskin med tilhørende maskinvare og operativsystem(er)) og “virtuelle” datasystemer (f.eks. et datasystem installert på en virtuell-maskinvert som ett eller flere unike datasystemer).
[0035] Uansett, ved opprettelse av en virtuell-harddisk-fil 140 vil omdanningsmodulen 130 montere filen 140 som en fysisk disk, slik at filen 140 kan motta dataene for øyeblikksbildet 117 for eksempel gjennom en nettverkskommunikasjon. (En vil forstå at montering ikke engang trenger å være nødvendig i noen utførelser beskrevet her.) Følgelig viser figur 1A også at omdanningsmodulen 130 sender en melding 155 om å montere den virtuelle harddiskfilen 140. I ytterligere eller alternative utførelser kan meldingen 155 omfatte en instruksjon om å montere VHD-filen 140 på hvilken som helst av virtuellmaskin-verten 110, på den fysiske maskinen 105 som omdannes eller hvor som helst der det er nettverkskonnektivitet mellom maskinen der VHD-filen 140 monteres og den fysiske maskinen som blir omdannet (dvs.105 i dette tilfellet).
[0036] En del av monteringen av filen 140 kan omfatte det å knytte filen til én eller flere anordningsidentifikatorer, så som anordningsidentifikatoren til en fysisk disk. For eksempel kan virtuell-maskin-verten 110 bli instruert til å montere den virtuelle harddiskfilen 140 slik at den kan identifiseres gjennom en stasjonsbane så som “\\.\device\Harddisk145\”. Spesielt viser figur 1B at VHD 140 kan identifiseres som “harddiskstasjon 145”. På tilsvarende måte kan omdanningsmodulen 130 også identifisere en anordningsidentifikator (og/eller monteringspunkter, for eksempel) for hvert øyeblikksbilde (f.eks.117). Til syvende og sist kan omdanningsmodulen 130 anvende de identifiserte anordningsidentifikatorene for et hvilket som helst øyeblikksbilde og for hvilke som helst tilhørende VHD-filer for å overføre innhold i øyeblikksbilder.
[0037] Generelt kan omdanningsmodulen 130 overføre innholdet i øyeblikksbildet 117 med bruk av hvilke som helst dataoverføringsmekanismer. I én utførelse kan omdanningsmodulen 130 for eksempel overføre øyeblikksbildet 117 byte for byte til filen 140 gjennom diskstasjonen 145. I ytterligere eller alternative utførelser kan imidlertid omdanningsmodulen 130 overføre øyeblikksbildet 117 til filen 140 ved å identifisere og overføre “byte-blokker”. Generelt omfatter byte-blokker en fast sekvens (med en vilkårlig størrelse) av individuelle bit-oktetter. I minst én utførelse kan det å overføre byte-blokker heller enn individuelle byte dramatisk øke overføringshastigheten for øyeblikksbildet 117 over et nettverk.
[0038] For eksempel kan flere gigabyte med data, som det vanligvis ville ta flere timer å overføre til virtuell-maskin-verten 110 over tradisjonelle nettverksoverføringsprotokoller, i noen tilfeller bli overført på kun noen få minutter med blokkoverføringsmekanismer. Uansett, figur 1B viser at omdanningsmodulen 130 i dette tilfellet overfører byte (eller byte-blokker) “1601”, “1602” etc., og overfører disse direkte til den skrivbare virtuelle harddiskfilen 140 gjennom diskstasjonen 145. Som vist i figur 1B kan den virtuelle harddiskfilen 140 ha alle oppstartsdataene 120, og vil omfatte andre volumdata 127 fanget i øyeblikksbildet 117, når dataoverføringen er fullført.
[0039] Til tross for dataoverføringen vil ikke den virtuelle harddiskfilen 140 nødvendigvis være oppstartbar på virtuell-maskin-verten 110, siden oppstartsdataene og driverne mest sannsynlig ikke vil være anvendelige i konteksten til virtuell-maskinverten 110. Én grunn til dette er at den “virtuelle maskinvaren” som eksisterer i det virtuelle datamaskinmiljøet (og/eller i virtuell-maskin-verten 110) ikke trenger være den samme som maskinvaren i den fysiske maskinen 105. For eksempel kan komponenter som kjernen og maskinvareabstraksjonslaget (HAL – Hardware Abstraction Layer) på den fysiske maskinen 105 for eksempel være basert på et dobbelprosessorsystem. Videre kan virtuell-maskin-verten 110 emulere forskjellige nettverkskort-drivere, prosessorarkitekturer, fysiske disker (f.eks. lagre tilknyttet maskinen), fysisk disk-identifikatorer, operativsystemdrivere og diskdrivere for de virtuelle maskinene, som ellers kanskje ikke er tilgjengelig på kildemaskinen som omdannes (f.eks. den fysiske maskinen 105). Slike forskjellene vil trolig også foreligge ved omdanning av et fysisk diskvolum fra innenfor vertsmaskinen til en virtuell maskin.
[0040] Som følge av dette kan overførte oppstartsdata 120 være basert på operativsystemtrekk på den fysiske maskinen 105 som ikke nødvendigvis er anvendelige i det aktuelle virtualiserte miljøet på virtuell-maskin-verten 110. Disse og andre grunner innebærer at en systemansvarlig kan være nødt til å foreta en rekke forskjellige modifikasjoner, avhengig av det eller de konkrete kjøremiljøene.
Følgelig kan omdanningsmodulen 130 også modifisere den virtuelle harddiskfilen 140 til å bli oppstartbar på virtuell-maskin-verten 110. Dette kan i noen tilfeller omfatte instruksjoner for å oppdatere kjernen og HAL-laget – og andre drivere og registerinnstillinger – for den virtuelle maskinen som skal opprettes, basert på øyeblikksbildedataene.
[0041] Følgelig viser figur 1C for eksempel at omdanningsmodulen 130 også sender en forespørsel 165 og tilhørende argumenter til virtuell-maskin-verten 110 for å modifisere driftsinformasjon. (I noen tilfeller kan disse modifikasjonene av driftsinformasjonen til den virtuelle maskinen (f.eks. oppstartstabellen og registerinformasjonen) også bli gjort på den fysiske maskinen (før den blir overført til en VHD-fil)). I én utførelse kan dette omfatte at omdanningsmodulen 130 undersøker oppstartstabellen i volumøyeblikksbildet 117 og bytter ut tidligere overførte oppstartsdata 120 med ny oppstartsinformasjon (f.eks. modifisert oppstartsinformasjon, eller ny oppstartsinformasjon dannet fra bunn av) basert på den nye diskog volumkonfigurasjonen i den virtuelle maskinen. I et annet trinn kan omdanningsmodulen 130 også undersøke den overførte registerinformasjonen (ikke vist) i volumøyeblikksbildet 117 og oppdatere den overførte registerinformasjonen på passende måte for den virtuelle maskinen 110, basert på den nye maskinvaren og driverne som eksisterer i virtuell-maskin-verten 110.
[0042] Slik oppdatering kan også omfatte endring av systembinærfilene, så som kjerne- og HAL-driverne, fra en flerprosessor til en én-prosessor maskinvarekonfigurasjon. Videre kan en slik oppdatering omfatte tillegging av datamaskin- og stasjonsidentitetsinformasjon som er unik for virtuell-maskin-verten 110, tillegging av eventuelle passende disk- eller fildrivere som er unike for virtuell-maskin-verten 110, og endring av registerinformasjonen for å imøtekomme de aktuelle nettverksdrivere, lagringsdrivere og annet. Oppdateringen kan videre omfatte utskiftning av drivere for fysiske anordninger med drivere for virtuelle anordninger, deaktivering av drivere for maskinvare for hvilken det ikke finnes noen motsvarende virtuell anordning i det virtuelle miljøet, og deaktivering av tjenester og applikasjoner som avhenger av anordninger for hvilke det ikke finnes motsvarende virtuelle anordninger i det virtuelle miljøet.
[0043] Omdanningsmodulen 130 kan videre opprette disse og/eller andre passende konfigurasjonsverdier for den tiltenkte virtuelle maskinen (f.eks.175), slik at den resulterende virtuelle maskinen (f.eks.175) vil kjøre med de samme preferansene (f.eks. minne, CPU, etc.) som den opprinnelige fysiske maskinen 105. På tilsvarende måte kan en administrator for virtuell-maskin-verten 110 også (eller alternativt) modifisere disse preferansene for den resulterende virtuelle maskinen. Videre kan administratoren også bygge opp slik driftsinformasjon (dvs. konfigurasjonsverdier, preferanser, etc.) fra bunn av. Uansett vil en forstå at forskjellige entiteter kan foreta et hvilket som helst antall konfigurasjonsendringer for å sikre at den resulterende virtuelle maskinen er oppstartbar og vil kjøre korrekt der den er installert (f.eks. virtuell-maskin-verten 110).
[0044] Etter at den har modifisert/opprettet oppstartstabellen (dvs. fra 120 til 123), systemregisterinformasjon, driverinformasjon og/eller annen konfigurasjons- eller preferanseinformasjon på passende måte, kan omdanningsmodulen 130 så fjerne monteringen av (dvs. “demontere”) den virtuelle harddiskfilen 140, slik at den ikke lenger er tilgjengelig som en lagringsstasjon. For eksempel viser figur 1C at omdanningsmodulen 130 sender en melding 170 til virtuell-maskin-verten 110 som instruerer virtuell-maskin-verten 110 til å fjerne monteringen av den virtuelle harddiskfilen 140. Etter fjerning av denne monteringen kan én eller flere virtuelle harddiskfiler 140 anvendes som virtuell maskin 175, hvis data er hovedsakelig identiske med dataene i volumet 115 på tidspunktet øyeblikksbildeoperasjonene ble innledet.
[0045] Spesielt er dataene i volumet/volumene som administreres av den nye virtuelle maskinen 175, konsistente i enhver aktuell henseende (f.eks. applikasjonskonsistente, filsystem-konsistente og/eller sammenbruddskonsistente, etc.) Som følge av dette vil en tidligere bruker av den fysiske maskinen 105 nå være i stand til å starte opp den virtuelle maskinen 175 på virtuell-maskin-verten 110 og anvende den virtuelle maskinen (omfattende å aksessere tildligere data) akkurat som om (eller mer optimalt enn om) brukeren anvendte den fysiske maskinen 105. Videre vil en forstå at VHD-filene i alminnelighet kan være flyttbare. For eksempel kan sluttbrukeren overføre den virtuelle maskinen 175 til et hvilket som helst ønsket sted (dvs. en annen vertsmaskin), i minst én utførelse kun ved å overføre filen(e) (f.eks. VHD-fil(er), etc.) for den virtuelle maskinen 175 til det ønskede stedet og utføre eventuelle nødvendig oppdateringer av driftsinformasjonen.
[0046] I en annen utførelse kan den ene eller de flere VHD-filene (f.eks.140) også bli opprettet på den fysiske maskinen 105 selv, og så sendt/overført til den aktuelle vertsmaskinen (f.eks.110). For eksempel kan en bruker av den fysiske maskinen 105 opprette en VHD-fil (f.eks.140) på den fysiske maskinen og overføre øyeblikksbilde-innholdet til VHD-filen for de ønskede dataene på den fysiske maskinen. Dette er i hvert fall én måte brukeren kan unngå å måtte montere VHD-filen (dvs. på virtuell-maskin-verten 110), om ønsket. I alle tilfelle kan brukeren så sende/overføre VHD-filen og tilhørende øyeblikksbilde-innhold til et passende mål (f.eks. virtuell-maskin-verten 110), og endre tilhørende driftsinformasjon på målet. Alternativt kan brukeren også endre driftsinformasjon for VHD-filen og øyeblikksbilde-innhold på kilden (f.eks. den fysiske maskinen 105) før han eller hun sender VHD-filen og øyeblikksbilde-innholdet videre til det nye målet.
[0047] I noen tilfeller, heller enn å opprette en VHD-“fil” kan en modul (f.eks. omdanningsmodulen 130) være innrettet for å streame fra minnet øyeblikksbildedataene og VHD-metadataene opprettet på den fysiske maskinen 105 i andeler (f.eks. byte-blokker) som gir en effektiv transport. Dataene som skal streames kan også være formatert i et VHD-format i henhold til passende VHD-format/innholdsspesifikasjoner. Etter å ha blitt overført til målet (f.eks. virtuellmaskin-verten 110) kan således datastrømmen bli lagret som en VHD-fil, siden de streamede dataene ble generert i VHD-format. Dette er en annen måte å unngå montering av VHD-filen.
[0048] Figurene 1A-1C illustrerer et antall oversiktsskisser og komponenter som kan anvendes i utførelser av foreliggende oppfinnelse for å opprette et øyeblikksbilde av data på en fysisk maskins lagringsvolum og opprette en ny virtuell maskin fra disse dataene. I tillegg til det ovennevnte kan utførelser av foreliggende oppfinnelse også beskrives med hensyn til flytdiagrammer av fremgangsmåter som omfatter ett eller flere trinn for å oppnå et gitt resultat. For eksempel illustrerer figur 2 flytdiagrammer av fremgangsmåter sett fra den fysiske maskinen 105 og virtuell-maskin-verten 110 for å omdanne en maskin, for eksempel en fysisk maskin eller en annen virtuell maskin, til en virtuell maskin. Fremgangsmåtene i figur 2 er beskrevet nedenfor med hensyn til komponentene i innretningene i figurene 1A til 1C.
[0049] For eksempel viser figur 2 at en fremgangsmåte, sett fra den fysiske maskinen 105, for å omdanne en fysisk maskin til en virtuell maskin på en virtuellmaskin-vert uten å kreve betydelig nedetid for det ene eller de flere fysiske lagringsvolumene kan omfatte et trinn 200 med å identifisere maskinvarekonfigurasjoner i den fysiske maskinen. Trinn 200 omfatter det å identifisere én eller flere maskinvarekonfigurasjonsinnstillinger for ett eller flere lagringsvolumer på en maskin. For eksempel viser figur 1A omdanningsmodulen 130, som kan identifisere konfigurasjonsinnstillinger for maskinvare (og/eller programvare) på volumet 115 før den innleder øyeblikksbildeprosessene. Dette kan omfatte det å identifisere oppstartstabellen 120 og volumdata 125 som de eksisterer på den fysiske maskinen 105 på volumet 115, og kan videre omfatte det å identifisere om dataene er innrettet for et flerprosessormiljø, inkompatibiliteter i operativsystemstøttede filer, om det er lagrings- og nettverksdrivere som må betraktes, og annet.
[0050] Figur 2 viser videre at fremgangsmåten, sett fra den fysiske maskinen 105, kan omfatte et trinn 210 med å generere et øyeblikksbilde av det ene eller de flere lagringsvolumene. Trinn 210 omfatter det å generere ett eller flere konsistente øyeblikksbilder svarende til det ene eller de flere lagringsvolumene. For eksempel viser figur 1A at omdanningsmodulen 130 genererer øyeblikksbildet 117 av volumet 115, som omfatter den samme oppstartstabellen 120 som før samt volumdata 127. I minst én utførelse kan omdanningsmodulen 130 anrope skriverinvolverte øyeblikksbildeprosesser på volumet 115 dersom slike er tilgjengelige, eller bare simpelthen lukke applikasjoner (eller andre skriveprosesser) dersom slike skrivere ikke er tilgjengelige. Som følge av dette kan en sikre at data i øyeblikksbildet 117 er konsistente (f.eks. applikasjonskonsistente) for et gitt tidspunkt etter øyeblikksbildeprosessene.
[0051] Figur 2 viser også at fremgangsmåten, sett fra den fysiske maskinen 105, kan omfatte et trinn 220 med å sende øyeblikksbildet/-bildene til en montert virtuell diskfil. Trinn 220 omfatter det å sende det ene eller de flere konsistente øyeblikksbildene til en montert virtuell-harddisk-fil. For eksempel henter omdanningsmodulen 130 frem anordningsidentifikatorer for hvert øyeblikksbilde tatt på den fysiske maskinen 105, og henter videre frem eventuelle anordningsidentifikatorer for hver virtuelle harddiskfil montert på virtuell-maskin-verten 110. Etter fremhenting av passende anordningsidentifikatorer viser figur 1B at omdanningsmodulen 130 kan overføre volumdata 127 for øyeblikksbildet 117 til den virtuelle harddiskfilen 140, for eksempel med bruk av byte-baserte (eller byteblokk-baserte) overførings-/kopieringsmekanismer.
[0052] Figur 2 viser videre at fremgangsmåten, sett fra den fysiske maskinen 105, kan omfatte et trinn 230 med å sende oppstartstabellen(e) til den monterte virtuelle diskfilen. Trinn 230 omfatter det å sende en oppstartstabell for det ene eller de flere konsistente øyeblikksbildene til den monterte virtuelle harddiskfilen, slik at oppstartstabellen for det ene eller de flere konsistente øyeblikksbildene kan bli modifisert på virtuell-maskin-verten. For eksempel viser figur 1B at omdanningsmodulen 130 også sender oppstartsdata 120 til den virtuelle harddiskfilen 140. Figur 1C viser også at omdanningsmodulen 130 kan sende en melding 165 for å modifisere oppstartstabellen 120 til tabellen 123, slik at oppstartstabellen 123 er konsistent for kjøremiljøet i virtuell-maskin-verten 110. I én utførelse kan den nye oppstartstabellen for den nye, virtuelle maskinen også bli generert fra bunn av heller enn bare sendt og modifisert.
[0053] I tillegg til det foregående viser figur 2 at en fremgangsmåte, sett fra virtuellmaskin-verten 110, for å omdanne en maskin (dvs. fysisk maskin eller foregående virtuell maskin) til en virtuell maskin på en virtuell-maskin-vert uten å kreve betydelig nedetid på det ene eller de flere lagringsvolumene kan omfatte et trinn 240 med å opprette en virtuell-harddisk-fil. Trinn 240 omfatter det å opprette en virtuell-harddisk-fil med en filstørrelse. For eksempel viser figur 1A at virtuellmaskin-verten 110 mottar en melding 150 som instruerer virtuell-maskin-verten 110 til å opprette en skrivbar virtuell-harddisk-fil, samt en instruksjon om å gjøre den nye virtuelle harddiskfilen skrivbar. Som reaksjon oppretter virtuell-maskinverten 110 den virtuelle harddiskfilen 140 og gjør den skrivbar. Som nevnt tidligere kan den virtuelle harddiskfilens størrelse her være enten statisk eller dynamisk. For eksempel kan den virtuelle harddiskfilen 140 være satt til 100 gigabyte for å imøtekomme 50 gigabyte data fra volumet 115. Alternativt kan omdanningsmodulen 130 sette den virtuelle harddiskfilen 140 til å vokse dynamisk med ytterligere dataoverføringer.
[0054] Figur 2 viser også at fremgangsmåten, sett fra virtuell-maskin-verten 110, kan omfatte et trinn 250 med å montere den virtuelle harddiskfilen. Trinn 250 omfatter det å montere den virtuelle harddiskfilen på en virtuell-maskin-vert, slik at den virtuelle harddiskfilen fremstår som en tilgjengelig fysisk disk. For eksempel viser figur 1A at virtuell-maskin-verten 110 mottar en forespørsel 155 om å montere den virtuelle harddiskfilen 140. I én utførelse kan virtuell-maskin-verten 110 bli instruert til å knytte en fil 140 til en gitt anordningsidentifikator, og så montere denne identifikatoren som en fysisk anordning. Den virtuelle harddiskfilen 140 kan da vises og aksesseres som en diskanordning 145.
[0055] Videre kan fremgangsmåten, sett fra virtuell-maskin-verten 110, omfatte et trinn 260 med å motta ett eller flere øyeblikksbilder. Trinn 260 omfatter det å motta data for ett eller flere konsistente øyeblikksbilder svarende til ett eller flere fysiske lagringsvolumer. For eksempel, som vist i figur 1B, kan virtuell-maskin-verten 110 motta volumdata 127 og oppstartsdata 120 over en hvilken som helst passende overføringsmekanisme (dvs. byte-basert, eller byteblokk-basert, etc. på en hvilken som helst nettverksoverføringsprotokoll).
[0056] Videre viser figur 2 at fremgangsmåten, sett fra virtuell-maskin-verten 110, kan omfatte et trinn 270 med å modifisere oppstartstabellen. Trinn 270 omfatter det å modifisere driftsinformasjon for det ene eller de flere konsistente øyeblikksbildene, slik at det ene eller de flere konsistente øyeblikksbildene er anvendelige for et operativsystem på virtuell-maskin-verten. Som vist i figur 1C mottar for eksempel virtuell-maskin-verten 110 en melding 165 for å modifisere driftsinformasjon. For eksempel kan meldingen 165 omfatte én eller flere forespørseler om å identifisere passende kriterier for virtuell-maskin-verten 110 og endre oppstartsdata 120 til oppstartsdata 123 på passende måte. Meldingen 165 (eller en annen melding – ikke vist) kan også omfatte én eller flere forespørseler om å endre register- og eller kjørepreferanseinformasjon.
[0057] Endringer av driftsmessig karakter kan for eksempel omfatte forskjellige maskinvare- og operativsystemkonfigurasjoner (f.eks. antall prosessorer, maskinvaredrivere, diskdrivere/-identifikatorer og lagringsdrivere/-identifikatorer, nettverksdrivere, etc.) Slike endringer vil kunne måtte betraktes for å sikre at det nye operativsystemet i den virtuelle maskinen er kompatibelt og fungerer korrekt for det virtuelle miljøet. Endringer av driftsmessig karakter kan videre omfatte forskjellige registermanipulasjoner, så som bruk av drivere og annen maskinvare, identiteten til drivere som erstattes og/eller registreres i binærfilene, oppdateringer av kjerne- og/eller HAL-informasjon, og annet. Endringer av driftsmessig karakter kan enda videre omfatte forskjellige konfigurasjonspreferanser for den virtuelle maskinen, så som de for minne- og/eller CPU-krav.
[0058] Videre viser figur 2 at fremgangsmåten, sett fra virtuell-maskin-verten 110, kan omfatte et trinn 280 med å fjerne monteringen av den virtuelle harddiskfilen. Trinn 280 omfatter det å fjerne monteringen av harddiskfilen slik at den virtuelle harddiskfilen ikke lenger er tilgjengelig som en fysisk disk. For eksempel mottar virtuell-maskin-verten 110 en melding 170 som beordrer virtuell-maskin-verten 110 til å fjerne monteringen av den virtuelle harddiskfilen 140. Virtuell-maskin-verten 110 kan da demontere den virtuelle harddiskfilen, slik at filen 140 ikke lenger er tilgjengelig lokalt eller over et nettverk som en vertsnivå diskstasjon. Som følge av dette kan den virtuelle diskfilen 140 bli startet opp som virtuell maskin 175, som inneholder data som er konsistente for ett enkelt tidspunkt, klar til å kjøre på virtuell-maskin-verten 110. Spesielt, og sett fra en sluttbrukers perspektiv, er den virtuelle maskinen 175– for praktisk talt alle hensikter og formål – en hovedsakelig identisk form (dvs. de samme dataene, eller én eller flere delmengder av disse) av den fysiske maskinen 105 før øyeblikksbildeoperasjoner.
[0059] Figurene 1A-1C og 2 viser således et antall komponenter og mekanismer for effektiv omdanning av en maskin (f.eks. en fysisk maskin eller foregående virtuell maskin) til en virtuell maskin. Spesielt angir figurene og den tilhørende teksten hvordan utførelser av foreliggende oppfinnelse kan realiseres i minst én henseende, uten nødvendigvis å gjenstarte en maskin som omdannes, og/eller uten at en nødvendigvis må gjenstarte i et ADS- eller PXE-miljø. Følgelig gjør de ovenfor angitte komponenter og mekanismer det mulig å danne fysiske maskiner forholdsvis raskt, for eksempel med tradisjonelle disk- og nettverksoverføringshastigheter.
[0060] Som nevnt over vil en forstå at utførelser av foreliggende oppfinnelse kan varieres og modifiseres for en lang rekke optimeringer og en lang rekke maskinvare- og operativsystemmiljøer. For eksempel kan utførelser av foreliggende oppfinnelse enkelt anvendes for å omdanne en hvilken som helst type maskin til en ny virtuell maskin. I tilfellet med en allerede virtuell maskin kan en bruker for eksempel ønske å skape mer lagringsplass for en virtuell maskin hvis lagringsvolumer allerede kan være maksimert. Følgelig kan brukeren opprette én eller flere VHD-filer som er større enn de foregående VHD-filene i en allerede virtuell maskin, ta et øyeblikksbilde av dataene i den virtuelle maskinen og overføre øyeblikksbildedataene for den virtuelle maskinen til de større VHD-filene. Enda videre kan omdanningsprosessene beskrevet her deles ytterligere opp i flere uavhengige trinn andre enn de beskrevet eksplisitt. Dersom for eksempel en bruker har en måte å overføre et lagringsvolumbilde til en målmaskin, kan brukeren bare anrope en oppfiksingsoperasjon for å “virtualisere” bildet, eller liknende, slik at bildet er oppstartbart på målmaskinen.
[0061] I tillegg til det foregående vil en lett se at utførelser av foreliggende oppfinnelse også kan anvendes på en rekke ulike diskutførelser. For eksempel kan den eller de fysiske diskene der volumet 115 er installert være hvilke som helst én eller flere av en grunnleggende eller dynamisk disk i et operativsystem, og kan videre ha flere forskjellige partisjoner og/eller lagringsvolumer. Ikke desto mindre kan fremgangsmåtene, komponentene og mekanismene beskrevet her anvendes med slike variasjoner i den virtuelle maskinen akkurat som de ble i den foregående maskinen (f.eks. en fysisk maskin eller en allerede virtuell maskin). Spesielt kan trekk ved en fysisk dynamisk eller grunnleggende disk bli overført til virtuellmaskin-verten slik at den nye virtuelle maskinen vil oppføre seg akkurat som den gjorde før med de grunnleggende eller dynamiske diskegenskapene. Følgelig kan komponentene, modulene og mekanismene beskrevet her anvendes generelt for å sikre en sømløs overgang fra en eksisterende maskin til en ny virtualisert form av den eksiterende maskinen.
[0062] Utførelsesformene av foreliggende oppfinnelse kan omfatte en spesialisert eller generell datamaskin som omfatter forskjellig maskinvare, som beskrevet nærmere nedenfor. Utførelsesformer innenfor rammen til foreliggende oppfinnelse omfatter også datamaskinlesbare medier for å føre eller lagre datamaskineksekverbare instruksjoner eller datastrukturer. Slike datamaskinlesbare medier kan være hvilke som helst tilgjengelige medier som kan aksesseres av en generell eller spesialisert datamaskin.
[0063] Som et eksempel, og ikke en begrensning kan slike datamaskinlesbare medier omfatte RAM, ROM, EEPROM, CD-ROM eller andre optiske platelagre, magnetplatelagre eller andre magnetiske lagringsanordninger, eller et hvilket som helst annet medium som kan anvendes for å føre eller lagre ønskede programkodeinnretninger i form av datamaskin-eksekverbare instruksjoner eller datastrukturer og som kan aksesseres av en generell eller spesialisert datamaskin. Når informasjon blir overført eller forsynt over et nettverk eller en annen kommunikasjonsforbindelse (enten kabelbasert, trådløs eller en kombinasjon av kabelbasert og trådløs) til en datamaskin, betrakter datamaskinen forbindelsen på passende måte som et datamaskinlesbart medium. Følgelig kan en hvilken som helst slik forbindelse korrekt kalles et datamaskinlesbart medium. Enhver kombinasjon av det ovennevnte skal også være omfattet innenfor rammen av datamaskinlesbare medier.
[0064] Datamaskin-eksekverbare instruksjoner omfatter for eksempel instruksjoner og data som får en generell datamaskin, spesialisert datamaskin eller spesialisert prosesseringsanordning til å utføre en bestemt funksjon eller gruppe av funksjoner. Selv om oppfinnelsen er beskrevet med en ordlyd som er spesifikk for oppbygningsmessige trekk og/eller fremgangsmåtetrinn, må det forstås at oppfinnelsen definert i de vedføyde kravene ikke nødvendigvis er begrenset til de konkrete trekkene eller trinnene beskrevet over. Tvert imot er de konkrete trekkene og trinnene beskrevet over ment som eksempler på hvordan kravene kan realiseres.
[0065] Foreliggende oppfinnelse kan realiseres i andre spesifikke former uten å fjerne seg fra sin ramme eller sine grunnleggende trekk. De beskrevne utførelsesformene skal i alle henseende kun betraktes som en illustrasjon og ikke en begrensning. Oppfinnelsens ramme er derfor angitt av de vedføyde kravene heller enn av den foregående beskrivelsen. Alle endringer som faller innenfor kravenes betydning og ekvivalensramme skal være omfattet innenfor kravenes ramme.
Claims (15)
1. Fremgangsmåte for å lage en virtuell maskin (175) i en virtuell maskin-vert (110), hvilken virtuelle maskin-vert er inkludert i et datastyrt miljø i en maskin (105), hvilken maskin omfatter én eller flere volumer (115), nevnte metode for å opprette en virtuell maskin (175) i den virtuelle maskin-verten omfatter handlingene:
å identifisere (200) én eller flere maskinvarekonfigurasjonsinnstillinger for ett eller flere volumer i maskinen, inkludert å identifisere en oppstartssektor (120) og volumdata (125) på ett eller flere maskinvolumer (115);
å opprette (210) ett eller flere konsistente øyeblikksbilder (117) som svarer til volumdataene og oppstartssektoren (125) på det ene eller de flere maskinvolumene (115), hvor det ene eller de flere konsistente øyeblikksbildene omfatter volumdata (127) og en oppstartssektor som respektivt samsvarer med volumdataene og oppstartssektoren på det ene eller de flere maskinvolumene, og hvor oppstartssektoren som er omfattet av det ene eller de flere konsistente øyeblikksbildene kan modifiseres i den virtuelle maskin-verten;
å sende én eller flere instruksjoner til den virtuelle maskin-verten for å lage en virtuell harddisk fil (140);
å sende en instruksjon (150) til den virtuelle maskin-verten for å gjøre den virtuelle harddisk filen skrivbar;
å sende én eller flere instruksjoner (155) til den virtuelle maskin-verten for å montere den opprettede virtuelle harddisk filen;
å overføre (220) det ene eller de flere konsekvente øyeblikksbildene til den monterte virtuelle harddisk filen; og
å sende en instruksjon (165) for å modifisere operativ informasjon for det ene eller de flere konsekvente øyeblikksbildene, slik at det ene eller de flere konsekvente øyeblikksbildene er oppstartbare i den virtuelle maskin-verten, hvor modifikasjonen omfatter å modifisere minst oppstartssektoren som er omfattet av det ene eller de flere øyeblikksbildene.
2. Fremgangsmåte ifølge krav 1, hvor minst ett av det ene eller de flere konsistente øyeblikksbildene overføres til den virtuelle maskin-verten ved å overføre det minst ene øyeblikksbildet som et sett av én eller flere byteblokker (160).
3. Fremgangsmåte ifølge krav 1, hvor maskinen er en fysisk maskin, og den fysiske maskinen og den virtuelle maskin-verten er det samme datasystemet, slik at det ene eller de flere volumer til den fysiske maskinen overføres til en annen disk-enhet i den fysiske maskinen i samme datasystem, og / eller hvor det ene eller de flere maskinvolumene omfatter et antall maskinvolumer installert på en fysisk disk.
4. Fremgangsmåte ifølge krav 1, hvor handlingen med å opprette det ene eller de flere konsekvente øyeblikksbildene videre omfatter handlingene:
å identifisere brukt plass og ledig plass på det ene eller de flere maskinvolumene;
å identifisere én eller flere filer på den brukte plassen som skal unngås under øyeblikksbilde- eller kopieringsoperasjoner, den ene eller de flere filene som skal unngås, inkluderer én eller flere av en diff-område-fil, en side-fil, en skadet klynge, en dvalemodus; og
å kopiere dataene fra det ene eller de flere maskinvolumene til én eller flere virtuelle harddisk filer, slik at de kopierte dataene bare inneholder en av:
(I) den identifisert brukte plassen; eller
(Ii) den identifiserte brukte plassen uten den ene eller de flere filene som skal unngås.
5. Fremgangsmåte ifølge krav 1, hvor handlingen med å identifisere én eller flere maskinvarekonfigurasjonsinnstillinger videre omfatter handlingene:
å identifisere én eller flere applikasjoner på den ene eller de flere volumene som er konfigurert for skribent-involverte øyeblikksbilder, og å sende en instruksjon til hvert identifisert program for å starte prosessen med skribentinvolverte øyeblikksbilder; og
identifisere én eller flere applikasjoner som ikke er konfigurert for skribentinvolverte øyeblikksbilder, og å lukke hver av de identifiserte av den ene eller de flere applikasjoner som ikke er konfigurert for skribent-involverte prosesser.
6. Fremgangsmåte ifølge krav 1, hvor den opprettede virtuelle harddisk filen er dynamisk størrelses anordnet, slik at størrelsen på den virtuelle harddisk filen kan endres over tid.
7. Fremgangsmåte ifølge krav 6, omfattende: å identifisere en enhetsidentifikator for den monterte virtuelle harddisk filen; og
å identifisere én eller flere enhetsidentifikatorer for det ene eller de flere konsekvente øyeblikksbildene.
8. Fremgangsmåte ifølge krav 1, omfattende: å identifisere én eller flere systemverdier til den virtuelle maskin-verten, hvor sending av en instruksjon for å modifisere operativ informasjon for det ene eller de flere konsistente øyeblikksbildene omfatter å sende en instruksjon for å modifisere operativ informasjon i samsvar med den identifiserte ene eller de flere systemverdiene, og hvor instruksjonen for å endre operativ informasjon inkluderer en instruksjon for å endre én eller flere av:
(I) oppstart sektoren;
(Ii) systemregisterinformasjon;
(Iii) én eller flere drivere;
(Iv) binære operativsystem deler;
(V) binære kjerne deler; eller
(Vi) én eller flere konfigurasjonsinnstillinger for den virtuelle maskinen.
9. Fremgangsmåte ifølge krav 8, hvor instruksjonen for å modifisere operativ informasjon inkluderer én eller flere av:
én eller flere instruksjoner for å erstatte drivere for én eller flere fysiske enheter med drivere for én eller flere virtuelle enheter;
én eller flere instruksjoner for å deaktivere enhetsdrivere for maskinvare der det ikke er noen tilsvarende virtuell enhet i det virtuelle miljøet; eller
én eller flere instruksjoner for å deaktivere én eller flere tjenester som er avhengige av én eller flere enheter som ikke finnes på den virtuelle maskin-verten.
10. Fremgangsmåte ifølge krav 8, videre omfattende en handling for å sende én eller flere instruksjoner (170) til den virtuelle maskinverten for å fjerne monteringen av den virtuelle harddisk filen, slik at den virtuelle harddisk filen ikke kan være tilgjengelig som en fysisk disk.
11. Fremgangsmåte for å lage en virtuell maskin på en virtuell maskin-vert (110) i et datastyrt miljø, idet den virtuelle maskin-verten er konfigurert til å være vert for én eller flere virtuelle maskiner som inkluderer ett eller flere volumer, idet fremgangsmåten for å skape en virtuell maskin i nevnte virtuelle maskin-vert omfatter handlingene:
å opprette (240) en virtuell harddisk fil med en filstørrelse (140);
å montere (250) den virtuelle harddisk filen på den virtuelle maskin-verten slik at den virtuelle harddisk filen vises som en tilgjengelig fysisk disk; å motta (260) ett eller flere konsistente øyeblikksbilder (117) som tilsvarer ett eller flere fysiske maskinvolumer (115), hvor det ene eller de flere konsistente øyeblikksbildene omfatter volumdata (127) og en oppstartssektor henholdsvis tilsvarende volumdata og en oppstartssektor på det ene eller de flere fysiske maskinvolumene, og hvor oppstartssektoren som omfattes av det ene eller de flere konsekvente øyeblikksbildene, kan modifiseres i den virtuelle maskin-verten;
å lagre ett eller flere konsekvent øyeblikksbilder på den virtuelle harddisk filen;
å modifisere (270) operativ informasjon for det ene eller de flere konsekvente øyeblikksbildene, slik at det ene eller de flere konsekvente øyeblikksbildene kan startes på den virtuelle maskinverten, hvor modifikasjonen omfatter å modifisere minst oppstartssektoren.
12. Fremgangsmåte ifølge krav 11, videre omfattende handlingene: å motta data for det ene eller de flere konsekvente øyeblikksbildene på et byte blokk-nivå; og å fjerne (280) monteringen av den virtuelle harddisk filen, slik at den virtuelle harddisk filen ikke er tilgjengelig som en fysisk disk.
13. Fremgangsmåte ifølge krav 11, videre omfattende handlingene: å motta en instruksjon for å gjøre den opprettede virtuelle harddiskfilen skrivbar; og
å sende en enhetsidentifikator for den monterte virtuelle harddiskfilen til et fysisk datasystem.
14. Fremgangsmåte ifølge krav 11, videre omfattende en handling for rapportering av én eller flere systemverdier til et fysisk datasystem, hvor den ene eller de flere systemverdiene brukes til å modifisere operasjonsinformasjonen for den ene eller de flere konsistente øyeblikksbildene, og hvor modifikasjonen av operasjonsinformasjonen omfatter å modifisere én eller flere av oppstartssektorene; systemregister informasjon; én eller flere drivere; binære operativsystem deler; binære kjerne deler eller én eller flere konfigurasjonsinnstillinger for den virtuelle maskinen.
15. Dataprogramprodukt som har datamaskin-eksekveringsbar kode lagret derpå, som når den utføres, forårsaker at én eller flere prosessorer i en maskin i et datastyrt miljø som inkluderer en virtuell maskin-vert konfigurert til å være vert for én eller flere virtuelle maskiner, hvor maskinen omfatter ett eller flere volumer, for å utføre fremgangsmåten ifølge et hvilket som helst av kravene 1 til 10.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/430,676 US7653794B2 (en) | 2006-05-08 | 2006-05-08 | Converting physical machines to virtual machines |
PCT/US2007/006021 WO2007130209A1 (en) | 2006-05-08 | 2007-03-08 | Converting machines to virtual machines |
Publications (2)
Publication Number | Publication Date |
---|---|
NO20084228L NO20084228L (no) | 2008-10-22 |
NO342885B1 true NO342885B1 (no) | 2018-08-20 |
Family
ID=38662463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20084228A NO342885B1 (no) | 2006-05-08 | 2008-10-09 | Å omdanne maskiner til virtuelle maskiner |
Country Status (18)
Country | Link |
---|---|
US (1) | US7653794B2 (no) |
EP (1) | EP2021939B1 (no) |
JP (2) | JP5026509B2 (no) |
KR (2) | KR101465928B1 (no) |
CN (2) | CN101443748B (no) |
AU (1) | AU2007248886B2 (no) |
BR (1) | BRPI0711336A8 (no) |
CA (1) | CA2648761C (no) |
ES (1) | ES2632512T3 (no) |
HK (1) | HK1172718A1 (no) |
IL (2) | IL194679A (no) |
MX (1) | MX2008014244A (no) |
MY (1) | MY149997A (no) |
NO (1) | NO342885B1 (no) |
RU (2) | RU2446450C2 (no) |
TW (2) | TWI428830B (no) |
WO (1) | WO2007130209A1 (no) |
ZA (1) | ZA200808579B (no) |
Families Citing this family (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617501B2 (en) | 2004-07-09 | 2009-11-10 | Quest Software, Inc. | Apparatus, system, and method for managing policies on a computer having a foreign operating system |
US8347063B2 (en) * | 2005-08-19 | 2013-01-01 | Intel Corporation | Method and system for device address translation for virtualization |
US7904949B2 (en) | 2005-12-19 | 2011-03-08 | Quest Software, Inc. | Apparatus, systems and methods to provide authentication services to a legacy application |
US8087075B2 (en) | 2006-02-13 | 2011-12-27 | Quest Software, Inc. | Disconnected credential validation using pre-fetched service tickets |
US8577940B2 (en) * | 2006-03-20 | 2013-11-05 | Parallels IP Holdings GmbH | Managing computer file system using file system trees |
US8321377B2 (en) * | 2006-04-17 | 2012-11-27 | Microsoft Corporation | Creating host-level application-consistent backups of virtual machines |
US7617373B2 (en) * | 2006-05-23 | 2009-11-10 | International Business Machines Corporation | Apparatus, system, and method for presenting a storage volume as a virtual volume |
US8429712B2 (en) * | 2006-06-08 | 2013-04-23 | Quest Software, Inc. | Centralized user authentication system apparatus and method |
US8086710B2 (en) | 2006-10-30 | 2011-12-27 | Quest Software, Inc. | Identity migration apparatus and method |
US7689859B2 (en) * | 2006-12-20 | 2010-03-30 | Symantec Operating Corporation | Backup system and method |
US8656386B1 (en) * | 2007-03-13 | 2014-02-18 | Parallels IP Holdings GmbH | Method to share identical files in a common area for virtual machines having the same operating system version and using a copy on write to place a copy of the shared identical file in a private area of the corresponding virtual machine when a virtual machine attempts to modify the shared identical file |
US20100107163A1 (en) * | 2007-03-20 | 2010-04-29 | Sanggyu Lee | Movable virtual machine image |
US20080235361A1 (en) * | 2007-03-21 | 2008-09-25 | David Crosbie | Management layer method and apparatus for dynamic assignment of users to computer resources |
US8566502B2 (en) * | 2008-05-29 | 2013-10-22 | Vmware, Inc. | Offloading storage operations to storage hardware using a switch |
US8239646B2 (en) | 2007-07-31 | 2012-08-07 | Vmware, Inc. | Online virtual machine disk migration |
US8245217B2 (en) | 2007-10-12 | 2012-08-14 | Microsoft Corporation | Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine |
US8407688B2 (en) * | 2007-11-27 | 2013-03-26 | Managelq, Inc. | Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets |
US7865711B2 (en) * | 2007-12-03 | 2011-01-04 | Microsoft Corporation | Efficient method for operating system deployment |
US8181174B2 (en) * | 2007-12-28 | 2012-05-15 | Accenture Global Services Limited | Virtual machine configuration system |
US20090217296A1 (en) * | 2008-02-26 | 2009-08-27 | Alexander Gebhart | Benefit analysis of implementing virtual machines |
US8560593B2 (en) | 2008-03-27 | 2013-10-15 | Dell Software Inc. | System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment |
US8365167B2 (en) * | 2008-04-15 | 2013-01-29 | International Business Machines Corporation | Provisioning storage-optimized virtual machines within a virtual desktop environment |
US8364983B2 (en) * | 2008-05-08 | 2013-01-29 | Microsoft Corporation | Corralling virtual machines with encryption keys |
US8745336B2 (en) * | 2008-05-29 | 2014-06-03 | Vmware, Inc. | Offloading storage operations to storage hardware |
US8266099B2 (en) * | 2008-05-29 | 2012-09-11 | Vmware, Inc. | Offloading storage operations to storage hardware using a third party server |
US20090328030A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Installing a management agent with a virtual machine |
US20100042719A1 (en) * | 2008-08-12 | 2010-02-18 | Junji Kinoshita | Content access to virtual machine resource |
US8150801B2 (en) * | 2008-08-20 | 2012-04-03 | Microsoft Corporation | Recovery of a computer that includes virtual disks |
US8307177B2 (en) | 2008-09-05 | 2012-11-06 | Commvault Systems, Inc. | Systems and methods for management of virtualization data |
US8572608B2 (en) * | 2008-10-22 | 2013-10-29 | Vmware, Inc. | Methods and systems for converting a related group of physical machines to virtual machines |
CN101408856A (zh) * | 2008-11-21 | 2009-04-15 | 清华大学 | 一种用于容灾备份的***和方法 |
US9454368B2 (en) | 2009-01-21 | 2016-09-27 | Vmware, Inc. | Data mover permitting data transfer without transferring data between application and operating system |
JP5166307B2 (ja) * | 2009-01-30 | 2013-03-21 | 株式会社立花エレテック | 接続機器利用システムおよびその方法 |
US9134922B2 (en) | 2009-03-12 | 2015-09-15 | Vmware, Inc. | System and method for allocating datastores for virtual machines |
US8255984B1 (en) | 2009-07-01 | 2012-08-28 | Quest Software, Inc. | Single sign-on system for shared resource environments |
US20110010710A1 (en) * | 2009-07-10 | 2011-01-13 | Microsoft Corporation | Image Transfer Between Processing Devices |
US9778946B2 (en) * | 2009-08-07 | 2017-10-03 | Dell Software Inc. | Optimized copy of virtual machine storage files |
US9043454B2 (en) * | 2009-08-26 | 2015-05-26 | Red Hat Israel, Ltd. | Auto suspense of virtual machine on client disconnection |
US8589913B2 (en) * | 2009-10-14 | 2013-11-19 | Vmware, Inc. | Tracking block-level writes |
US8150808B2 (en) | 2009-10-21 | 2012-04-03 | Delphix Corp. | Virtual database system |
US8161077B2 (en) | 2009-10-21 | 2012-04-17 | Delphix Corp. | Datacenter workflow automation scenarios using virtual databases |
US8856080B2 (en) | 2009-10-30 | 2014-10-07 | Microsoft Corporation | Backup using metadata virtual hard drive and differential virtual hard drive |
US9106591B2 (en) * | 2009-12-24 | 2015-08-11 | Delphix Corporation | Adaptive resource management using survival minimum resources for low priority consumers |
US9262306B2 (en) * | 2010-01-27 | 2016-02-16 | Hewlett Packard Enterprise Development Lp | Software application testing |
US8751780B2 (en) | 2010-02-08 | 2014-06-10 | Microsoft Corporation | Fast machine booting through streaming storage |
US8751738B2 (en) | 2010-02-08 | 2014-06-10 | Microsoft Corporation | Background migration of virtual storage |
US8204860B1 (en) * | 2010-02-09 | 2012-06-19 | F5 Networks, Inc. | Methods and systems for snapshot reconstitution |
JP5636695B2 (ja) * | 2010-03-02 | 2014-12-10 | 日本電気株式会社 | フォールトトレラントシステム及び仮想マシン構築方法 |
KR20110106716A (ko) | 2010-03-23 | 2011-09-29 | 삼성전자주식회사 | 프로그램 컴파일러, 설치 장치, 및 설치 방법 |
US8775781B2 (en) | 2010-03-25 | 2014-07-08 | Microsoft Corporation | Intelligent boot device selection and recovery |
CN102214126A (zh) * | 2010-04-02 | 2011-10-12 | 英业达股份有限公司 | 卷影复制服务的供应程序的对象的创建方法 |
US8996667B2 (en) | 2010-04-27 | 2015-03-31 | International Business Machines Corporation | Deploying an operating system |
US9767274B2 (en) * | 2011-11-22 | 2017-09-19 | Bromium, Inc. | Approaches for efficient physical to virtual disk conversion |
US9569446B1 (en) | 2010-06-08 | 2017-02-14 | Dell Software Inc. | Cataloging system for image-based backup |
US8548944B2 (en) | 2010-07-15 | 2013-10-01 | Delphix Corp. | De-duplication based backup of file systems |
US20120054742A1 (en) * | 2010-09-01 | 2012-03-01 | Microsoft Corporation | State Separation Of User Data From Operating System In A Pooled VM Environment |
US8490088B2 (en) * | 2010-09-10 | 2013-07-16 | International Business Machines Corporation | On demand virtual machine image streaming |
US8694745B2 (en) * | 2010-09-15 | 2014-04-08 | Symantec Corporation | Physical to virtual disks creation (P2V) method, by harvesting data from critical sectors |
JP2012068790A (ja) | 2010-09-22 | 2012-04-05 | Internatl Business Mach Corp <Ibm> | Osのイメージの選択装置、選択方法、及び選択プログラム |
JP5492731B2 (ja) | 2010-10-06 | 2014-05-14 | 株式会社日立製作所 | 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム |
US9069620B2 (en) | 2010-10-20 | 2015-06-30 | Microsoft Technology Licensing, Llc | Creating and deploying service-ready virtual hard disks |
US9092149B2 (en) | 2010-11-03 | 2015-07-28 | Microsoft Technology Licensing, Llc | Virtualization and offload reads and writes |
WO2012063311A1 (ja) * | 2010-11-08 | 2012-05-18 | 株式会社日立製作所 | 計算機の制御方法、計算機システム及び記憶媒体 |
WO2012069297A1 (en) | 2010-11-23 | 2012-05-31 | International Business Machines Corporation | Direct migration of software images with streaming technique |
US8468174B1 (en) | 2010-11-30 | 2013-06-18 | Jedidiah Yueh | Interfacing with a virtual database system |
US8495352B2 (en) | 2010-12-08 | 2013-07-23 | International Business Machines Corporation | System and method for instantiation of distributed applications from disk snapshots |
CN103250163B (zh) | 2010-12-09 | 2016-08-10 | 国际商业机器公司 | 用于加密和解密虚拟盘的计算机可读存储介质 |
DE112011104356B4 (de) | 2010-12-13 | 2014-05-15 | International Business Machines Corporation | Aktualisieren von Software-Images auf der Grundlage von Streaming-Technik |
JP5767565B2 (ja) | 2010-12-14 | 2015-08-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理) |
JP5672075B2 (ja) * | 2011-03-03 | 2015-02-18 | 日本電気株式会社 | 計算機システム、仮想環境マイグレーション方法および仮想環境マイグレーションプログラム |
US9146765B2 (en) | 2011-03-11 | 2015-09-29 | Microsoft Technology Licensing, Llc | Virtual disk storage techniques |
US8725782B2 (en) | 2011-04-25 | 2014-05-13 | Microsoft Corporation | Virtual disk storage techniques |
US9519496B2 (en) | 2011-04-26 | 2016-12-13 | Microsoft Technology Licensing, Llc | Detecting and preventing virtual disk storage linkage faults |
US9069467B2 (en) * | 2011-06-01 | 2015-06-30 | Microsoft Technology Licensing, Llc | Isolation of virtual machine I/O in multi-disk hosts |
US20130007726A1 (en) * | 2011-06-30 | 2013-01-03 | Indrajit Poddar | Virtual machine disk image installation |
KR101493827B1 (ko) * | 2011-07-04 | 2015-02-17 | 주식회사 케이티 | 물리서버를 가상 서버로 마이그레이션하는 장치 및 그 방법 |
DE102011107169A1 (de) * | 2011-07-13 | 2013-01-17 | Kuka Roboter Gmbh | Steuerung eines Roboter |
US9158561B2 (en) * | 2011-08-18 | 2015-10-13 | Vmware, Inc. | Systems and methods for modifying an operating system for a virtual machine |
US8595460B2 (en) | 2011-08-26 | 2013-11-26 | Vmware, Inc. | Configuring object storage system for input/output operations |
CN102323943A (zh) * | 2011-09-02 | 2012-01-18 | 北京天地云箱科技有限公司 | 基于虚拟机的数据存储方法及*** |
US20130066838A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Efficient data recovery |
EP2570920A1 (en) * | 2011-09-16 | 2013-03-20 | France Télécom | System and method for cross-platform application execution and display |
US9461881B2 (en) * | 2011-09-30 | 2016-10-04 | Commvault Systems, Inc. | Migration of existing computing systems to cloud computing sites or virtual machines |
US9009318B2 (en) * | 2011-11-03 | 2015-04-14 | Microsoft Corporation | Offline resource allocation algorithms |
US9817582B2 (en) | 2012-01-09 | 2017-11-14 | Microsoft Technology Licensing, Llc | Offload read and write offload provider |
JP5684170B2 (ja) * | 2012-02-28 | 2015-03-11 | 株式会社東芝 | 情報処理装置、クライアント管理システムおよびクライアント管理方法 |
US9055067B1 (en) * | 2012-03-26 | 2015-06-09 | Amazon Technologies, Inc. | Flexible-location reservations and pricing for network-accessible resource capacity |
TWI456944B (zh) * | 2012-05-02 | 2014-10-11 | Quanta Comp Inc | 管理方法及其系統 |
US9740500B2 (en) | 2012-08-30 | 2017-08-22 | Microsoft Technology Licensing, Llc | Layout system for operating systems using BPRAM |
US9952879B2 (en) | 2012-08-30 | 2018-04-24 | Microsoft Technology Licensing, Llc | Application pre-layout in byte-addressable persistent random access memory |
US9778860B2 (en) | 2012-09-12 | 2017-10-03 | Microsoft Technology Licensing, Llc | Re-TRIM of free space within VHDX |
US8788461B2 (en) | 2012-10-04 | 2014-07-22 | Delphix Corp. | Creating validated database snapshots for provisioning virtual databases |
US9071585B2 (en) | 2012-12-12 | 2015-06-30 | Microsoft Technology Licensing, Llc | Copy offload for disparate offload providers |
US9251201B2 (en) | 2012-12-14 | 2016-02-02 | Microsoft Technology Licensing, Llc | Compatibly extending offload token size |
US9740702B2 (en) | 2012-12-21 | 2017-08-22 | Commvault Systems, Inc. | Systems and methods to identify unprotected virtual machines |
US9378035B2 (en) | 2012-12-28 | 2016-06-28 | Commvault Systems, Inc. | Systems and methods for repurposing virtual machines |
US9703584B2 (en) | 2013-01-08 | 2017-07-11 | Commvault Systems, Inc. | Virtual server agent load balancing |
US10025674B2 (en) * | 2013-06-07 | 2018-07-17 | Microsoft Technology Licensing, Llc | Framework for running untrusted code |
US9383986B2 (en) | 2013-06-18 | 2016-07-05 | Disney Enterprises, Inc. | Safe low cost web services software deployments |
US9841983B2 (en) * | 2013-06-28 | 2017-12-12 | Vmware, Inc. | Single click host maintenance |
US9262448B2 (en) * | 2013-08-12 | 2016-02-16 | International Business Machines Corporation | Data backup across physical and virtualized storage volumes |
US9639384B2 (en) * | 2013-08-20 | 2017-05-02 | Vmware, Inc. | Method and system for fast provisioning of virtual desktop |
US10789136B1 (en) * | 2013-08-23 | 2020-09-29 | Acronis International Gmbh | Granular recovery using hot-plug virtual disks |
US9594583B2 (en) | 2013-11-12 | 2017-03-14 | Red Hat, Inc. | Lightweight snapshots for virtual disks |
CN104809020B (zh) * | 2013-11-20 | 2018-05-11 | 华为技术有限公司 | 一种生成快照的方法、***和装置 |
CN103946807B (zh) * | 2013-11-20 | 2016-03-09 | 华为技术有限公司 | 一种生成快照的方法、***和装置 |
CN103761168B (zh) * | 2014-01-26 | 2017-06-13 | 上海爱数信息技术股份有限公司 | 一种基于nfs卷挂载备份虚拟机的方法 |
US20150269029A1 (en) * | 2014-03-20 | 2015-09-24 | Unitrends, Inc. | Immediate Recovery of an Application from File Based Backups |
US9454439B2 (en) | 2014-05-28 | 2016-09-27 | Unitrends, Inc. | Disaster recovery validation |
US9448834B2 (en) | 2014-06-27 | 2016-09-20 | Unitrends, Inc. | Automated testing of physical servers using a virtual machine |
US20160019317A1 (en) | 2014-07-16 | 2016-01-21 | Commvault Systems, Inc. | Volume or virtual machine level backup and generating placeholders for virtual machine files |
US9684567B2 (en) * | 2014-09-04 | 2017-06-20 | International Business Machines Corporation | Hypervisor agnostic interchangeable backup recovery and file level recovery from virtual disks |
CN104298559B (zh) * | 2014-09-30 | 2018-03-02 | 深信服科技股份有限公司 | 物理主机***虚拟化的方法及装置 |
TWI608420B (zh) | 2014-10-20 | 2017-12-11 | 緯創資通股份有限公司 | 虛擬機器監控方法及其系統 |
CN104331375B (zh) * | 2014-10-29 | 2018-08-07 | 中国建设银行股份有限公司 | 共享虚拟化资源池环境下的共享虚拟资源管理方法和装置 |
US9983936B2 (en) | 2014-11-20 | 2018-05-29 | Commvault Systems, Inc. | Virtual machine change block tracking |
US9798567B2 (en) | 2014-11-25 | 2017-10-24 | The Research Foundation For The State University Of New York | Multi-hypervisor virtual machines |
US20160162302A1 (en) * | 2014-12-07 | 2016-06-09 | Strato Scale Ltd. | Fast initiation of workloads using memory-resident post-boot snapshots |
WO2016197069A1 (en) | 2015-06-05 | 2016-12-08 | Nutanix, Inc. | Architecture for managing i/o and storage for a virtualization environment using executable containers and virtual machines |
CN105573791A (zh) * | 2015-12-15 | 2016-05-11 | 国云科技股份有限公司 | 一种linux虚拟机实现网卡热插拔的方法 |
CN105740042B (zh) * | 2016-01-15 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 虚拟机内存的管理方法和管理*** |
EP3286632A4 (en) * | 2016-02-12 | 2018-06-13 | Hewlett-Packard Enterprise Development LP | Creating operating system volumes |
US10565067B2 (en) | 2016-03-09 | 2020-02-18 | Commvault Systems, Inc. | Virtual server cloud file system for virtual machine backup from cloud operations |
US10133593B1 (en) * | 2016-03-31 | 2018-11-20 | Amazon Technologies, Inc. | Virtual machine migration |
CN107800730B (zh) * | 2016-08-30 | 2021-01-29 | 阿里巴巴集团控股有限公司 | 一种虚拟磁盘的扩容方法以及装置 |
US10678758B2 (en) | 2016-11-21 | 2020-06-09 | Commvault Systems, Inc. | Cross-platform virtual machine data and memory backup and replication |
US10649679B2 (en) * | 2016-11-23 | 2020-05-12 | Nutanix, Inc. | Containerized application extensions in distributed storage systems |
CN106708603B (zh) * | 2016-12-28 | 2019-04-26 | 平安科技(深圳)有限公司 | 虚拟机快速恢复方法及装置 |
JP6897136B2 (ja) | 2017-02-10 | 2021-06-30 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
US10761911B2 (en) | 2017-02-13 | 2020-09-01 | Nutanix, Inc. | Asynchronous application interactions in distributed systems |
US10949308B2 (en) | 2017-03-15 | 2021-03-16 | Commvault Systems, Inc. | Application aware backup of virtual machines |
US10896100B2 (en) | 2017-03-24 | 2021-01-19 | Commvault Systems, Inc. | Buffered virtual machine replication |
US10387073B2 (en) | 2017-03-29 | 2019-08-20 | Commvault Systems, Inc. | External dynamic virtual machine synchronization |
US10853195B2 (en) | 2017-03-31 | 2020-12-01 | Commvault Systems, Inc. | Granular restoration of virtual machine application data |
US10754829B2 (en) * | 2017-04-04 | 2020-08-25 | Oracle International Corporation | Virtual configuration systems and methods |
CN107463404A (zh) * | 2017-08-03 | 2017-12-12 | 浪潮(北京)电子信息产业有限公司 | 一种向虚拟机文件***中增加配置文件的方法和*** |
US10860242B1 (en) * | 2017-10-06 | 2020-12-08 | EMC IP Holding Company LLC | Method for automatic instant access mount point cleanup |
KR102003721B1 (ko) * | 2018-01-10 | 2019-07-26 | 성균관대학교산학협력단 | Gpu 커널 트랜잭션화 방법 및 컴퓨팅 장치 |
CN110347483B (zh) | 2018-04-08 | 2021-05-11 | 中兴通讯股份有限公司 | 物理机到虚拟机迁移方法、装置及存储介质 |
US11016798B2 (en) | 2018-06-01 | 2021-05-25 | The Research Foundation for the State University | Multi-hypervisor virtual machines that run on multiple co-located hypervisors |
US10887382B2 (en) * | 2018-12-18 | 2021-01-05 | Storage Engine, Inc. | Methods, apparatuses and systems for cloud-based disaster recovery |
US11080082B2 (en) | 2019-08-02 | 2021-08-03 | Red Hat, Inc. | Cross-hypervisor virtual machine conversion |
CN110515697A (zh) * | 2019-08-16 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种虚拟机迁移方法、装置、存储介质及计算机设备 |
US11656951B2 (en) | 2020-10-28 | 2023-05-23 | Commvault Systems, Inc. | Data loss vulnerability detection |
US11816129B2 (en) | 2021-06-22 | 2023-11-14 | Pure Storage, Inc. | Generating datasets using approximate baselines |
CN113609075A (zh) * | 2021-08-18 | 2021-11-05 | 济南浪潮数据技术有限公司 | 一种创建快照的方法、***、存储介质及设备 |
US12014186B2 (en) * | 2022-03-25 | 2024-06-18 | Sap Se | Reducing downtime during operating system patching |
US20240211251A1 (en) * | 2022-12-22 | 2024-06-27 | Red Hat, Inc. | Device to build programs on alternative cpu architectures and a method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126202A1 (en) * | 2001-11-08 | 2003-07-03 | Watt Charles T. | System and method for dynamic server allocation and provisioning |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4475156A (en) | 1982-09-21 | 1984-10-02 | Xerox Corporation | Virtual machine control |
US4975836A (en) | 1984-12-19 | 1990-12-04 | Hitachi, Ltd. | Virtual computer system |
US4835685A (en) | 1985-05-06 | 1989-05-30 | Computer X, Inc. | Virtual single machine with message-like hardware interrupts and processor exceptions |
US4787026A (en) | 1986-01-17 | 1988-11-22 | International Business Machines Corporation | Method to manage coprocessor in a virtual memory virtual machine data processing system |
US5692193A (en) | 1994-03-31 | 1997-11-25 | Nec Research Institute, Inc. | Software architecture for control of highly parallel computer systems |
US5996026A (en) | 1995-09-05 | 1999-11-30 | Hitachi, Ltd. | Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information |
US6052781A (en) | 1997-02-21 | 2000-04-18 | Savvy Frontiers Property Trust | Multiple user computer including anti-concurrent user-class based disjunctive separation of plural hard drive operation |
US6445704B1 (en) | 1997-05-02 | 2002-09-03 | Cisco Technology, Inc. | Method and apparatus for virtualizing a locally initiated outbound connection from a connection manager |
US6256637B1 (en) | 1998-05-05 | 2001-07-03 | Gemstone Systems, Inc. | Transactional virtual machine architecture |
US6496847B1 (en) | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US6397242B1 (en) | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
KR100846530B1 (ko) * | 2000-07-05 | 2008-07-15 | 언스트 앤 영 엘엘피 | 컴퓨터 서비스를 제공하는 방법 및 장치 |
DE60125393T2 (de) * | 2000-08-25 | 2007-09-27 | Shikoku Electric Power Co., Inc., Takamatsu | Fernsteuerungsserver, zentrumsserver und daraus bestehendes system |
US6789156B1 (en) | 2001-05-22 | 2004-09-07 | Vmware, Inc. | Content-based, transparent sharing of memory units |
US6880002B2 (en) | 2001-09-05 | 2005-04-12 | Surgient, Inc. | Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources |
US6938250B2 (en) * | 2002-06-12 | 2005-08-30 | Microsoft Corporation | Image-based software installation |
US20040117532A1 (en) * | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
US8209680B1 (en) * | 2003-04-11 | 2012-06-26 | Vmware, Inc. | System and method for disk imaging on diverse computers |
US7448034B2 (en) * | 2003-07-30 | 2008-11-04 | International Business Machines Corporation | Build time determination and installation of drivers on cloned systems |
US7373451B2 (en) | 2003-12-08 | 2008-05-13 | The Board Of Trustees Of The Leland Stanford Junior University | Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers |
US7257811B2 (en) * | 2004-05-11 | 2007-08-14 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US7577959B2 (en) | 2004-06-24 | 2009-08-18 | International Business Machines Corporation | Providing on-demand capabilities using virtual machines and clustering processes |
CA2486103A1 (en) * | 2004-10-26 | 2006-04-26 | Platespin Ltd. | System and method for autonomic optimization of physical and virtual resource use in a data center |
US7441092B2 (en) * | 2006-04-20 | 2008-10-21 | Microsoft Corporation | Multi-client cluster-based backup and restore |
-
2006
- 2006-05-08 US US11/430,676 patent/US7653794B2/en active Active
-
2007
- 2007-03-08 TW TW096108079A patent/TWI428830B/zh not_active IP Right Cessation
- 2007-03-08 CN CN2007800169624A patent/CN101443748B/zh active Active
- 2007-03-08 TW TW102143477A patent/TWI547875B/zh active
- 2007-03-08 RU RU2008144202/08A patent/RU2446450C2/ru active
- 2007-03-08 CN CN201110430731.6A patent/CN102541658B/zh active Active
- 2007-03-08 WO PCT/US2007/006021 patent/WO2007130209A1/en active Application Filing
- 2007-03-08 ES ES07752703.4T patent/ES2632512T3/es active Active
- 2007-03-08 MY MYPI20084085A patent/MY149997A/en unknown
- 2007-03-08 CA CA2648761A patent/CA2648761C/en active Active
- 2007-03-08 KR KR1020137031209A patent/KR101465928B1/ko active IP Right Grant
- 2007-03-08 BR BRPI0711336A patent/BRPI0711336A8/pt not_active Application Discontinuation
- 2007-03-08 JP JP2009509559A patent/JP5026509B2/ja active Active
- 2007-03-08 EP EP07752703.4A patent/EP2021939B1/en active Active
- 2007-03-08 AU AU2007248886A patent/AU2007248886B2/en active Active
- 2007-05-14 MX MX2008014244A patent/MX2008014244A/es active IP Right Grant
-
2008
- 2008-10-08 ZA ZA2008/08579A patent/ZA200808579B/en unknown
- 2008-10-09 NO NO20084228A patent/NO342885B1/no unknown
- 2008-10-12 IL IL194679A patent/IL194679A/en active IP Right Grant
- 2008-11-07 KR KR1020087027375A patent/KR101376952B1/ko active IP Right Grant
-
2011
- 2011-11-22 RU RU2011147372/08A patent/RU2011147372A/ru not_active Application Discontinuation
-
2012
- 2012-05-21 JP JP2012115974A patent/JP5496254B2/ja active Active
- 2012-11-14 IL IL223026A patent/IL223026A/en active IP Right Grant
- 2012-12-28 HK HK12113541.3A patent/HK1172718A1/xx unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126202A1 (en) * | 2001-11-08 | 2003-07-03 | Watt Charles T. | System and method for dynamic server allocation and provisioning |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NO342885B1 (no) | Å omdanne maskiner til virtuelle maskiner | |
US9811369B2 (en) | Method and system for physical computer system virtualization | |
US9286098B1 (en) | Using master file template area to increase density of virtual machines in a computer system | |
US8984510B1 (en) | Blocking file system for on-the-fly migration of a virtual execution environment | |
US8417796B2 (en) | System and method for transferring a computing environment between computers of dissimilar configurations | |
US8775696B2 (en) | Storage area network access for virtual machines | |
US8527466B2 (en) | Handling temporary files of a virtual machine | |
US8775781B2 (en) | Intelligent boot device selection and recovery | |
US8166477B1 (en) | System and method for restoration of an execution environment from hibernation into a virtual or physical machine | |
US8621461B1 (en) | Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device | |
US20090150463A1 (en) | Method of migration between virtual machine and physical machine and machine system thereof | |
JP2006011541A (ja) | 計算機および共用記憶装置を含む計算機システムにおける情報記録方法 | |
US20200326956A1 (en) | Computing nodes performing automatic remote boot operations | |
US10747567B2 (en) | Cluster check services for computing clusters | |
CN114416148A (zh) | 一种虚拟机管理程序热升级方法、装置及存储介质 | |
AU2012200600B2 (en) | "Converting machines to virtual machines" |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
CHAD | Change of the owner's name or address (par. 44 patent law, par. patentforskriften) |
Owner name: MICROSOFT TECHNOLOGY LICENSING, US |