WO2013064189A1 - Migration einer virtuellen maschine - Google Patents

Migration einer virtuellen maschine Download PDF

Info

Publication number
WO2013064189A1
WO2013064189A1 PCT/EP2011/069334 EP2011069334W WO2013064189A1 WO 2013064189 A1 WO2013064189 A1 WO 2013064189A1 EP 2011069334 W EP2011069334 W EP 2011069334W WO 2013064189 A1 WO2013064189 A1 WO 2013064189A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
virtual
network card
machine
host server
Prior art date
Application number
PCT/EP2011/069334
Other languages
English (en)
French (fr)
Inventor
Rene Graf
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to PCT/EP2011/069334 priority Critical patent/WO2013064189A1/de
Publication of WO2013064189A1 publication Critical patent/WO2013064189A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the invention relates to a method for the migration of a first virtual machine to a second virtual machine and to a computer system for operating such a method and to a corresponding computer program.
  • the consolidation and centralization of data processing brings together many computing processes on servers, with the servers in turn being housed in server farms of data processing centers. This considerably facilitates the maintenance of the individual machines and concentrates the specific know-how on the spot.
  • PLC programmable logic controller
  • a real-time system responds to all events in time and processes the data "keeping pace" with the technical ⁇ rule Process
  • the maximum term must be determined and must not factors, which or are only partially influenced - so it must be deterministic.
  • the execution of an operation within a specific Zeitin ⁇ tervalls is called deterministic.
  • the systems considered in the present invention are real-time systems. Ie. insbeson ⁇ particular, that both all interacting hardware and software components react deterministic.
  • a multi-core system on whose cores each have a virtual machine installed, which in turn is connected via a virtual network card to a physical network card of the host server.
  • a method that allows a computer's resources to ⁇ or divide sammenzuth is called virtualization.
  • Large virtualization solutions in data centers consist of several physical computers, one of which has a
  • a migration possibility of virtual machines during operation on a physical computer is an indispensable feature. This can be the same physical computer or another that can be coupled to it.
  • the new virtual machine is started and continues to work exactly where the old virtual machine was stopped.
  • the old virtual machine can now be removed from the memory of the previous host server.
  • Another operation makes use of the fact that the server is not fully utilized and is subject to its memory ⁇ imaging only small changes. Because a host operating system has full control over the hardware due to hardware virtualization, it can intercept memory accesses of the virtual machine. These intercepted accesses and the corresponding memory pages are created as a copy. At a certain time point ⁇ an image of the scale copied memory pages is made, and then transfer it to the new virtual ma- machine. Meanwhile, however, runs the old virtual Ma ⁇ machine on and will write new pages in its memory, which in turn are created as a copy. In the form of a differential data backup, the other resulting memory pages are thus successively transferred to the new virtual machine. The number of newly created pages in each pass decreases permanently until only a small amount of data or pages is available so that they can be transferred fast enough without exceeding a previously defined dead time of the server.
  • the invention uses a method of operating ei ⁇ nes real-time computer system having a physical network card, and on which a first virtual machine including a first virtual network interface card and a second virtual machine including a two ⁇ th virtual network card installed, wherein at runtime the first virtual machine is migrated to the second virtuel ⁇ le machine.
  • a migration is particularly of great advantage if for example individual physi ⁇ cal components of an original host server must be replaced or even the entire host server.
  • the migration provides a way to bring the software of a host server up to date. This concerns both the firmware and the application software running on it.
  • a software installation is performed on the second virtual machine.
  • this can be an identical software; this is necessary if only the virtual machine needs to be migrated to a new host server; or even a newer version of the same software is installed, which for example has to cope with the changed requirements of a control program.
  • step B a transmission of all static data of the first virtual machine to the second virtual machine is initiated. Subsequently, in a further step C) a transmission of all dynamic
  • a step D) the second virtual machine switches from a passive to an active state when the first virtual machine is switched from an active to a passive state.
  • time-switched ⁇ same when switching of the two virtual machines the assignment of the physical network interface card to the first virtual network map on the assignment of the physical network card to the second network card of the two virtu ⁇ economic machines. This ensures that there is no conflicting behavior between two virtual machines, for example when controlling a plant.
  • both virtual machines are installed on the same physical host server of the computer system.
  • This embodiment has the advantage that a synchronization of the individual processes on the computing cores of the respective virtual machines can be performed by a common host operating system. It uses the same drivers and the same physical host server hardware that synchronizes, for example, through inter-processor communication.
  • the computer system has a first and a second physical host server, wherein the first virtual machine is installed on the first host server and the second virtual machine is installed on the second host server are.
  • the hardware on which the first virtual machine is running shows first signs of aging which can lead to the defect of the entire host server and thus necessitate a migration to a new physical host server.
  • the virtual network card of the second virtual machine before switching to the active state only in one Reception mode operated.
  • Another advantage is that by switching the second virtual network card of the second virtual machine in receive mode, it is possible to copy the same data packets that are delivered to the first virtual network card of the first virtual machine.
  • the synchronization of the respective emulation processes of the two virtual machines from common drivers and / or software running on the respective physical host servers of the virtual machine. In this case, too, coordination of the processes of the two virtual machines is achieved.
  • a separate network connection is suitable as a dedicated synchronization coupling of the two physical host servers.
  • Such network connections are operated with protocols that allow control of the delivered data packets. Apart from that, network connections are very fast because they allow a high data throughput.
  • Another aspect of the invention is directed to a real-time capable computer system comprising at least one physical host server with at least one associated physical network card, which is set up to operate a plurality of virtual machines, each of which can be assigned a virtual network card is, wherein a common host operating system is provided which allows an inter-process communication and / or synchronization of multiple emulation processes of at least two virtual machines.
  • a computer system is particularly useful if a firmware update of a virtual machine is to take place during operation.
  • a second or new virtual machine "in ⁇ stalled raised or” be and be provided with an updated software. This is especially necessary if the must computer system with an enhanced or new periph- rie communicate.
  • the Installie ⁇ ren here a further second virtual machine enables the test mode, for example, an evaluation platform.
  • the second virtual Machine and the process running on it can be adapted particularly well to new requirements during operation. Since ⁇ by the error rate or a failure of switching to a new software and / or hardware of the computer system can be minimized.
  • a first synchronization coupling is designed to communicate the two virtual machines with the physical network card of the host server (s). It allows communication with the peripherals outside the physical host server.
  • Another synchronization coupling made via, for example, a second independent network connection may be arranged to be transparent only to the host servers. It is used in particular by hardware emulation processes as well as drivers of the respective physically separated host servers in order to enable a "mirroring" of the state of the individual computer cores.
  • a further aspect of the invention relates to a computer program which is set up to execute a method for the migration of a real-time capable virtual machine to a real-time capable computer system, wherein both the computer program and the processes controlled by it are real-time capable.
  • a computer program ensures that the processes controlled by the individual virtual machines are not interrupted.
  • a Migration a first virtu ⁇ economic machine is displayed on a second virtual machine VM1 VM2 by way of example, both virtual machines VM1, VM2 are stalled on the same host server HS of a computer system CS in ⁇ .
  • the host server HS has several computing cores K1, K2,.
  • K1, K2 computing cores
  • Only one virtual machine VM1, VM2, ... is assigned to one processor K1, K2,...
  • Such a configuration greatly facilitates the synchronization of two virtual machines VM1, VM2.
  • each virtual machine VM1, VM2 to the periphery - not shown - can communicate outside the Compu ⁇ ter system CS, it has in each case a virtual network card VK1, VK2, which with a physi- metallic network card PK of the host server HS communicated.
  • the method is based on a memory program. mierbar control (SPS1, SPS2) exemplified ⁇ light.
  • SPS1, SPS2 mierbar control
  • the process and the resulting applications are to be considered generically.
  • a first virtual machine VM1 on which a PLC1 is running, to a second virtual machine VM2, it first has to be installed on the same - here the same host server HS.
  • a required new or supplemented software FW2 SPS2 is loaded.
  • all static data of the first virtual machine VM1 is transferred to the second virtual machine VM2.
  • all the dynamic data of the first virtual machine VM1 is transferred to the second virtual machine VM2.
  • the two virtual machines VM1 and VM2 can exchange information about their respective version statuses.
  • the second virtual machine M2 with updated firmware FW2 can individually transfer the incoming data to the new structure, if required, instead of blindly copying the data block. This allows larger version jumps of firmware FW1, as long as the new firmware FW2 still knows or can transfer the old structures.
  • the migration can not be just a firmware or a hardware update of the virtual machine VM1, VM2.
  • a new second virtual machine VM2 is started with a new virtual hardware, which contains, for example, an additional fieldbus interface or more memory.
  • the new second virtual machine VM2 in this case corresponds to the first virtual machine VM1.
  • the application SPS2 installed on the second virtual machine VM2 recognizes this hardware and can then projek ⁇ tation and the program of the previous PLC1 running on the first virtual machine VM1 pick and edit. In this way, the performance of the host server HS can be scaled via a migration.
  • Such data which changes during the transfer from the first virtual machine VM1 to the second virtual machine VM2, is marked and retransmitted in a subsequent pass. While new write accesses to the first virtual machine VM1 generate new page copies, the amount of data transferred steadily decreases.
  • the communication also takes place via a respective virtual network card VK1, VK2
  • the newly configured second virtual machine VM2 has its own virtual network card VK2, which, however, initially runs in a passive mode - arrows symbolize communication directions in FIGS FIG. 2.
  • the virtual network card VK2 is the z wide virtu- hurry machine VM2 maral ⁇ tet only in a receive mode. In this way, this second virtual machine VM2 can receive as a copy data packets that are delivered to the active first virtual machine VM1.
  • the virtual network interface card ⁇ VK2 the second virtual machine is in VM2 transmitter deraum still disabled or passively switched, so that the periphery and the communication partner received any irritie ⁇ leaders duplicate data packets. Only in the moment in which the data transfer is completed, can be umgeschal ⁇ switched from the active first virtual machine VM1 to the previously passive second virtual machine VM2.
  • the associated virtual network card VK1, VK2 is also switched such that the active transmission direction changes from the first virtual network card VK1 of the first virtual machine VM1 to the second virtual network card VK2 of the second virtual machine VM2. The migration is completed and the "old" first virtual machine VM1 can be terminated.
  • FIG. 2 illustrates another embodiment of the method for migrating a controller between two separate host servers HS1, HS2 of a computer system CS.
  • the first virtual machine VM1 or the second virtual machine VM2 are located on a stand-alone physical host server HS1 or HS2 installed.
  • the respective host servers HS1, HS2 have their own operating system HBS1, HBS2.
  • the respective host server HS1, HS2 has a plurality of computing cores KU, K12; K21, K22
  • synchronization coupling SYN2 is used both by the hardware emulation processes EP1, EP2 and by the drivers T1, T2 to allow the same behavior as in the previously discussed case with a host server HS.
  • the synchronization link SYN2 or for matching the applications SBS1, SBS2 in a particular embodiment outside the host server can be combined via a switch to a line to which the communication partners and the peripherals are connected. Since the two applications here controls SBS1, SBS2 are never simultaneously activated, the switch must be able to HS1 and HS2 can not speak any redundant I ⁇ te connection to the two host servers.
  • the first virtuel ⁇ le machine VM1 can serve as a back-up for the second virtual machine VM2, especially since the second virtual machine VM2 will be driven in a passive state, wherein However, it is set up to receive data packets outside the host server HS, HS1.
  • Other applications for the above embodiments would be to use the migration of virtual machines VM1, VM2 to provide an evaluation platform for application programs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Betreiben eines echtzeitfähigen Computer-Systems (CS), das zumindest eine physikalische Netzwerkkarte (PK; PK1, PK2) aufweist und auf dem eine erste virtuelle Maschine (VM1) einschließlich einer ersten virtuellen Netzwerkkarte (VK1) und eine zweite virtueile Maschine (VM2) einschließlich einer zweiten virtuellen Netzwerkkarte (VK2) installiert sind, wobei zur Laufzeit die erste virtuelle Maschine (VM1) auf die zweite virtuelle Maschine (VM2) migriert wird, umfassend die Schritte: A) Installation einer Software auf der zweiten virtuellen Maschine, B) Übertragung sämtlicher statischer Daten der ersten virtuellen Maschine (VK1) auf die zweite virtuelle Maschine (VK2), C) Übertragung sämtlicher dynamischer Daten der ersten virtuellen Maschine (VK1) auf die zweite virtuelle Maschine (VK2), D) Umschalten der zweiten virtuellen Maschine (VM2) aus einem passiven in einen aktiven Zustand, wenn das Umschalten der ersten virtuellen Maschine (VM1) aus dem aktiven in den passiven Zustand erfolgt, wobei beim Umschalten der beiden virtuellen Maschinen (VM1, VM2) auch die Zuordnung der physikalischen Netzwerkkarte (PK) auf die erste virtuelle Netzwerkkarte (VK1) auf die Zuordnung der physikalischen Netzwerkkarte (PK) auf die zweite Netzwerkkarte (VK2) der beiden virtuellen Maschinen (VM1, VM2) umgeschaltet wird. Dadurch lässt sich eine Migration von echtzeitfähigen Prozessen einer virtuellen Maschine auf eine andere im laufenden Betrieb bewerkstelligen.

Description

Beschreibung
Migration einer virtuellen Maschine
Die Erfindung betrifft ein Verfahren zur Migration einer ersten virtuellen Maschine auf eine zweite virtuelle Maschine sowie ein Computer-System zum Betreiben eines solchen Verfahrens und ein dazugehöriges Computerprogramm.
Im Zuge der Konsolidierung und Zentralisierung der Datenverarbeitung werden viele Rechenprozesse auf Servern vereint, wobei die Server wiederum in Serverfarmen von Datenverarbeitungszentren untergebracht werden. Dadurch wird die Wartung der einzelnen Maschinen erheblich erleichtert und das spezifische Knowhow an Ort und Stelle konzentriert.
Eine ähnliche Entwicklung setzt sich gegenwärtig auch im Be¬ reich der speicherprogrammierbaren Steuerungen (SPS) durch. Diese Geräte dienen der Steuerung oder Regelung einer Maschine oder Anlage und werden auf digitaler Basis programmiert. Um den üblichen Verdrahtungsaufwand zu minimieren, erfolgt die Verbindung der Sensoren und Aktoren mit einer SPS über einen Feldbus oder ein Netzwerk.
Eine hohe Zuverlässigkeit dieser Systeme im Zusammenhang mit speicherprogrammierbaren Steuerungen kann jedoch nur im Rahmen von Echtzeitsystemen realisiert werden.
Ein Echtzeitsystem reagiert auf alle Ereignisse rechtzeitig und verarbeitet die Daten „schritthaltend" mit dem techni¬ schen Prozess. Bei einer Software, die EchtZeitbedingungen erfüllen soll, muss die maximale Laufzeit bestimmbar sein und darf keinen Faktoren unterliegen, die nicht oder nur bedingt beeinflussbar sind - sie muss also deterministisch sein. Die Ausführung eines Vorgangs innerhalb eines bestimmten Zeitin¬ tervalls wird als deterministisch bezeichnet. Bei den in der vorliegenden Erfindung betrachteten Systemen handelt es sich insgesamt um Echtzeitsysteme . D. h. insbeson¬ dere, dass sowohl alle interagierenden Hardware- als auch Softwarekomponenten deterministisch reagieren.
Eine herkömmliche Lösung mehrerer Prozesse auf einem Host- System unterzubringen, sieht ein Mehrkernsystem vor, auf dessen Rechenkernen jeweils eine virtuelle Maschine installiert ist, die wiederum über eine virtuelle Netzwerkkarte mit einer physikalischen Netzwerkkarte des Host-Servers verbunden ist.
Eine Methode, die es erlaubt, Ressourcen eines Computers zu¬ sammenzufassen oder aufzuteilen, wird als Virtualisierung bezeichnet. Große Virtualisierungslösungen in Rechenzentren be- stehen aus mehreren physikalischen Rechnern, auf denen eine
Mehrzahl von virtuellen Rechnern läuft. Dabei muss nicht einmal jeder virtuellen Maschine ein eigener Prozessorkern zugeordnet sein. Bestimmte Prozesse und Anlagen erlauben bei ihrem Betrieb keine Unterbrechungen. Um den speziellen Anforderungen gerecht zu werden, werden dazu Hochverfügbarkeitslösungen bereitgestellt, die einen Ausfall der Prozesse fast vollständig vermeiden .
Um sich an die ständigen und wachsenden Bedürfnisse von Anlagen und Herstellungsprozessen anpassen zu können, müssen einzelne Betriebsprozesse sowie die Maschinen, auf denen sie in¬ stalliert sind, im laufenden Betrieb erneuert oder ersetzt werden können. Deswegen ist eine Migrationsmöglichkeit von virtuellen Maschinen im laufenden Betrieb auf einen physikalischen Rechner dafür eine unabdingbare Eigenschaft. Dieses kann derselbe physikalische Rechner sein oder ein weiterer, der an diesen gekoppelt werden kann.
Da eine vollständige Abstraktion der virtuellen Maschinen erreicht werden kann, ist es auch möglich, das darin laufende Gast-Betriebssystem beliebig zu verschieben. Die Migration einer virtuellen Maschine kann auf verschiedene Arten erfolgen. Eine bekannte Methode ist es, die virtuelle Maschine zu stoppen und den gesamten Speicher, den sie be- legt, auf den neuen Host-Server zu kopieren. Die dort noch passive virtuelle Maschine bekommt anschließend eine Netz¬ werkadresse der bisherigen virtuellen Maschine zugeteilt und der Rechenkern, auf dem die neue virtuelle Maschine läuft, wird in den identischen Zustand wie den der alten virtuellen Maschine, versetzt. Dieses betrifft beispielsweise die Regis¬ terinhalte und Programmzähler des Rechenkerns.
Schließlich wird die neue virtuelle Maschine gestartet und arbeitet exakt an der Stelle weiter, an der die alte virtuel- le Maschine gestoppt wurde. Die alte virtuelle Maschine kann nun aus dem Speicher des bisherigen Host-Servers entfernt werden .
Allerdings stehen in diesem Fall, während der Zeit zwischen dem Stoppen der bisherigen virtuellen Maschine und dem Starten bzw. Aktivieren der neuen virtuellen Maschine, die virtuellen Maschinen den Prozessen bzw. Anlagen nicht zur Verfügung . Abhängig von der Größe der virtuellen Maschine kann dieses eine sehr lange Zeit in Anspruch nehmen, die als Totzeit des Servers in Kauf genommen werden muss. Deswegen ist es notwendig, einen anderen Weg zu finden, der mit einer deutlich geringeren oder besser keiner Totzeit auskommt.
Eine weitere Arbeitsweise macht sich die Tatsache zunutze, dass der Server nicht voll ausgelastet ist und sein Speicher¬ abbild nur kleinen Änderungen unterliegt. Da ein Host- Betriebssystem aufgrund der Virtualisierung der Hardware vol- le Kontrolle über diese hat, kann es Speicherzugriffe der virtuellen Maschine abfangen. Diese abgefangenen Zugriffe und die entsprechenden Speicherseiten werden als Kopie angelegt. Zu einem bestimmten Zeit¬ punkt wird ein Abbild der angelegten kopierten Speicherseiten gemacht und dieses anschließend auf die neue virtuelle Ma- schine übertragen. Währenddessen läuft die alte virtuelle Ma¬ schine aber weiter und schreibt daher auch neue Seiten in ihren Speicher, die wiederum als Kopie angelegt werden. In Form einer differentiellen Datensicherung werden somit sukzessive die weiteren anfallenden Speicherseiten auf die neue virtuel- le Maschine übertragen. Dabei nimmt die Anzahl der in jedem Durchlauf neu entstandenen Seiten permanent ab, bis nur noch eine so kleine Daten- bzw. Seitenmenge vorhanden ist, dass diese schnell genug übertragen werden kann, ohne eine zuvor festgelegte Totzeit des Servers zu überschreiten.
Bei einer echtzeitfähigen virtuellen Maschine allerdings, auf der beispielsweise eine Steuerungsapplikation läuft, genügt die oben genannte Methode zur Migration der virtuellen Maschine nicht. Zum einen ist die resultierende Zeit am Ende für eine Echtzeitapplikation immer noch zu hoch und zum anderen treten durch die zur Laufzeit durch das Host- Betriebssystem abgefangenen Schreibzugriffe nichtdeterministische Latenzen auf, da der Host-Server für die Seitenkopien zunächst dynamisch Speicher anfordern muss, was per se ein nicht-deterministischer Prozess ist und damit auch nicht die Erfordernisse eines EchtZeitbetriebssystems er¬ füllt.
Es ist Aufgabe der Erfindung, ein Verfahren bereitzustellen, das es ermöglicht, echtzeitfähige virtuelle Maschinen zu migrieren, ohne dabei eine Totzeit bzw. einen Stillstand der Maschinen in Kauf nehmen zu müssen.
Diese Aufgabe wird mittels eines Verfahrens gelöst, welches die Merkmale des Patentanspruchs 1 aufweist, sowie mittels eines Computer-Systems, welches die Merkmale des Patentan¬ spruchs 11 aufweist und einer speziell dafür eingerichteten Software, welche die Merkmale des Patentanspruchs 13 auf¬ weist.
Weitere vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung werden in den abhängigen Ansprüchen offenbart.
Die Erfindung bedient sich eines Verfahrens zum Betreiben ei¬ nes echtzeitfähigen Computer-Systems, das eine physikalische Netzwerkkarte aufweist und auf dem eine erste virtuelle Ma- schine einschließlich einer ersten virtuellen Netzwerkkarte und eine zweite virtuelle Maschine einschließlich einer zwei¬ ten virtuellen Netzwerkkarte installiert sind, wobei zur Laufzeit die erste virtuelle Maschine auf die zweite virtuel¬ le Maschine migriert wird. Eine Migration ist besonders dann von großem Vorteil, wenn beispielsweise einzelne physikali¬ sche Komponenten eines ursprünglichen Host-Servers ersetzt werden müssen oder sogar der gesamte Host-Server. Darüber hinaus bietet die Migration eine Möglichkeit, die Software eines Host-Servers auf den neuesten Stand zu bringen. Dies betrifft sowohl die Firmware als auch die darauf laufende An¬ wendungssoftware .
Dazu wird in einem Schritt A) eine Installation einer Software auf der zweiten virtuellen Maschine vorgenommen. Je nach Bedarf kann dies eine identische Software sein; dies ist dann erforderlich, wenn lediglich die virtuelle Maschine auf einen neuen Host-Server migriert werden muss; oder aber bereits eine neuere Version der gleichen Software, installiert wird, die beispielsweise den geänderten Anforderungen eines Steue- rungsprogramms gewachsen sein muss.
In einem Schritt B) wird eine Übertragung sämtlicher statischer Daten der ersten virtuellen Maschine auf die zweite virtuelle Maschine veranlasst. Darauf folgend wird in einem weiteren Schritt C) eine Übertragung sämtlicher dynamischer
Daten der ersten virtuellen Maschine auf die zweite virtuelle Maschine vorgenommen. Dies ist insbesondere deswegen notwen¬ dig, damit die neu installierte virtuelle Maschine mittels desselben Datenbestandes die Steuerung zur Laufzeit übernehmen kann.
In einem Schritt D) wird von der zweiten virtuellen Maschine aus einem passiven in einen aktiven Zustand umgeschaltet, wenn ein Umschalten der ersten virtuellen Maschine aus einem aktiven in einen passiven Zustand erfolgt. Dabei wird zeit¬ gleich beim Umschalten der beiden virtuellen Maschinen auch die Zuordnung der physikalischen Netzwerkkarte auf die erste virtuelle Netzwerkkarte auf die Zuordnung der physikalischen Netzwerkkarte auf die zweite Netzwerkkarte der beiden virtu¬ ellen Maschinen umgeschaltet. So kann gewährleistet werden, dass es nicht zu einem konkurrierenden Verhalten zweier virtueller Maschinen kommt, beispielsweise bei der Steuerung ei- ner Anlage.
In einer bevorzugten Aus führungs form der Erfindung sind beide virtuellen Maschinen auf demselben physikalischen Host-Server des Computersystems installiert. Diese Aus führungs form hat den Vorteil, dass eine Synchronisation der einzelnen Prozesse auf den Rechenkernen der jeweiligen virtuellen Maschinen von einem gemeinsamen Host-Betriebssystem durchgeführt werden kann. Dabei werden dieselben Treiber und dieselbe Hardware des physikalischen Host-Servers genutzt, der die Synchronisa- tion beispielsweise mittels interprozessoraler Kommunikation bewerkstelligt .
In einer weiteren bevorzugten Aus führungs form der Erfindung weist das Computer-System einen ersten und einen zweiten phy- sikalischen Host-Server auf, wobei auf dem ersten Host-Server die erste virtuelle Maschine und auf dem zweiten Host-Server die zweite virtuelle Maschine installiert sind. Eine solche Lösung ist besonders dann vorteilhaft, wenn die Hardware, auf der die erste virtuelle Maschine läuft, erste Alterungser- scheinungen zeigt, die zum Defekt des gesamten Host-Servers führen können und damit eine Migration auf einen neuen physikalischen Host-Server notwendig macht. Um zu vermeiden, dass in Senderichtung der beiden virtuellen Maschinen eine daran gekoppelte Peripherie sowie weitere Kom¬ munikationspartner keine doppelten Datenpakete erhalten, die zu missverständlichen Interpretationen führen können, wird die virtuelle Netzwerkkarte der zweiten virtuellen Maschine vor dem Umschalten in den aktiven Zustand lediglich in einem Empfangsmodus betrieben. Ein weiterer Vorteil liegt darin, dass durch die Umschaltung der zweiten virtuellen Netzwerkkarte der zweiten virtuellen Maschine im Empfangsmodus die gleichen Datenpakete als Kopie empfangen werden können, die an die erste virtuelle Netzwerkkarte der ersten virtuellen Maschine zugestellt werden.
Um einen reibungslosen Betrieb der beiden virtuellen Maschi- nen und insbesondere der an sie gekoppelten Peripheriegeräte gewährleisten zu können, darf das Umschalten der zweiten virtuellen Maschine aus dem passiven in den aktiven Zustand sowie das Umschalten der ersten virtuellen Maschine aus dem aktiven in den passiven Zustand erst dann erfolgen, wenn eine Synchronisation jeweiliger Emulationsprozesse der beiden virtuellen Maschinen abgeschlossen ist. Es muss also sichergestellt werden, dass zum Beispiel die Registerinhalte und Pro¬ grammzähler der Rechenkerne, die den jeweiligen virtuellen Maschinen zugeordnet sind, auf dem gleichen Stand sind bzw. sich in dem gleichen Zustand befinden.
Besonders vorteilhaft ist es, wenn die Synchronisation der jeweiligen Emulationsprozesse der beiden virtuellen Maschinen von einem Betriebssystem des Host-Servers vorgenommen wird. Dadurch, dass das Host-Betriebssystem aufgrund der Virtuali- sierung der Hardware volle Kontrolle über diese hat, kann es nicht nur die Speicherzugriffe einer virtuellen Maschine kon¬ trollieren, sondern stellt auch Mechanismen für eine gemeinsame Steuerung und Synchronisation der einzelnen Prozesse der jeweiligen virtuellen Maschine zur Verfügung.
In einer weiteren vorteilhaften Aus führungs form der Erfindung wird die Synchronisation der jeweiligen Emulationsprozesse der beiden virtuellen Maschinen von gemeinsamen Treibern und/oder Software übernommen, die auf den jeweiligen physikalischen Host-Servern der virtuellen Maschine läuft. Auch in diesem Fall wird eine Abstimmung der Prozesse der beiden vir- tuellen Maschinen erreicht.
Damit die Synchronisation der Emulationsprozesse reibungslos verläuft, erfolgt diese über eine dedizierte Synchronisati¬ onskopplung der beiden physikalischen Host-Server.
Als dedizierte Synchronisationskopplung der beiden physikalischen Host-Server eignet sich insbesondere eine eigenständige Netzwerkverbindung. Solche Netzwerkverbindungen werden mit Protokollen betrieben, die eine Kontrolle der zugestellten Datenpakete zulassen. Abgesehen davon sind Netzwerkverbindungen sehr schnell, da sie einen hohen Datendurchsatz erlauben.
Ein weiterer Aspekt der Erfindung richtet sich an ein echt- zeitfähiges Computer-System, das zumindest einen physikali- sehen Host-Server mit zumindest einer dazugehörigen physikalischen Netzwerkkarte umfasst, der dazu eingerichtet ist, mehrere virtuelle Maschinen zu betreiben, denen jeweils eine virtuelle Netzwerkkarte zuordenbar ist, wobei ein gemeinsames Host-Betriebssystem vorgesehen ist, welches eine Interpro- zesskommunikation und/oder Synchronisation mehrerer Emulationsprozesse von zumindest zwei virtuellen Maschinen erlaubt. Ein solches Computersystem ist insbesondere dann von Nutzen, wenn ein Firmware-Update einer virtuellen Maschine im laufenden Betrieb erfolgen soll. Während eine erste bzw. alte vir- tuelle Maschine sich noch im laufenden Betrieb befindet, kann eine zweite bzw. neue virtuelle Maschine „aufgezogen bzw. in¬ stalliert" werden und mit einer aktualisierten Software versehen werden. Dieses ist insbesondere dann notwendig, wenn das Computersystem mit einer erweiterten oder neuen Periphe- rie kommunizieren muss. Darüber hinaus erlaubt das Installie¬ ren einer weiteren hier zweiten virtuellen Maschine den Testbetrieb beispielsweise einer Evaluationsplattform. Bei einem solchen Testbetrieb mit Realdaten kann die zweite virtuelle Maschine und der darauf laufende Prozess besonders gut an neue Erfordernisse im laufenden Betrieb angepasst werden. Da¬ durch kann die Fehlerrate bzw. ein Versagen bei einer Umstellung auf eine neue Soft- und/oder Hardware des Computer- Systems minimiert werden.
Bei Echtzeitsystemen ist es besonders zweckdienlich, zumindest eine dedizierte Synchronisationskopplung für eine Synchronisation zweier eigenständiger physikalischer Host-Server vorzusehen. Eine erste Synchronisationskopplung ist auf die Kommunikation der beiden virtuellen Maschinen mit der physikalischen Netzwerkkarte des/der Host-Server ausgelegt. Sie erlaubt die Kommunikation mit der Peripherie außerhalb der physikalischen Host-Server.
Eine weitere Synchronisationskopplung, die über beispielsweise eine zweite unabhängige Netzwerkverbindung erfolgt, kann dazu eingerichtet werden, nur den Host-Servern transparent zu erscheinen. Sie wird insbesondere von Hardware- Emulationsprozessen sowie Treibern der jeweiligen physikalisch getrennten Host-Servern verwendet, um eine „Spiegelung" des Zustands der einzelnen Rechnerkerne zu ermöglichen.
Ein weiterer Aspekt der Erfindung betrifft ein Computerpro- gramm, welches zur Ausführung eines Verfahrens zur Migration einer echtzeitfähigen virtuellen Maschine auf einem echtzeit- fähigen Computer-System eingerichtet ist, wobei sowohl das Computerprogramm als auch die von ihm gesteuerten Prozesse echtzeitfähig sind. Ein solches Computerprogramm gewährleis- tet, dass die von den einzelnen virtuellen Maschinen gesteuerten Prozesse nicht unterbrochen werden.
Im Folgenden werden die Erfindung und ihre Aus führungs formen anhand einer Zeichnung näher erläutert. Es zeigen:
FIG 1 eine Prinzipskizze eines Ausführungsbeispiels des
Verfahrens zur Migration einer ersten virtuellen Maschine auf eine zweite virtuelle Maschine, wobei die beiden virtuellen Maschinen auf ein und demselben Host-Server installiert sind; und
FIG 2 eine Prinzipskizze eines Ausführungsbeispiels des
Verfahrens zur Migration einer ersten virtuellen
Maschine auf eine zweite virtuelle Maschine, wobei die beiden virtuellen Maschinen auf eigenständigen physikalischen Host-Servern installiert sind. In FIG 1 wird beispielhaft eine Migration einer ersten virtu¬ ellen Maschine VM1 auf eine zweite virtuelle Maschine VM2 dargestellt, wobei beide virtuellen Maschinen VM1, VM2 auf ein und demselben Host-Server HS eines Computersystems CS in¬ stalliert sind.
Die im Folgenden betrachteten Systeme sind alle insgesamt Echtzeitsysteme . Das heißt insbesondere, dass sowohl alle in- teragierenden Hardware- als auch Softwarekomponenten deterministisch reagieren.
Der Host-Server HS weist mehrere Rechenkerne Kl, K2, ... auf. Vorteilhafterweise wird jeweils einem Rechenkern Kl, K2, ... nur eine virtuelle Maschine VM1, VM2, ... zugeordnet. Eine solche Konfiguration erleichtert die Synchronisation von zwei virtuellen Maschinen VM1, VM2 erheblich.
Auf dem Host-Server HS ist ein Host-Betriebssystem HBS installiert, dessen Treiber T die volle Kontrolle über die vir¬ tuellen Maschinen VM1, VM2 haben. Die beiden virtuellen Ma- schinen VM1, VM2 laufen jeweils auf einem eigenen Emulations- prozess EP1, EP2. Damit jede einzelne virtuelle Maschine VM1, VM2 mit der Peripherie - nicht gezeigt - außerhalb des Compu¬ ter-Systems CS kommunizieren kann, weist sie jeweils eine virtuelle Netzwerkkarte VK1, VK2 auf, die mit einer physika- lischen Netzwerkkarte PK des Hosts-Servers HS kommuniziert.
Im vorliegenden Fall wird für eine Migration bei Echtzeit- Applikationen das Verfahren anhand von einer speicherprogram- mierbaren Steuerung (SPS1, SPS2) beispielhaft veranschau¬ licht. Das Verfahren und die sich daraus ergebenden Anwendungsfälle sind aber generisch zu betrachten. Um eine erste virtuelle Maschine VM1, auf der eine SPS1 läuft, auf eine zweite virtuelle Maschine VM2 zu migrieren, muss diese zunächst auf dem - hier demselben Host-Server HS - installiert werden. Auf der zweiten virtuellen Maschine VM2 wird anschließend eine benötigte neue oder ergänzte Software FW2, SPS2 aufgespielt. Anschließend erfolgt eine Übertragung sämtlicher statischer Daten der ersten virtuellen Maschine VM1 auf die zweite virtuelle Maschine VM2. Danach werden sämtliche dynamischen Daten der ersten virtuellen Maschine VM1 auf die zweite virtuelle Maschine VM2 übertragen.
Während die Daten eines Anwenderprogramms SPS1 unverändert übertragen werden können, kann bei Daten einer Firmware FW1 oder FW2 dies eventuell nicht möglich sein, da sich die interne Struktur der Daten geändert hat. In einer besonderen Aus führungs form kann dieser Fall aber behoben werden.
Zu Beginn können die beiden virtuellen Maschinen VM1 bzw. VM2 Informationen über ihre jeweiligen Versionsstände austauschen. Somit kann die zweite virtuelle Maschine M2 mit aktua- lisierter Firmware FW2 die ankommenden Daten bei Bedarf einzeln in die neue Struktur überführen, statt den Datenblock blind zu kopieren. Damit sind auch größere Versionssprünge der Firmware FW1 möglich, sofern die neue Firmware FW2 die alten Strukturen noch kennt oder transferieren kann.
Theoretisch kann mit der Migration nicht nur ein Firmwareoder ein Hardware-Update der virtuellen Maschine VM1, VM2 erfolgen. Dazu wird eine neue zweite virtuelle Maschine VM2 mit einer neuen virtuellen Hardware gestartet, die beispielsweise eine zusätzliche Feldbus-Schnittstelle oder mehr Speicher enthält. Die neue zweite virtuelle Maschine VM2 entspricht in diesem Fall der ersten virtuellen Maschine VM1. Die auf der zweiten virtuellen Maschine VM2 installierte Anwendung SPS2 erkennt diese Hardware und kann sich anschließend die Projek¬ tierung und das Programm der bisherigen SPS1, die auf der ersten virtuellen Maschine VM1 läuft, holen und bearbeiten. Auf diese Weise kann auch die Leistung des Host-Servers HS über eine Migration skaliert werden.
Solche Daten, die sich während der Übertragung von der ersten virtuellen Maschine VM1 auf die zweite virtuelle Maschine VM2 ändern, werden markiert und in einem nachfolgenden Durchlauf erneut übertragen. Während neue Schreibzugriffe auf die erste virtuelle Maschine VM1 neue Seitenkopien erzeugen, nimmt die übertragene Datenmenge aber ständig ab. Die sich ändernde Da¬ tenmenge und damit die dafür benötigte Zeit, diese zu über¬ tragen, werden immer kürzer, sodass bei einer Unterschreitung einer vom Anwender definierten zeitlichen Grenze das Programm auf der alten ersten virtuellen Maschine VM1 „angehalten" wird und die finale Übertragung auf die neue zweite virtuelle Maschine VM2 erfolgt. Die Anwendung SPS1 auf der ersten vir¬ tuellen Maschine VM1 führt zum einen das Anwenderprogramm SPS1 selbst aus und kommuniziert zum anderen mit der Periphe¬ rie nach draußen. Da die Anwendung SPS1, SPS2 auf einer virtuellen Maschine VM1, VM2 läuft, erfolgt die Kommunikation auch über eine jeweilige virtuelle Netzwerkkarte VK1, VK2. Die neu eingerichtete zweite virtuelle Maschine VM2 verfügt über eine eigene virtuelle Netzwerkkarte VK2, die allerdings zunächst in einem passiven Modus läuft - Pfeile symbolisieren Kommunikationsrichtungen in den FIG 1 und FIG 2. Mit anderen Worten ist die virtuelle Netzwerkkarte VK2 der zweiten virtu- eilen Maschine VM2 lediglich in einen Empfangsmodus geschal¬ tet. Auf diese Weise kann diese zweite virtuelle Maschine VM2 Datenpakete als Kopie empfangen, die der aktiven ersten virtuellen Maschine VM1 zugestellt werden. Die virtuelle Netz¬ werkkarte VK2 der zweiten virtuellen Maschine VM2 ist in Sen- derichtung noch deaktiviert bzw. passiv geschaltet, sodass die Peripherie und die Kommunikationspartner keine irritie¬ renden doppelten Datenpakete erhalten. Erst in dem Moment, in dem die Datenübertragung abgeschlossen ist, kann von der aktiven ersten virtuellen Maschine VM1 auf die bislang passive zweite virtuelle Maschine VM2 umgeschal¬ tet werden. Zusätzlich zu der virtuellen Maschine VM1, VM2 selbst wird auch die dazugehörige virtuelle Netzwerkkarte VK1, VK2 so umgeschaltet, dass die aktive Senderichtung von der ersten virtuellen Netzwerkkarte VK1 der ersten virtuellen Maschine VM1 zur zweiten virtuellen Netzwerkkarte VK2 der zweiten virtuellen Maschine VM2 wechselt. Damit ist die Mig- ration abgeschlossen und die "alte" erste virtuelle Maschine VM1 kann beendet werden.
In FIG 2 wird eine weitere Aus führungs form des Verfahrens zur Migration einer Steuerung zwischen zwei getrennten Host- Servern HS1, HS2 eines Computersystems CS veranschaulicht. Im Unterschied zu der vorhergehenden Ausführungsform, bei der das Verfahren der Migration auf ein und demselben Host-Server HS dargestellt wurde, sind hier die erste virtuelle Maschine VM1 bzw. die zweite virtuelle Maschine VM2 auf einem eigen- ständigen physikalischen Host-Server HS1 bzw. HS2 installiert. Die jeweiligen Host-Server HS1, HS2 verfügen über ein eigenes Betriebssystem HBS1, HBS2. Der jeweilige Host-Server HS1, HS2 weist mehrere Rechenkerne KU, K12; K21, K22
auf. Vorteilhafterweise wird in diesem Fall jeweils einem Re- chenkern K12 bzw. K21, ... nur eine virtuelle Maschine VM1, VM2, ... zugeordnet. Eine solche Konfiguration erleichtert die Synchronisation von zwei virtuellen Maschinen VM1, VM2 erheblich. Auf den Host-Servern HS1, HS2 ist jeweils ein Host-Betriebssystem HBS1, HBS2 installiert sowie Treiber Tl, T2. Die beiden virtuellen Maschinen VM1, VM2 laufen jeweils auf einem eigenen Emulationsprozess EP1, EP2. Damit jede ein¬ zelne virtuelle Maschine VM1, VM2 mit der Peripherie außer¬ halb des Computer-Systems CS kommunizieren kann, weist sie jeweils eine virtuelle Netzwerkkarte VK1, VK2 auf, die mit einer physikalischen Netzwerkkarte PK1, PK2 des Hosts-Servers HS1, HS2 kommuniziert. Die Art und Weise der Migration von der ersten virtuellen Maschine VM1 auf die zweite virtuelle Maschine VM2 erfolgt ana¬ log zu dem im Vorfeld besprochenen Fall. Ein wesentlicher Unterschied allerdings liegt in der Synchronisationskopplung SYN1, SYN2, bei der die jeweiligen Zustände der Rechnerkerne KU und K21 aufeinander abgeglichen werden.
Da im vorliegenden Fall die Synchronisation der beiden Rechenkerne KU, K21 nicht von demselben Betriebssystem HBS1 oder HBS2 vorgenommen werden kann, erfolgt hier die Synchronisation über eine zweite unabhängige Netzwerkverbindung als Synchronisationskopplung SYN2 zwischen den beiden virtuellen Maschinen VM1, VM1 welche nur den Host-Servern HS1, HS2 bekannt sein muss. Die Synchronisationskopplung SYN2 wird sowohl von den Hardware-Emulationsprozessen EP1, EP2 als auch von den Treibern Tl, T2 genutzt, um das gleiche Verhalten wie in den vorhergehend besprochenen Fall mit einem Host-Server HS zu ermöglichen.
Beispielsweise kann die Synchronisationskopplung SYN2 bzw. zum Abgleich der Anwendungen SBS1, SBS2 in einer besonderen Aus führungs form außerhalb der Host-Server über einen Switch zu einer Leitung zusammengefasst werden, an der die Kommunikationspartner und die Peripherie angeschlossen sind. Da die beiden Anwendungen, hier Steuerungen SBS1, SBS2 nie gleichzeitig aktiv geschaltet sind, muss der Switch keine redundan¬ te Verbindung zu den beiden Host-Servern HS1 bzw. HS2 beherrschen können.
Nach dem Umschalten von der ersten virtuellen Maschine VM1 auf die zweite virtuelle Maschine VM2 kann die erste virtuel¬ le Maschine VM1 als Back-up für die zweite virtuelle Maschine VM2 dienen, zumal die zweite virtuelle Maschine VM2 nun in einem passiven Zustand gefahren wird, bei dem sie jedoch zum Empfang von Datenpaketen außerhalb des Host-Servers HS, HS1 eingerichtet ist. Weitere Anwendungen für oben genannte Aus führungs formen wären die Nutzung der Migration von virtuellen Maschinen VM1, VM2 zur Schaffung einer Evaluationsplattform für Anwendungsprogramme .
Bezugs zeichenliste
CS Computersystem
EP1, EP2 Emulationsprozess
FW1, FW2 Firmware
HBS Host-Betriebssystem
HS, HS1, HS2 Host-Server
HBS1, HBS2 Host-BetriebsSysteme
Kl, K2, K12, Rechenkerne
PK physikalische Netzwerkkarte
SPS1, SPS2 speicherprogrammierbare Steuerung, bzw. Anwendungssoftware
T, Tl, T2 Treiber
VM1, VM2, ... virtuelle Maschinen
VK1, VK2 virtuelle Netzwerkkarten
Pfeile Kommunikationsrichtung

Claims

Patentansprüche
1. Verfahren zum Betreiben eines echtzeitfähigen Computer- Systems (CS), das zumindest eine physikalische Netzwerkkarte (PK; PK1, PK2 ) aufweist und auf dem eine erste virtuelle Ma¬ schine (VM1) einschließlich einer ersten virtuellen Netzwerkkarte (VK1) und eine zweite virtuelle Maschine (VM2) ein¬ schließlich einer zweiten virtuellen Netzwerkkarte (VK2) installiert sind, wobei zur Laufzeit die erste virtuelle Ma- schine (VM1) auf die zweite virtuelle Maschine (VM2) migriert wird, umfassend die Schritte:
A) Installation einer Software auf der zweiten virtuellen Maschine,
B) Übertragung sämtlicher statischer Daten der ersten vir- tuellen Maschine (VK1) auf die zweite virtuelle Maschine
(VK2 ) ,
C) Übertragung sämtlicher dynamischer Daten der ersten virtuellen Maschine (VK1) auf die zweite virtuelle Maschine (VK2 ) ,
D) Umschalten der zweiten virtuellen Maschine (VM2) aus einem passiven in einen aktiven Zustand, wenn das Umschalten der ersten virtuellen Maschine (VM1) aus dem aktiven in den passiven Zustand erfolgt, wobei
beim Umschalten der beiden virtuellen Maschinen (VM1, VM2 ) auch die Zuordnung der physikalischen Netzwerkkarte (PK) auf die erste virtuelle Netzwerkkarte (VK1) auf die Zuordnung der physikalischen Netzwerkkarte (PK) auf die zweite Netzwerkkarte (VK2) der beiden virtuellen Maschinen (VM1, VM2 ) umgeschaltet wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Computer-System (CS) eine physikalische Netzwerkkarte (PK) aufweist und die beiden virtuellen Maschinen (VM1, VM2 ) auf dem physikalischen Host-Server (HS) installiert sind.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Computer-System (CS) einen ersten und einen zweiten Host- Server (HS1, HS2) aufweist, wobei auf dem ersten Host-Server (HS1) die erste virtuelle Maschine (VM1) und auf dem zweiten Host-Server (HS2) die zweite virtuelle Maschine (VM2) instal¬ liert sind.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der ersten und der zweiten virtuelle Ma¬ schine (VM1, VM2 ) jeweils ein eigenständiger Rechenkern (Kl, K2 ; KU, K21) zugeordnet wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die zweite virtuelle Netzwerkkarte (VK2) der zweiten virtuellen Maschine (VM2) vor dem Umschalten in den aktiven Zustand lediglich in einem Empfangsmodus betrie¬ ben wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass das Umschalten der zweiten virtuellen Maschine (VM2) aus dem passiven in den aktiven Zustand sowie das Umschalten der ersten virtuellen Maschine (VM1) aus dem aktiven in den passiven Zustand erst dann erfolgt, wenn eine Synchronisation jeweiliger Emulationsprozesse (EP1, EP2) der beiden virtuellen Maschinen (VM1, VM2 ) abgeschlossen ist.
7. Verfahren nach Anspruch 2 und 6, dadurch gekennzeichnet, dass die Synchronisation (SYN1, SYN2) der jeweiligen Emulationsprozesse (EP1, EP2) der beiden virtuellen Maschinen von einem Betriebssystem (HBS) und/oder gemeinsamen Treibern (T) des gemeinsamen Host-Servers (HS) vorgenommen wird.
8. Verfahren nach Anspruch 3 und 6, dadurch gekennzeichnet, dass die Synchronisation der jeweiligen Emulationsprozesse (EP1, EP2) der beiden virtuellen Maschinen (VM1, VM2 ) von Treibern (Tl, T2) und/oder einer gemeinsamen Software übernommen wird, die auf dem jeweiligen physikalischen Host- Server (HS1, HS2) läuft.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die Synchronisation der Emulationsprozesse (EP1, EP2) über eine dedizierte Synchronisationskopplung (SYN2) der beiden physikalischen Host-Server (HS1, HS2) erfolgt.
10. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass die dedizierte Synchronisationskopplung (SYN2) der beiden physikalischen Host-Server (HS1, HS2) über eine eigenständige Netzwerkverbindung erfolgt.
11. Echtzeitfähiges Computer-System (CS), das zumindest eine physikalische Netzwerkkarte (PK; PK1, PK2 ) aufweist und auf dem eine erste virtuelle Maschine (VM1) einschließlich einer ersten virtuellen Netzwerkkarte (VK1) und eine zweite virtu¬ elle Maschine (VM2) einschließlich einer zweiten virtuellen Netzwerkkarte (VK2) installiert sind, wobei das Computer- System eingerichtet ist, zur Laufzeit die erste virtuelle Ma¬ schine (VM1) auf die zweite virtuelle Maschine (VM2) zu migrieren, umfassend:
Mittel zum Installieren einer Software auf der zweiten virtuellen Maschine,
- Mittel zum Übertragen sämtlicher statischer Daten der ersten virtuellen Maschine (VK1) auf die zweite virtuelle Ma¬ schine (VK2) ,
Mittel zum Übertragen sämtlicher dynamischer Daten der ersten virtuellen Maschine (VK1) auf die zweite virtuelle Ma- schine (VK2) ,
Mittel zum Umschalten der zweiten Virtuellen Maschine (VM2) aus einem passiven in einen aktiven Zustand, wenn das Umschalten der ersten virtuellen Maschine (VM1) aus dem aktiven in den passiven Zustand erfolgt, wobei
beim Umschalten der beiden virtuellen Maschinen (VM1, VM2 ) auch die Zuordnung der physikalischen Netzwerkkarte (PK) auf die erste virtuelle Netzwerkkarte (VK1) auf die Zuordnung der physikalischen Netzwerkkarte (PK) auf die zweite Netzwerkkarte (VK2) der beiden virtuellen Maschinen (VM1, VM2 ) umge- schaltet wird.
12. Computer-System (CS) nach Anspruch 11, dadurch gekennzeichnet, dass zur Synchronisation zweier physikalischer Host-Server (HS1, HS2) zumindest eine dedizierte Synchronisa¬ tionskopplung (SYN1, SYN2) vorgesehen ist.
13. Computerprogramm, welches zur Ausführung eines Verfahrens nach Ansprüchen 1 bis 10 eingerichtet ist, wobei das Compu¬ terprogramm und die von ihm gesteuerten Prozesse echtzeitfä- hig sind.
PCT/EP2011/069334 2011-11-03 2011-11-03 Migration einer virtuellen maschine WO2013064189A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2011/069334 WO2013064189A1 (de) 2011-11-03 2011-11-03 Migration einer virtuellen maschine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2011/069334 WO2013064189A1 (de) 2011-11-03 2011-11-03 Migration einer virtuellen maschine

Publications (1)

Publication Number Publication Date
WO2013064189A1 true WO2013064189A1 (de) 2013-05-10

Family

ID=44947072

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/069334 WO2013064189A1 (de) 2011-11-03 2011-11-03 Migration einer virtuellen maschine

Country Status (1)

Country Link
WO (1) WO2013064189A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159633A (zh) * 2015-07-07 2015-12-16 国鼎网络空间安全技术有限公司 一种虚拟机切换显示平滑处理的方法及系统
CN107544841A (zh) * 2016-06-29 2018-01-05 中兴通讯股份有限公司 虚拟机热迁移方法和系统
WO2018006908A1 (de) * 2016-07-07 2018-01-11 Harting Electric Gmbh & Co. Kg Steckverbinderbauteil, steckverbinder, steckverbindersystem und verfahren zum zusammensetzen und betreiben eines steckverbinders
US20200004572A1 (en) * 2018-06-28 2020-01-02 Cable Television Laboratories, Inc Systems and methods for secure network management of virtual network functions
CN111736945A (zh) * 2019-08-07 2020-10-02 北京京东尚科信息技术有限公司 基于智能网卡的虚拟机热迁移方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008134144A1 (en) * 2007-04-25 2008-11-06 Microsoft Corporation Virtual machine migration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008134144A1 (en) * 2007-04-25 2008-11-06 Microsoft Corporation Virtual machine migration

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHRISTOPHER CLARK ET AL: "Live Migration of Virtual Machines", INTERNET CITATION, 2 April 2005 (2005-04-02), pages 273 - 286, XP002662867, Retrieved from the Internet <URL:http://www.usenix.org/event/nsdi05/tech/full_papers/clark/clark.pdf> [retrieved on 20111028] *
TIMOTHY WOOD ET AL: "Black-box and Gray-box Strategies for Virtual Machine Migration", NSDI '07: 4TH USENIX SYMPOSIUM ON NETWORKED SYSTEMS DESIGN & IMPLEMENTATION, 1 April 2007 (2007-04-01), pages 229 - 242, XP055006151, Retrieved from the Internet <URL:http://www.usenix.org/events/nsdi07/tech/full_papers/wood/wood.pdf> [retrieved on 20110902] *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159633A (zh) * 2015-07-07 2015-12-16 国鼎网络空间安全技术有限公司 一种虚拟机切换显示平滑处理的方法及系统
CN107544841A (zh) * 2016-06-29 2018-01-05 中兴通讯股份有限公司 虚拟机热迁移方法和系统
CN107544841B (zh) * 2016-06-29 2022-12-02 中兴通讯股份有限公司 虚拟机热迁移方法和系统
WO2018006908A1 (de) * 2016-07-07 2018-01-11 Harting Electric Gmbh & Co. Kg Steckverbinderbauteil, steckverbinder, steckverbindersystem und verfahren zum zusammensetzen und betreiben eines steckverbinders
CN109417252A (zh) * 2016-07-07 2019-03-01 哈廷电子有限公司及两合公司 插接连接器构件、插接连接器、插接连接器系统和用于组装和运行插接连接器的方法
US10635625B2 (en) 2016-07-07 2020-04-28 Harting Electric Gmbh & Co. Kg Plug connector component, plug connector, plug connector system and method for assembling and operating a plug connector
CN109417252B (zh) * 2016-07-07 2021-03-19 哈廷电子有限公司及两合公司 插接连接器构件、插接连接器、插接连接器系统和用于组装和运行插接连接器的方法
US20200004572A1 (en) * 2018-06-28 2020-01-02 Cable Television Laboratories, Inc Systems and methods for secure network management of virtual network functions
US11822946B2 (en) * 2018-06-28 2023-11-21 Cable Television Laboratories, Inc. Systems and methods for secure network management of virtual network functions
CN111736945A (zh) * 2019-08-07 2020-10-02 北京京东尚科信息技术有限公司 基于智能网卡的虚拟机热迁移方法、装置、设备及介质
CN111736945B (zh) * 2019-08-07 2024-05-17 北京京东尚科信息技术有限公司 基于智能网卡的虚拟机热迁移方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
DE60212922T2 (de) Umkehr eines Kommunikationspfades zwischen Speichergeräten
DE112016003949T5 (de) Webbasierte programmierumgebung für eingebettete geräte
EP2817682B1 (de) Verfahren zum ausfallsicheren betreiben eines prozesssteuersystems mit redundanten steuereinrichtungen
DE112018003084T5 (de) Asynchrones lokales und entfernt angeordnetes erzeugen von konsistenten zeitpunkt-momentkopien in konsistenzgruppen
DE102007025397B4 (de) System mit mehreren Prozessoren und Verfahren zu seinem Betrieb
EP2453326B1 (de) Verfahren und System zur Bedienung einer Maschine aus der Automatisierungstechnik
WO2013064189A1 (de) Migration einer virtuellen maschine
DE112011100323T5 (de) Architekturübergreifende Migration virtueller Maschinen
EP2081415B1 (de) Mikrokontroller-gesteuerte Notlichtbeleuchtungsanlage und geeignetes Kommunikationsverfahren hierfür
EP0807883B1 (de) Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen
DE112012000693T5 (de) Ausführen einer Vielzahl von Instanzen einer Anwendung
EP2506098A1 (de) Anordnung und Verfahren für den Betrieb einer industriellen Automatisierungsanordnung mit einer Mehrzahl programmierbarer Automatisierungskomponenten und einer Mehrzahl Automatisierungsprogramme
DE102021125630A1 (de) Datensynchronisation in einem datenanalysesystem
EP2732347B1 (de) Verfahren und system zur dynamischen verteilung von programmfunktionen in verteilten steuerungssystemen
EP3444682A1 (de) Verfahren zum rechnergestützten koppeln eines verarbeitungsmoduls in ein modulares technisches system und modulares technisches system
DE112020003608T5 (de) Wiederherstellung der verbindungsgeschwindigkeit in einem datenspeichersystem
DE102019117954A1 (de) Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme einer Automatisierungsanlage
EP2685377B1 (de) Verfahren und Anordnung zur Synchronisierung von zwei auf einer Hardware-Plattform ablaufenden Prozessen
WO2015124320A1 (de) Dynamisches speicherprogrammierbares steuergerät zum emulieren eines steuergerätes
EP2090948A1 (de) Automatisierungssystem und Verfahren zum Betrieb eines solchen Automatisierungssystems
EP2725437A1 (de) Bedieneinheit mit Applikationen zur Bedienung von Produktionsanlagen
EP0766488B1 (de) Verfahren zur Kopplung von Datenbearbeitungseinheiten, Verfahren zum Steuern einer Vermittlungsstelle, Datenbearbeitungseinheit, Steuerung und Vermittlungsstelle
EP1302080A2 (de) Verfahren und anordnung zur ermittlung von aktuellen projektionsdaten für eine projektion einer räumlich veränderlichen fläche
WO2014198283A1 (de) Aktualisieren eines kernels im laufenden betrieb
EP1582979A2 (de) Rechnersystem mit einem in ein Betriebssystem eingebetteten Echtzeitbetriebssystem

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11782100

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11782100

Country of ref document: EP

Kind code of ref document: A1