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