Live migration

Livemigrering avser processen att flytta en virtuell maskin (VM) eller applikation som körs mellan olika fysiska maskiner utan att koppla bort klienten eller applikationen. Minne, lagring och nätverksanslutning för den virtuella maskinen överförs från den ursprungliga gästdatorn till destinationen. Tiden mellan att stoppa den virtuella datorn eller applikationen på källan och återuppta den på destinationen kallas "stopptid". När stilleståndstiden för en virtuell dator under direktmigrering är tillräckligt liten för att den inte märks av slutanvändaren, kallas det en "sömlös" livemigrering.

Livemigrering av virtuella maskiner

Två tekniker för att flytta den virtuella maskinens minnestillstånd från källan till destinationen är förkopieringsmigrering och minnesmigrering efter kopiering.

Förkopiera minnesmigrering

Förkopieringsfasen

I förkopieringsfasen kopierar Hypervisorn alla minnessidor från källa till destination medan den virtuella datorn fortfarande körs på källan. Om några minnessidor ändras (blir "smutsiga") under förkopieringsfasen, kommer de att kopieras om och om igen under flera "förkopieringsronder". Vanligtvis slutar förkopieringsfasen när antalet återstående smutsiga sidor blir tillräckligt litet för att ge en kort stopp-och-kopieringsfas. Men om en virtuell dator fortsätter att smutsa ner minnet snabbare än vad som kan återkopieras till destinationen, kommer förkopieringsfasen att avslutas efter en viss tidsgräns eller maximalt antal förkopieringsrundor för att påbörja nästa stopp-och-kopieringsfas.

Stopp-och-kopiera fas

Efter förkopieringsfasen pausas den virtuella datorn på källvärden, de återstående smutsiga sidorna kopieras till destinationen och den virtuella datorn kommer att återupptas på destinationen. Driftstoppen på grund av denna fas kan variera från några millisekunder till sekunder beroende på antalet smutsiga sidor som överförs under driftstopp. VM:er som smutsar ner mycket minne under förkopieringsfasen tenderar att ha en längre stilleståndstid.

Minnesmigrering efter kopiering

VM-migrering efter kopiering initieras genom att den virtuella datorn spärras vid källan. Med den virtuella datorn avstängd överförs en minimal delmängd av den virtuella datorns exekveringstillstånd (CPU-tillstånd, register och, valfritt, icke-sökbart minne) till målet. VM:n återupptas sedan vid målet. Samtidigt skjuter källan aktivt de återstående minnessidorna i den virtuella datorn till målet - en aktivitet som kallas försökning. Vid målet, om den virtuella datorn försöker komma åt en sida som ännu inte har överförts, genererar den ett sidfel. Dessa fel, kända som nätverksfel, fångas vid målet och omdirigeras till källan, som svarar med den felaktiga sidan. För många nätverksfel kan försämra prestandan för applikationer som körs inuti den virtuella datorn. Följaktligen kan förhandssökning dynamiskt anpassa sidöverföringsordningen till nätverksfel genom att aktivt trycka sidor i närheten av det senaste felet. Ett idealiskt förhandssökningsschema skulle maskera en stor majoritet av nätverksfel, även om dess prestanda beror på minnesåtkomstmönstret för den virtuella datorns arbetsbelastning.

Post-copy skickar varje sida exakt en gång över nätverket medan pre-copy kan överföra samma sida flera gånger om sidan smutsas ner upprepade gånger vid källan under migreringen. Å andra sidan behåller pre-copy ett uppdaterat tillstånd för den virtuella datorn vid källan under migreringen, medan den virtuella datorns tillstånd under efterkopiering delas mellan källan och destinationen. Om destinationen misslyckas under direktmigrering kan pre-copy återställa den virtuella datorn, medan post-copy inte kan.

VM-ansvariga med live-migreringsstöd

Molnplattformar med stöd för livemigrering

System som tillhandahåller livemigrering av programvara

Se även

externa länkar