Der xendomains-Dienst startet, stoppt und migriert automatisch Oracle VM-Clients (domU), wenn der Oracle VM-Server (dom0) startet oder herunterfährt. Im Wesentlichen gibt der xendomains-Dienst automatisch eine Reihe von xm-Befehlen aus, um sicherzustellen, dass die richtigen Oracle-VM-Clients gestartet und gestoppt werden, wenn der dom0-Server gestartet oder gestoppt wird. Keine Daemons oder andere Hintergrundprozesse werden vom xendomains-Dienst gesteuert; nur virtuelle dom0-Client-Maschinen.
Als Teil des Oracle VM Server-Produkts wird der xendomains-Dienst als Teil des xen-tools RPM-Pakets bereitgestellt und normalerweise als Teil des Oracle VM Server-Produkts installiert.
Während des dom0-Systemstarts wird der xend-Dienst (an anderer Stelle beschrieben) gestartet. Kurz darauf wird der Dienst xendomains ausgeführt. Alle domU-Clients, deren Status durch ein früheres Herunterfahren gespeichert wurde, werden durch das Skript /etc/init.d/xendomains gestartet. Dann werden auch alle für den automatischen Start gekennzeichneten domU-Clients gestartet. Damit wird der xendomains-Dienst beendet.
Um Versuche zu verhindern, die Datei
auszuführen# service xendomains start
mehrfach ausführen und somit möglicherweise mehrere Instanzen der domU-Clients ausführen, verwaltet das xendomains-Skript die Sperrdatei /var/lock/subsys/xendomains, wie es bei Linux-Diensten üblich ist. Wenn diese Sperrdatei vorhanden ist, kann der Dienst nicht erneut gestartet werden; Wenn keine virtuellen Clients gestartet wurden, wird diese Sperrdatei nicht erstellt.
Während des Herunterfahrens des dom0-Systems, bevor der xend-Dienst beendet wird, wird der xendomains-Dienst erneut ausgeführt, um mit allen noch laufenden domU-Clients fertig zu werden. Das Herunterfahren des Clients ist in mehrere Schritte unterteilt:
Stufe | Erforderlich? | Beschreibung |
---|---|---|
Auswählen | Ja | Alle domU-Domains verwalten oder nur die als AUTO markierten |
SysRQ | Optional | Clientdomänen können optional gesteuert werden, indem die magische Alt-SysRQ-Tastenkombination an die virtuelle Maschine ausgegeben wird. |
Migration | Optional | Client-Domains, die nach den Alt-SysRQ-Tastenanschlägen noch laufen, können mit dem Befehl „xmmigrate“ auf einen anderen laufenden dom0-Host migriert werden. |
Speichern | Optional | Geben Sie einen „xm save“-Befehl an alle Clientdomänen aus, die nach dem Migrationsschritt noch lokal ausgeführt werden. |
Herunterfahren | Ja | Führen Sie den Befehl „xm shutdown“ aus, um alle virtuellen Clients, die noch lokal ausgeführt werden, ordnungsgemäß zu beenden. |
Aufräumen | Ja | Entfernen Sie die Dienstsperrdatei. |
Natur
Dies ist ein Dienst, der einmal beim Systemstart ausgeführt wird, um ausgewählte Oracle VM-Client-Computer zu starten, und einmal vor dem Herunterfahren des Systems, um alle laufenden Oracle VM-Client-Computer zu migrieren, zu speichern oder herunterzufahren.
Dienststeuerung
Verwenden Sie den folgenden Befehl, um den xendomains-Dienst beim nächsten Systemstart automatisch auszuführen:
# chkconfig xendomains on # chkconfig --list xendomains xendomains 0:off 1:off 2:off 3:on 4:on 5:on 6:off
Um den xendomains-Dienst manuell aufzurufen, verwenden Sie den Befehl:
# service xendomains help Usage: /etc/init.d/xendomains {start|stop|restart|reload|status}
Einzelheiten zu jeder Funktion sind unten zusammengefasst:
Befehl | Beschreibung |
---|---|
beginnen | Stellen Sie alle gespeicherten domU-Clients wieder her. Starten Sie domU-Clients, die als AUTO markiert sind. |
Halt | Fahren Sie alle laufenden virtuellen Client-Maschinen mit den zuvor beschriebenen Methoden herunter. |
Neustart | Entspricht einer Stopp-/Startsequenz. |
neu laden | Entspricht dem Neustartbefehl. |
Status | Zeigen Sie eine Liste der derzeit ausgeführten virtuellen Clientdomänen an. Wenn keiner, wird Exit-Code 3 zurückgegeben. |
Konfiguration
Das Verhalten des xendomains-Dienstes wird durch die Datei /etc/sysconfig/xendomains gesteuert. Diese gut kommentierte Datei steuert, wie domU-Clients vom Dienst verwaltet werden. Nachfolgend finden Sie eine Beispielkonfigurationsdatei:
## Path: System/xen ## Description: xen domain start/stop on boot ## Type: string ## Default: # # The xendomains script can send SysRq requests to domains on shutdown. # If you don't want to MIGRATE, SAVE, or SHUTDOWN, this may be a possibility # to do a quick and dirty shutdown ("s e i u o") or at least sync the disks # of the domains ("s"). # XENDOMAINS_SYSRQ="" ## Type: integer ## Default: 100000 # # If XENDOMAINS_SYSRQ is set, this variable determines how long to wait # (in microseconds) after each SysRq, so the domain has a chance to react. # If you want to a quick'n'dirty shutdown via SysRq, you may want to set # it to a relatively high value (1200000). # XENDOMAINS_USLEEP=100000 ## Type: integer ## Default: 5000000 # # When creating a guest domain, it is sensible to allow a little time for it # to get started before creating another domain or proceeding through the # boot process. Without this, the booting guests will thrash the disk as they # start up. This timeout (in microseconds) specifies the delay after guest # domain creation. # XENDOMAINS_CREATE_USLEEP=5000000 ## Type: string ## Default: "" # # Set this to a non-empty string if you want to migrate virtual machines # on shutdown. The string will be passed to the xm migrate DOMID command # as is: It should contain the target IP address of the physical machine # to migrate to and optionally parameters like --live. Leave empty if # you don't want to try virtual machine relocation on shutdown. # If migration succeeds, neither SAVE nor SHUTDOWN will be executed for # that domain. # XENDOMAINS_MIGRATE="" ## Type: string ## Default: /var/lib/xen/save # # Directory to save running domains to when the system (dom0) is # shut down. Will also be used to restore domains from if # XENDOMAINS_RESTORE # is set (see below). Leave empty to disable domain saving on shutdown # (e.g. because you rather shut domains down). # If domain saving does succeed, SHUTDOWN will not be executed. # XENDOMAINS_SAVE=/var/lib/xen/save ## Type: string ## Default: "--halt --wait" # # If neither MIGRATE nor SAVE were enabled or if they failed, you can # try to shut down a domain by sending it a shutdown request. To do this, # set this to "--halt --wait". Omit the "--wait" flag to avoid waiting # for the domain to be really down. Leave empty to skip domain shutdown. # XENDOMAINS_SHUTDOWN="--halt --wait" ## Type: string ## Default: "--all --halt --wait" # # After we have gone over all virtual machines (resp. all automatically # started ones, see XENDOMAINS_AUTO_ONLY below) in a loop and sent SysRq, # migrated, saved and/or shutdown according to the settings above, we # might want to shutdown the virtual machines that are still running # for some reason or another. To do this, set this variable to # "--all --halt --wait", it will be passed to xm shutdown. # Leave it empty not to do anything special here. # (Note: This will hit all virtual machines, even if XENDOMAINS_AUTO_ONLY # is set.) # XENDOMAINS_SHUTDOWN_ALL="--all --halt --wait" ## Type: boolean ## Default: true # # This variable determines whether saved domains from XENDOMAINS_SAVE # will be restored on system startup. # XENDOMAINS_RESTORE=true ## Type: string ## Default: /etc/xen/auto # # This variable sets the directory where domains configurations # are stored that should be started on system startup automatically. # Leave empty if you don't want to start domains automatically # (or just don't place any xen domain config files in that dir). # Note that the script tries to be clever if both RESTORE and AUTO are # set: It will first restore saved domains and then only start domains # in AUTO which are not running yet. # Note that the name matching is somewhat fuzzy. # XENDOMAINS_AUTO=/etc/xen/auto ## Type: boolean ## Default: false # # If this variable is set to "true", only the domains started via config # files in XENDOMAINS_AUTO will be treated according to XENDOMAINS_SYSRQ, # XENDOMAINS_MIGRATE, XENDOMAINS_SAVE, XENDMAINS_SHUTDOWN; otherwise # all running domains will be. # Note that the name matching is somewhat fuzzy. # XENDOMAINS_AUTO_ONLY=false ## Type: integer ## Default: 300 # # On xendomains stop, a number of xm commands (xm migrate, save, shutdown, # shutdown --all) may be executed. In the worst case, these commands may # stall forever, which will prevent a successful shutdown of the machine. # If this variable is non-zero, the script will set up a watchdog timer # for every of these xm commands and time it out after the number of seconds # specified by this variable. # Note that SHUTDOWN_ALL will not be called if no virtual machines or only # zombies are still running, so you don't need to enable this timeout just # for the zombie case. # The setting should be large enough to make sure that migrate/save/shutdown # can succeed. If you do live migrations, keep in mind that live migration # of a 1GB machine over Gigabit ethernet may actually take something like # 100s (assuming that live migration uses 10% of the network # bandwidth). # Depending on the virtual machine, a shutdown may also require a significant # amount of time. So better setup this variable to a huge number and hope the # watchdog never fires. # XENDOMAINS_STOP_MAXWAIT=300