Ausgabe 1
ftpdMono-spaced Bold
		To see the contents of the filemy_next_bestselling_novelin your current working directory, enter thecat my_next_bestselling_novelcommand at the shell prompt and press Enter to execute the command.
Press Enter to execute the command.Press Ctrl+Alt+F1 to switch to the first virtual terminal. Press Ctrl+Alt+F7 to return to your X-Windows session.
Mono-spaced Bold. For example:
		File-related classes includefilesystemfor file systems,filefor files, anddirfor directories. Each class has its own associated set of permissions.
Choose from the main menu bar to launch Mouse Preferences. In the Buttons tab, click the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).To insert a special character into a gedit file, choose from the main menu bar. Next, choose from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose from the gedit menu bar.
Mono-spaced Bold Italic or Proportional Bold Italic
		To connect to a remote machine using ssh, typesshat a shell prompt. If the remote machine isusername@domain.nameexample.comand your username on that machine is john, typessh john@example.com.Themount -o remountcommand remounts the named file system. For example, to remount thefile-system/homefile system, the command ismount -o remount /home.To see the version of a currently installed package, use therpm -qcommand. It will return a result as follows:package.package-version-release
When the Apache HTTP Server accepts requests, it dispatches child processes or threads to handle them. This group of child processes or threads is known as a server-pool. Under Apache HTTP Server 2.0, the responsibility for creating and maintaining these server-pools has been abstracted to a group of modules called Multi-Processing Modules (MPMs). Unlike other modules, only one module from the MPM group can be loaded by the Apache HTTP Server.
Mono-spaced Roman definiert und daher wie folgt präsentiert:
		books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
Mono-spaced Roman definiert. Sie werden wie folgt präsentiert und hervorgehoben:
		package org.jboss.book.jca.ex1;
import javax.naming.InitialContext;
public class ExClient
{
   public static void main(String args[]) 
       throws Exception
   {
      InitialContext iniCtx = new InitialContext();
      Object         ref    = iniCtx.lookup("EchoBean");
      EchoHome       home   = (EchoHome) ref;
      Echo           echo   = home.create();
      System.out.println("Created Echo");
      System.out.println("Echo.echo('Hello') = " + echo.echo("Hello"));
   }
   
}
Inhaltsverzeichnis

virt-manager, libvirt und virt-viewer zur Installation ausgewählt.
				
Anpassen der Pakete (falls nötig)

%packages-Abschnitt Ihrer Kickstart-Datei die folgende Paketgruppe hinzu:
		%packages @kvm
yumkvm-Paket. Das kvm-Paket beinhaltet das KVM-Kernel-Modul, das den KVM-Hypervisor auf dem standardmäßigen Linux-Kernel liefert.
			kvm-Paket zu installieren, führen Sie Folgendes aus: 
# yum install kvm
python-virtinstvirt-install-Befehl für die Erzeugung von virtuellen Maschinen.
					libvirtlibvirt ist eine API-Bibliothek zur Interaktion mit Hypervisoren. libvirt verwendet das xm-Virtualisierungs-Framework und das virsh-Befehlszeilen-Tool, um virtuelle Maschinen zu verwalten und zu steuern.
					libvirt-pythonlibvirt-Bibliothek gelieferte Schnittstelle zu verwenden.
					virt-managervirt-manager, auch Virtual Machine Manager genannt, bietet ein grafisches Tool zur Verwaltung virtueller Maschinen. Es verwendet die libvirt-Bibliothek als Management-API.
					# yum install virt-manager libvirt libvirt-python python-virtinst
virt-install. Beide Methoden werden in diesem Kapitel behandelt.
	virt-install-Befehl verwenden, um virtualisierte Gäste von der Befehlszeile aus zu erzeugen. virt-install kann entweder interaktiv verwendet werden oder in einem Skript, um die Erstellung virtueller Maschinen zu automatisieren. Wenn virt-install zusammen mit Kickstart-Dateien verwendet wird, können virtuelle Maschinen unbeaufsichtigt installiert werden.
		virt-install-Tool bietet eine Reihe von Optionen, die in der Befehlszeile übergeben werden können. Um eine vollständige Auflistung dieser Optionen zu sehen, geben Sie ein:
		$ virt-install --help
virt-install-Handbuchseite dokumentiert jede Befehlszeilenoption sowie wichtige Variablen.
		qemu-img ist ein zugehöriger Befehl, der vor virt-install dazu verwendet werden kann, Speicheroptionen zu konfigurieren.
		--vnc-Option, mit der grafisches Fenster zur Gastinstallation geöffnet wird.
		rhel3support von einer CD-ROM, mit virtuellem Netzwerk und einem 5 GB dateibasiertem Blockgerätabbild. Dieses Beispiel verwendet den KVM-Hypervisor.
			# virt-install --accelerate --hvm --connect qemu:///system \
        --network network:default \
        --name rhel3support --ram=756\
        --file=/var/lib/libvirt/images/rhel3support.img \
        --file-size=6 --vnc --cdrom=/dev/sr0
# virt-install --name Fedora11 --ram 512 --file=/var/lib/libvirt/images/Fedora11.img \
        --file-size=3 --vnc --cdrom=/var/lib/libvirt/images/Fedora11.iso
virt-manager, auch als Virtual Machine Manager bekannt, ist ein grafisches Tool zur Erstellung und Verwaltung virtualisierter Gäste.
		# virt-manager &
virt-manager-Befehl öffnet eine grafische Benutzeroberfläche. Ohne Root-Rechte oder konfiguriertem sudo stehen Ihnen eine Reihe von Funktionen, u. a. die Schaltfläche , nicht zur Verfügung und Sie können keinen neuen virtualisierten Gast erzeugen.
				


kernel-xen nicht der aktuell laufende Kernel ist.
				
HTTP, FTP oder NFS. Die URL des Installationsmediums muss einen Fedora Installationsbaum enthalten. Dieser Baum wird gehosted mittels NFS, FTP or HTTP. Die Netzwerkdienste und Dateien können gehosted werden unter Verwendung der Netzwerkdienste auf dem Host oder einem anderen Spiegelserver.
						.iso-Datei gekennzeichnet) hängen Sie das CD-ROM-Abbild ein und hosten die eingehängten Dateien mit einem der genannten Protokolle.
						

/var/lib/xen/images/-Verzeichnis abgelegt werden. Andere Speicherorte für dateibasierte Abbilder werden von SELinux verweigert. Falls Sie SELinux im Enforcing-Modus ausführen, werfen Sie einen Blick auf Abschnitt 7.1, „SELinux und Virtualisierung“ für weitere Informationen über die Installation von Gästen.
				
/var/lib/xen/images/. Falls Sie einen anderen Speicherort verwenden (wie z. B. /xen/images/ in diesem Beispiel), stellen Sie sicher, dass Sie ihn in der SELinux-Richtlinie hinzugefügt und neu gekennzeichnet haben, bevor Sie mit der Installation fortfahren (an späterer Stelle im Dokument finden Sie Informationen darüber, wie Sie Ihre SELinux-Richtlinie anpassen).
					

virt-manager abgeschlossen. Kapitel 3, Installationsverfahren für Gastbetriebssysteme enthält schrittweise Anleitungen zur Installation einer Vielzahl gebräuchlicher Betriebssysteme.
		Neue Bridge erstellen
/etc/sysconfig/network-scripts/-Verzeichnis. Dieses Beispiel erstellt eine Datei namens ifcfg-installation, die eine Bridge namens installation erzeugt.
						# cd /etc/sysconfig/network-scripts/ # vim ifcfg-installation DEVICE=installation TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes
TYPE=Bridge, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'.
							Starten Sie die neue Bridge. # ifup installation
brctl show-Befehl, um Einzelheiten der Netzwerk-Bridges auf dem System einzusehen.
						# brctl show bridge name bridge id STP enabled interfaces installation 8000.000000000000 no virbr0 8000.000000000000 yes
virbr0-Bridge ist die Standard-Bridge, die von libvirt für Network Address Translation (NAT) auf dem Standard-Ethernet-Gerät verwendet wird.
						Eine Schnittstelle zur neuen Bridge hinzufügen
BRIDGE-Parameter mit dem Namen der Bridge, die im vorangegangenen Schritt erzeugt wurde, zur Konfigurationsdatei hinzu.
				# Intel Corporation Gigabit Network Connection DEVICE=eth1 BRIDGE=installation BOOTPROTO=dhcp HWADDR=00:13:20:F7:6E:8E ONBOOT=yes
# service network restart
brctl show-Befehls, dass die Schnittstelle nun verknüpft ist:
				# brctl show bridge name bridge id STP enabled interfaces installation 8000.001320f76e8e no eth1 virbr0 8000.000000000000 yes
Sicherheitskonfiguration
iptables to allow all traffic to be forwarded across the bridge.
				# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT # service iptables save # service iptables restart
iptables rules. In /etc/sysctl.conf append the following lines:
					net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
sysctl
					# sysctl -p /etc/sysctl.conf
libvirt vor der Installation neustarten
libvirt daemon.
				# service libvirtd reload
virt-install den --network=bridge:BRIDGENAME-Installationsparameter an, wobei "installation" der Name Ihrer Bridge ist. Verwenden Sie für PXE-Installationen den --pxe-Parameter.
			# virt-install --accelerate --hvm --connect qemu:///system \
    --network=bridge:installation --pxe\
    --name EL10 --ram=756 \
    --vcpus=4
    --os-type=linux --os-variant=rhel5
    --file=/var/lib/libvirt/images/EL10.img \
PXE auswählen

Bridge auswählen

Installation starten

kernel-xen-Kernel.
	virt-manager finden Sie unter Abschnitt 2.2, „Erzeugen von Gästen mit virt-manager“.
	virt-install. Durch die Option --vnc wird die grafische Installation gestartet. Der Name des Gasts lautet in diesem Beispiel rhel5PV, die Abbildatei ist rhel5PV.dsk und ein lokaler Spiegelserver des Red Hat Enterprise Linux 5 Installationsbaums ist ftp://10.1.1.1/trees/CentOS5-B2-Server-i386/. Ersetzen Sie diese Werte passend für Ihr System und Ihr Netzwerk.
	# virt-install -nrhel5PV-r 500 \ -f /var/lib/libvirt/images/rhel5PV.dsk-s 3 --vnc -p \ -lftp://10.1.1.1/trees/CentOS5-B2-Server-i386/



DHCP (wie unten gezeigt) oder einer statischen Adresse wählen:
			






Installationsnummer ein:
			
rhn_register-Befehls bestätigen. Der rhn_register-Befehl erfordert Root-Rechte.
				# rhn_register












virt-install in Abschnitt 3.1, „Installation von Red Hat Enterprise Linux 5 als paravirtualisierter Gast“ angewendet haben. Falls Sie das Standardbeispiel übernommen haben, lautet der Name rhel5PV.
			virsh reboot rhel5PV
virt-manager öffnen, den Namen Ihres Gasts auswählen, auf  und danach auf  klicken.
			







kdump, falls nötig.
			










Open virt-manager
virt-manager. Launch the  application from the  menu and  submenu. Alternatively, run the virt-manager command as root.
			Select the hypervisor
qemu.
			Start the new virtual machine wizard

Name the virtual machine

Choose a virtualization method

Select the installation method

Locate installation media

/var/lib/libvirt/images/-Verzeichnis verwendet werden. Abweichende Speicherorte erfordern unter Umständen zusätzliche Konfiguration von SELinux. Siehe Abschnitt 7.1, „SELinux und Virtualisierung“ für weitere Einzelheiten.
				Storage setup
/var/lib/libvirt/images/-Verzeichnis abgelegt sein. Weisen Sie ausreichend Speicherplatz für Ihren virtualisierten Gast und dessen benötigte Anwendungen zu. 
				
Network setup

Memory and CPU allocation

Verify and start guest installation

Installation von Linux
Starting virt-manager
Benennen Sie das virtuelle System

Wählen Sie eine Virtualisierungsmethode

Wählen Sie die Installationsart

/var/lib/libvirt/images/-Verzeichnis verwendet werden. Abweichende Speicherorte erfordern unter Umständen zusätzliche Konfiguration von SELinux. Siehe Abschnitt 7.1, „SELinux und Virtualisierung“ für weitere Einzelheiten.
				/var/lib/libvirt/images/-Verzeichnis abgelegt werden. Andere Speicherorte für dateibasierte Abbilder werden von SELinux verweigert. Falls Sie SELinux im Enforcing-Modus ausführen, werfen Sie einen Blick auf Abschnitt 7.1, „SELinux und Virtualisierung“ für weitere Informationen über die Installation von Gästen.
			
/var/lib/libvirt/images/. Falls Sie einen anderen Speicherort verwenden (wie z. B. /images/ in diesem Beispiel), stellen Sie sicher, dass Sie ihn in der SELinux-Richtlinie hinzugefügt und neu gekennzeichnet haben, bevor Sie mit der Installation fortfahren (an späterer Stelle im Dokument finden Sie Informationen darüber, wie Sie Ihre SELinux-Richtlinie anpassen).
				Network setup



Generische i486-Plattform'-Reiter aus (wechseln Sie die Auswahl mit den Hoch und Runter-Pfeilen).
			







# virsh start WindowsGuest
WindowsGuest der Name Ihrer virtuellen Maschine ist.
			
virsh reboot WindowsGuestName neu. Dies wird die Installation in der Regel wieder zum Laufen bringen. Wenn Sie Ihre virtuelle Maschine neu starten, werden Sie die Nachricht Setup is being restarted sehen:
			



virt-install-Befehls. virt-install kann anstelle von virt-manager verwendet werden. Dieses Verfahren ähnelt der Windows XP Installation, die in Abschnitt 3.3, „Installation von Windows XP als voll virtualisierter Gast“ beschrieben wird.
	virt-install zur Installation von Windows Server 2003 als Konsole für den Windows-Gast wird umgehend das virt-viewer-Fenster geöffnet. Sehen Sie hier ein Beispiel zur Verwendung von virt-install zur Installation eines Windows Server 2003 Gasts:
			virt-install-Befehl.
			# virt-install -hvm -s 5 -f /var/lib/libvirt/images/windows2003spi1.dsk \ -n windows2003sp1 -cdrom=/ISOs/WIN/en_windows_server_2003_sp1.iso \ -vnc -r 1024
Standard PC als Computer-Typ aus. Dies ist der einzige nötige Schritt, der nicht standardmäßig ist.
			



Open virt-manager
virt-manager. Launch the  application from the  menu and  submenu. Alternatively, run the virt-manager command as root.
			Select the hypervisor
qemu.
			Start the new virtual machine wizard

Name the virtual machine

Choose a virtualization method

Select the installation method

Locate installation media


/var/lib/libvirt/images/-Verzeichnis verwendet werden. Abweichende Speicherorte erfordern unter Umständen zusätzliche Konfiguration von SELinux. Siehe Abschnitt 7.1, „SELinux und Virtualisierung“ für weitere Einzelheiten.
				Storage setup
/var/lib/libvirt/images/-Verzeichnis abgelegt sein. Weisen Sie ausreichend Speicherplatz für Ihren virtualisierten Gast und dessen benötigte Anwendungen zu. 
				
Network setup

Memory and CPU allocation

Verify and start guest installation

Installation von Windows

dd erstellt werden. Ersetzen Sie dabei /dev/fd0 durch den Namen eines Floppy-Laufwerks und benennen die Diskette entsprechend. 
# dd if=/dev/fd0 of=~/legacydrivers.img
virt-manager angelegt wurde und auf dem eine vollvirtualisierte Linux-Installation läuft, mit einem Abbild in /var/lib/libvirt/images/rhel5FV.img. In diesem Beispiel wird der Xen-Hypervisor verwendet.
		virsh auf einem laufenden Gast ausführen.
				# virsh dumpxml rhel5FV > rhel5FV.xml
# dd if=/dev/zero of=/var/lib/libvirt/images/rhel5FV-floppy.img bs=512 count=2880
<disk type='file' device='floppy'>
        <source file='/var/lib/libvirt/images/rhel5FV-floppy.img'/>
        <target dev='fda'/>
</disk>
# virsh stop rhel5FV
# virsh create rhel5FV.xml
dd-Befehls eine Sparse-Datei. Beachten Sie bitte, dass die Verwendung von Sparse-Dateien aufgrund von Integritäts- und Performance-Problemen nicht empfohlen wird. Sparse-Dateien sind schnell erzeugt und können zum Testen verwendet werden, sollten jedoch nicht im Produktionsumfeld eingesetzt werden.
						# dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M seek=4096 count=0
# dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M count=4096
Guest1 und die Datei wird im Benutzerverzeichnis gespeichert.
				# virsh dumpxmlGuest1> ~/Guest1.xml
Guest1.xml) in einem Texteditor und suchen nach Einträgen, die mit "disk=" beginnen. Ein Eintrag könnte wie folgt aussehen:
				>disk type='file' device='disk'<
        >driver name='tap' type='aio'/<
        >source file='/var/lib/libvirt/images/Guest1.img'/<
        >target dev='xvda'/<
>/disk<
disk=-Eintrags ändern. Versichern Sie sich, dass Sie einen Gerätenamen für das virtuelle Blockgerät angeben, der noch nicht in der Konfigurationsdatei verwendet wird. Der folgende Beispieleintrag fügt eine Datei namens FileName.img als dateibasierten Speicher-Container hinzu:
				>disk type='file' device='disk'<
        >driver name='tap' type='aio'/<
        >source file='/var/lib/libvirt/images/Guest1.img'/<
        >target dev='xvda'/<
>/disk<
>disk type='file' device='disk'<
        >driver name='tap' type='aio'/<
        >source file='/var/lib/libvirt/images/FileName.img'/<
        >target dev='hda'/<
>/disk<
# virsh create Guest1.xml
FileName.img als ein Gerät namens /dev/hdb. Dieses Gerät muss vom Gast formatiert werden. Partitionieren Sie das Gerät auf dem Gast in eine einzige Primärpartition für das gesamte Gerät, und formatieren Sie anschließend das Gerät.
				n für eine neue Partition.
						# fdisk /dev/hdb Command (m for help):
p für eine Primärpartition.
						Command action e extended p primary partition (1-4)
1.
						Partition number (1-4): 1
Eingabe-Taste.
						First cylinder (1-400, default 1):
Eingabe-Taste.
						Last cylinder or +size or +sizeM or +sizeK (2-400, default 400):
t.
						Command (m for help): t
1.
						Partition number (1-4): 1
83 für eine Linux-Partition ein.
						Hex code (type L to list codes): 83
Command (m for help):wCommand (m for help):q
ext3-Dateisystem.
						# mke2fs -j /dev/hdb
# mount /dev/hdb1 /myfiles
				multipath und Persistenz auf dem Host, falls nötig.
				virsh attach-Befehl aus. Ersetzen Sie dabei myguest durch den Namen Ihres Gasts, /dev/hdb1 durch das hinzuzufügende Gerät und hdc durch den Ort des Geräts auf dem Gast. hdc muss ein noch nicht verwendeter Gerätename sein. Nutzen Sie die hd*-Notation auch für Windows-Gäste, der Gast wird daraufhin das Gerät korrekt erkennen.
				--type hdd an.
				--type floppy an.
				# virsh attach-diskmyguest/dev/hdb1hdc--driver tap --mode readonly
/dev/hdb unter Linux oder D: drive (oder ähnlich) unter Windows. Gegebenenfalls muss das Gerät noch formatiert werden.
				multipath nicht läuft, müssen die Konfiguration eines einzigen Pfads (Single Path) durchführen. Systeme, auf denen multipath läuft, können die Konfiguration multipler Pfade (Multiple Path) durchführen.
		udev. Wenden Sie dieses Verfahren ausschließlich für Hosts an, die multipath nicht verwenden.
			/etc/scsi_id.config-Datei.
				options=-b auskommentiert ist. 
# options=-b
options=-g
udev um anzunehmen, dass alle angeschlossenen SCSI-Geräte einen UUID (Unique Device Identifier) wiedergeben.
						scsi_id -g -s /block/sd* aus. Zum Beispiel:
				# scsi_id -g -s /block/sd* 3600a0b800013275100000015427b625e
/dev/sdc angezeigt.
				scsi_id -g -s /block/sd*-Befehl identisch ist von Computern, die auf das Gerät zugreifen.
				/etc/udev/rules.d die Datei 20-names.rules an. In dieser Datei fügen Sie neue Regeln hinzu. Alle Regeln werden in dieselbe Datei und in demselben Format eingefügt. Das Format für Regeln sieht folgendermaßen aus:
				KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT=UUID, NAME=devicename
UUID und devicename durch die vorher abgefragte UUID und den gewünschten Namen für das Gerät. Für das obige Beispiel könnte eine Regel wie folgt aussehen:
				KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT="3600a0b800013275100000015427b625e", NAME="rack4row16"
udev-Daemon sucht daraufhin alle Geräte namens /dev/sd* für die UUID in der Regel. Sobald ein passendes Gerät mit dem System verbunden wird, wird dem Gerät der Name aus der Regel zugewiesen. Das Gerät mit der UUID 3600a0b800013275100000015427b625e würde demnach als /dev/rack4row16 erscheinen.
				/etc/rc.local an:
				/sbin/start_udev
/etc/scsi_id.config, /etc/udev/rules.d/20-names.rules und /etc/rc.local für alle relevanten Hosts.
				/sbin/start_udev
multipath-Paket wird für Systeme mit mehr als einem physischen Pfad vom Computer zu Speichergeräten verwendet. multipath bietet Fehlertoleranz, die Möglichkeit zum Failover, sowie verbesserte Leistung für Netzwerkspeichergeräte unter Linux-Systemen.
			scsi_id-Befehls identifizieren.
		# scsi_id -g -s /block/sdc
/dev/mpath-Verzeichnis angelegt. In dem nachfolgenden Beispiel sind vier Geräte in /etc/multipath.conf definiert:
		multipaths { 
        multipath { 
        wwid                3600805f30015987000000000768a0019 
        alias                oramp1 
        } 
        multipath { 
        wwid                3600805f30015987000000000d643001a 
        alias                oramp2 
        } 
        mulitpath { 
        wwid                3600805f3001598700000000086fc001b 
        alias                oramp3 
        } 
        mulitpath { 
        wwid                3600805f300159870000000000984001c 
        alias                oramp4 
        } 
}
/dev/mpath/oramp1, /dev/mpath/oramp2, /dev/mpath/oramp3 und /dev/mpath/oramp4. Einmal eingegeben, ist die Zuordnung der Geräte-WWID zu ihren jeweiligen Namen auch nach einem Neustart persistent.
		virsh mit dem Parameter attach-disk. 
# virsh attach-disk [domain-id] [source] [target] --driver file --type cdrom --mode readonly
			 Die Parameter source und target sind Pfade für die Dateien und Geräte im Host bzw. Gast. Der source-Parameter kann ein Pfad zu einer ISO-Datei oder das Gerät vom /dev-Verzeichnis sein.
		# setenforce 1
AutoFS, NFS, FTP, HTTP, NIS, telnetd, sendmail und so weiter.
			/var/lib/libvirt/images/ gespeichert werden. Falls Sie ein anderes Verzeichnis für Ihre Abbilder virtueller Maschinen verwenden, stellen Sie sicher, dass Sie dieses Verzeichnis zu Ihrer SELinux-Richtlinie hinzufügen und vor Start der Installation neu kennzeichnen.
			vsftpd-Servers.
			/var/lib/libvirt/images gespeichert sind.
		NewVolumeName auf der Datenträgergruppe namens volumegroup.
				# lvcreate -nNewVolumeName-L5Gvolumegroup
NewVolumeName mit einem Dateisystem, das erweiterte Attribute unterstützt, wie z. B. ext3.
				# mke2fs -j /dev/volumegroup/NewVolumeName
/etc, /var, /sys) noch in Benutzerverzeichnissen (/home oder /root). Dieses Beispiel verwendet ein Verzeichnis namens /virtstorage.
				# mkdir /virtstorage
# mount/dev/volumegroup/NewVolumeName/virtstorage
semanage fcontext -a -t xen_image_t "/virtualization(/.*)?"
semanage fcontext -a -t virt_image_t "/virtualization(/.*)?"
/etc/selinux/targeted/contexts/files/file_contexts.local-Datei hinzu, wodurch diese Änderung persistent gemacht wird. Die angefügte Zeile sieht etwa wie folgt aus:
				/virtstorage(/.*)? system_u:object_r:xen_image_t:s0
/virtstorage) und aller darunterliegenden Dateien auf xen_image_t zu ändern (restorecon und setfiles lesen die Dateien in /etc/selinux/targeted/contexts/files/).
				# restorecon -R -v /virtualization
# semanage fcontext -a -t xen_image _t -f -b /dev/sda2 # restorecon /dev/sda2
xend_disable_t versetzt xend nach einem Neustart des Daemons in einen unbeschränkten Modus. Es ist besser, den Schutz für einen einzelnen Daemon zu deaktivieren, als für das gesamte System. Es wird empfohlen, dass Sie Verzeichnisse, die Sie an anderer Stelle verwenden werden, nicht als xen_image_t umkennzeichnen.
		libvirt-Installation ist NAT-basierte Konnektivität zu virtuellen Maschinen bereits integriert. Dies ist das sogenannte "Virtuelle Standardnetzwerk". Überprüfen Sie dessen Verfügbarkeit mit dem Befehl virsh net-list --all.
			# virsh net-list --all Name State Autostart ----------------------------------------- default active yes
# virsh net-define /usr/share/libvirt/networks/default.xml
/usr/share/libvirt/networks/default.xml definiert.
		# virsh net-autostart default Network default marked as autostarted
# virsh net-start default Network default started
libvirt-Standardnetzwerk läuft, werden Sie ein isoliertes Bridge-Gerät sehen. Dieses Gerät besitzt keine physischen Schnittstellen, da es NAT- und IP-Weiterleitung verwendet, um sich mit der Außenwelt zu verbinden. Fügen Sie keine neuen Schnittstellen hinzu.
		# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes
libvirt fügt iptables-Regeln hinzu, die Datenverkehr von und zu Gästen erlauben, die mit dem virbr0-Gerät in den INPUT, FORWARD, OUTPUT und POSTROUTING-Ketten verknüpft sind. libvirt versucht daraufhin, den ip_forward-Parameter zu aktivieren. Einige andere Anwendungen deaktivieren möglicherweise ip_forward, deshalb sollten Sie am Besten Folgendes zur /etc/sysctl.conf-Datei hinzufügen.
		net.ipv4.ip_forward = 1
<interface type='network'> <source network='default'/> </interface>
<interface type='network'> <source network='default'/> <mac address='00:16:3e:1a:b3:4a'/> </interface>
/etc/xen/xend-config.sxp bearbeiten und die folgende Zeile ändern, von:
			(network-script network-bridge)
(network-script /bin/true)
# chkconfig NetworkManager off # chkconfig network on # service NetworkManager stop # service network start
NM_CONTROLLED=no" zu den ifcfg-*-Skripten hinzufügen, die in den Beispielen verwendet werden.
			/etc/sysconfig/network-scripts-Verzeichnis:
		# cd /etc/sysconfig/network-scripts
ifcfg-eth0 die physische Netzwerkschnittstelle, die als Teil einer Bridge eingestellt wird:
		DEVICE=eth0 # change the hardware address to match the hardware address your NIC uses HWADDR=00:16:76:D6:C9:45 ONBOOT=yes BRIDGE=br0
MTU-Variable an das Ende der Konfigurationsdatei anfügen.
			MTU=9000
/etc/sysconfig/network-scripts-Verzeichnis namens ifcfg-br0 oder ähnlich. br0 ist der Name der Bridge. Dieser Name kann beliebig lauten, solange der Name der Datei dem Namen des DEVICE-Parameters entspricht.
		DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0
TYPE=Bridge, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'.
			# service network restart
iptables to allow all traffic to be forwarded across the bridge.
		# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT # service iptables save # service iptables restart
iptables rules. In /etc/sysctl.conf append the following lines:
			net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
sysctl
			# sysctl -p /etc/sysctl.conf
libvirt daemon.
		# service libvirtd reload
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes br0 8000.000e0cb30550 no eth0
virbr0-Bridge. Versuchen Sie nicht, ein physisches Gerät mit virbr0 zu verknüpfen. Die virbr0-Bridge dient ausschließlich der Network Address Translation (NAT) Konnektivität.
		Herunterladen der Treiber
virtio-win.iso im /usr/share/virtio-win/-Verzeichnis.
				Installation der paravirtualisierten Treiber
virt-manager zum Einhängen eines CD-ROM-Abbilds für einen Windows-Gast“, um ein CD-ROM-Abbild mit virt-manager hinzuzufügen.
			virt-manager zum Einhängen eines CD-ROM-Abbilds für einen Windows-Gastvirt-manager, wählen Sie Ihren virtualisierten Gast aus der Liste der virtuellen Maschinen aus und klicken die -Schaltfläche.
				
/usr/share/xenpv-win, sofern Sie yum zur Installation der paravirtualisierten Treiberpakete genutzt haben.
				

viostor.vfd als Floppy.
				Windows Server 2003
Windows Server 2008
virtio-Treiber anstelle des virtualisierten IDE-Treibers verwendet. In diesem Beispiel werden die libvirt-Konfigurationsdateien bearbeitet. Alternativ können auch virt-manager, virsh attach-disk oder virsh attach-interface ein neues Gerät zur Verwendung der paravirtualisierten Treiber hinzufügen Verwenden von KVM paravirtualisierten Treibern für neue Geräte.
			<disk type='file' device='disk'> <source file='/var/lib/libvirt/images/disk1.img'/> <target dev='hda' bus='ide'/> </disk>
virtio.
				<disk type='file' device='disk'>
   <source file='/var/lib/libvirt/images/disk1.img'/>
   <target dev='hda' bus='virtio'/>
</disk>
virt-manager.
			virsh attach-disk oder virsh attach-interface nutzen, um Geräte zu verknüpfen, die die paravirtualisierten Treiber verwenden.
		virt-manager auf den Namen des Gasts doppelklicken.
				


xendxend-config.sxp, die sich im Verzeichnis etc/xen befindet, bearbeiten. Nachfolgend finden Sie die Parameter, die Sie in der Konfigurationsdatei xend-config.sxp aktivieren oder deaktivieren können:
	| Element | Description | 
|---|---|
| 
						 
							(console-limit)
						 
					 | 
						 
							Bestimmt das Arbeitsspeicher-Pufferlimit xend_unix_server des Konsolenservers und weist Werte auf einer pro-Domain-Basis zu.
						 
					 | 
| 
						 
							(min-mem)
						 
					 | 
						 
							Bestimmt die minimale Anzahl an Megabytes, die für domain0 reserviert werden (wenn Sie 0 eingeben, ändert sich der Wert nicht).
						 
					 | 
| 
						 
							(dom0-cpus)
						 
					 | 
						 
							Bestimmt die Zahl der von domain0 verwendeten CPUs (mindestens 1 CPU wird standardmäßig zugewiesen).
						 
					 | 
| 
						 
							(enable-dump)
						 
					 | 
						 
							Bestimmt, dass im Falle eines Absturzes ein Dump aktiviert wird (Standard ist 0).
						 
					 | 
| 
						 
							(external-migration-tool)
						 
					 | 
						 
							Bestimmt das Skript oder die Anwendung, die die externe Gerätemigration handhabt (die Skripte müssen sich in  
					etc/xen/scripts/external-device-migrate befinden).
						 | 
| 
						 
							(logfile)
						 
					 | 
						 
							Bestimmt den Ort der Protokolldatei (standardmäßig  
					/var/log/xend.log).
						 | 
| 
						 
							(loglevel)
						 
					 | 
						 
							Filtert die Werte des Protokollmodus aus: DEBUG, INFO, WARNING, ERROR oder CRITICAL (standardmäßig DEBUG).
						 
					 | 
| 
						 
							(network-script)
						 
					 | 
						 
							Bestimmt das Skript, welches die Netzwerkumgebung aktiviert (Skripte müssen sich im Verzeichnis  
					etc/xen/scripts  befinden).
						 | 
| 
						 
							(xend-http-server)
						 
					 | 
						 
							Aktiviert den HTTP-Stream Paket-Management-Server (standardmäßig "no").
						 
					 | 
| 
						 
							(xend-unix-server)
						 
					 | 
						 
							Aktiviert den UNIX Domain-Socket-Server, welcher ein Socket-Server ist ein Kommunikationsendpunkt, der Lowlevel-Netzwerkverbindungen handhabt und einkommende Verbindungen akzeptiert oder abweist. Der standardmäßige Wert ist Yes.
						 
					 | 
| 
						 
							(xend-relocation-server)
						 
					 | 
						 
							Aktiviert den Migrations-Server für maschinenübergreifende Migrationen (standardmäßig "no").
						 
					 | 
| 
						 
							(xend-unix-path)
						 
					 | 
						 
							Bestimmt den Ort, an dem der Befehl  
					xend-unix-server Daten ausgibt (standardmäßig var/lib/xend/xend-socket)
						 | 
| 
						 
							(xend-port)
						 
					 | 
						 
							Bestimmt den Port, den der HTTP-Management-Server verwendet (standardmäßig 8000).
						 
					 | 
| 
						 
							(xend-relocation-port)
						 
					 | 
						 
							Bestimmt den Port, den der Migrations-Server verwendet (standardmäßig 8002).
						 
					 | 
| 
						 
							(xend-relocation-address)
						 
					 | 
						 
							Bestimmt die Host-Adressen, die zur Migration zugelassen sind. Der Standardwert ist der Wert der  
					xend-address.
						 | 
| 
						 
							(xend-address)
						 
					 | 
						 
							Bestimmt die Adresse, mit der sich der Domain-Socket-Server verbindet. Der standardmäßige Wert erlaubt alle Verbindungen.
						 
					 | 
service xend start
service xend stop
service xend restart
service xend status
xend zur Boot-Zeit aktivierenchkconfig, um xend in das initscript einzufügen.
		chkconfig --level 345 xend
		xend wird nicht auf den Runlevels 3,4 und 5 starten.
		ntpd-Dienst wie folgt:
		# service ntpd start
# chkconfig ntpd on
ntpd-Dienstes sollte die Folgen der Zeitabweichung in jedem Fall minimieren.
		constant_tsc-Flag vorhanden ist. Um festzustellen, ob Ihre CPU das constant_tsc-Flag gesetzt hat, führen Sie den folgenden Befehl aus:
		$ cat /proc/cpuinfo | grep constant_tsc
constant_tsc-Bit. Falls keinerlei Ausgabe erfolgt, folgen Sie den unten stehenden Anweisungen.
	constant_tsc-Bit verfügt, deaktivieren Sie sämtliche Funktionen zur Energieverwaltung (BZ#513138). Jedes System hat mehrere Timer, die es zur Zeitmessung verwendet. Der TSC ist nicht stabil auf dem Host, was manchmal durch Änderungen an cpufreq verursacht werden kann, durch tiefen C-Status oder durch Migration auf einen Host mit einem schnelleren TSC. Um tiefe C-Stati, die den TSC anhalten können, zu vermeiden, fügen Sie auf dem Host "processor.max_cstate=1" zu den Boot-Optionen des Kernels in Grub hinzu:
	term Fedora (vmlinuz-2.6.29.6-217.2.3.fc11)
        root (hd0,0)
        kernel /vmlinuz-vmlinuz-2.6.29.6-217.2.3.fc11 ro root=/dev/VolGroup00/LogVol00 rhgb quiet processor.max_cstate=1
cpufreq (nur nötig auf Hosts ohne constant_tsc), indem Sie die Konfigurationsdatei /etc/sysconfig/cpuspeed bearbeiten und die Variablen MIN_SPEED und MAX_SPEED auf die höchstmögliche Frequenz ändern. Zulässige Höchstgrenzen finden Sie in den /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies-Dateien.
	| Red Hat Enterprise Linux | Zusätzliche Kernel-Parameter für den Gast | 
|---|---|
| 5.4 AMD64/Intel 64 mit der paravirtualisierten Uhr | Zusätzliche Parameter nicht notwendig | 
| 5.4 AMD64/Intel 64 ohne die paravirtualisierte Uhr | divider=10 notsc lpj=n | 
| 5.4 x86 mit der paravirtualisierten Uhr | Zusätzliche Parameter nicht notwendig | 
| 5.4 x86 ohne die paravirtualisierte Uhr | divider=10 clocksource=acpi_pm lpj=n | 
| 5.3 AMD64/Intel 64 | divider=10 notsc | 
| 5.3 x86 | divider=10 clocksource=acpi_pm | 
| 4.8 AMD64/Intel 64 | notsc divider=10 | 
| 4.8 x86 | clock=pmtmr divider=10 | 
| 3.9 AMD64/Intel 64 | Zusätzliche Parameter nicht notwendig | 
| 3.9 x86 | Zusätzliche Parameter nicht notwendig | 
/use pmtimer
virsh-Befehls auf einen anderen Host migriert werden. Der migrate-Befehl akzeptiert Parameter im folgenden Format:
		# virsh migrate --live GuestName DestinationURL
GuestName parameter represents the name of the guest which you want to migrate.
		DestinationURL parameter is the URL or hostname of the destination system. The destination system must run the same version of Fedora, be using the same hypervisor and have libvirt running.
		test1.bne.redhat.com nach test2.bne.redhat.com. Passen Sie die Host-Namen auf Ihre Umgebung an. Dieses Beispiel migriert eine virtuelle Maschine namens CentOS4test.
			Überprüfen Sie, dass der Gast läuft
test1.bne.redhat.com aus, ob CentOS4test läuft:
				[root@test1 ~]# virsh list Id Name State ---------------------------------- 10 CentOS4 running
Migrieren Sie den Gast
test2.bne.redhat.com durchzuführen. Fügen Sie /system an das Ende der Ziel-URL an, um libvirt mitzuteilen, dass Sie umfassenden Zugriff benötigen.
				# virsh migrate --live CentOS4test qemu+ssh://test2.bne.redhat.com/system
Warten Sie
virsh meldet nur Fehler. Der Gast wird solange weiterhin auf dem Quell-Host ausgeführt, bis er vollständig migriert ist.
				Überprüfen Sie, ob der Gast auf dem Ziel-Host angekommen ist
test2.bne.redhat.com aus, ob CentOS4test läuft:
				[root@test2 ~]# virsh list Id Name State ---------------------------------- 10 CentOS4 running
virt-manager.
		












ssh oder TLS und SSL von Remote aus verwalten.
	ssh-Paket stellt ein verschlüsseltes Netzwerkprotokoll zur Verfügung, mit Hilfe dessen Verwaltungsfunktionen sicher an entfernte Virtualisierungs-Server übertragen werden können. Das beschriebene Verfahren verwendet die libvirt-Verwaltungsverbindung, sicher getunnelt über eine SSH-Verbindung, um die Remote-Maschinen zu verwalten. Die Authentifizierung erfolgt mit SSH-Public-Key-Kryptografie und Passwörtern, die von Ihrem lokalen SSH-Agenten erfasst werden. Darüberhinaus wird die VNC-Konsole für jede virtuelle Gastmaschine über SSH getunnelt.
		virt-managervirt-manager ausführen werden. Falls ssh bereits konfiguriert ist, können Sie diesen Befehl überspringen.
				$ ssh-keygen -t rsa
virt-manager eine Kopie des öffentlichen Schlüssels für jede Remote-Maschine haben, auf der libvirt läuft. Kopieren Sie die Datei $HOME/.ssh/id_RSA.pub von der Maschine, die Sie für die Remote-Verwaltung verwenden wollen, mit Hilfe des scp-Befehls:
				$ scp $HOME/.ssh/id_rsa.pub root@somehost:/root/key-dan.pub
ssh-Befehl, um sich mit der Remote-Maschine als Root zu verbinden und fügen Sie die von Ihnen kopierte Datei in die Liste der autorisierten Schlüssel ein. Falls der Root-Benutzer auf dem Remote-Host noch keine Liste mit autorisierten Schlüsseln hat, stellen Sie sicher, dass die Dateiberechtigungen korrekt gesetzt sind.
				$ ssh root@somehost
# mkdir /root/.ssh
# chmod go-rwx /root/.ssh
# cat /root/key-dan.pub >> /root/.ssh/authorized_keys
# chmod go-rw /root/.ssh/authorized_keys
libvirt-Daemon (libvirtd)libvirt-Daemon bietet eine Schnittstelle zur Verwaltung virtueller Maschinen. Der libvirtd-Daemon muss installiert und gestartet sein auf jedem Remote-Host, den Sie verwalten möchten.
			$ ssh root@somehost
# chkconfig libvirtd on
# service libvirtd start
libvirtd und SSH konfiguriert sind, sollten Sie in der Lage sein, auf Ihre virtuellen Maschinen von Remote aus zuzugreifen und diese zu verwalten. Sie sollten nunmehr auch über VNC auf Ihre Gäste zugreifen können.
		libvirt-Verwaltungsverbindung öffnet einen TCP-Port für eingehende Verbindungen, welcher sicher verschlüsselt und authentifiziert ist basierend auf x509-Zertifikaten. Zusätzlich wird die VNC-Konsole für jede virtuelle Gastmaschine für die Verwendung von TLS mit x509-Zertifikatsauthentifizierung eingerichtet.
		libvirt-Server-Einrichtung/etc/xen/xend-config.sxp bearbeitet wird. Entfernen Sie in der Konfigurationsdatei die Kommentierung des Konfigurationsparameters (vnc-tls 1).
					/etc/xen/vnc-Verzeichnis benötigt die folgenden drei Dateien: 
						ca-cert.pem – Das CA-Zertifikat
								server-cert.pem – Das von der CA signierte Server-Zertifikat
								server-key.pem  – Den privaten Schlüssel des Servers
								(vnc-x509-verify 1)-Parameters.
					virt-manager und virsh Client-Einrichtunglibvirt-Verwaltungs-API über TLS zu aktivieren, müssen die CA- und Client-Zertifikate in /etc/pki platziert sein. Weitere Einzelheiten dazu finden Sie unter http://libvirt.org/remote.html.
					virt-manager-Benutzeroberfläche die ''-Option als Transportmechanismus beim Verbinden mit einem Host.
					virsh hat die URI das folgende Format:
					qemu://hostname.guestname/system für KVM.
							xen://hostname.guestname/ für Xen.
							$HOME/.pki zu platzieren. Es handelt sich um die folgenden drei Dateien:
		ca-cert.pem – Das CA-Zertifikat.
				libvirt-vnc oder clientcert.pem – Das von der CA signierte Client-Zertifikat.
				libvirt-vnc oder clientkey.pem – Der private Schlüssel des Clients.
				virsh list die folgenden Transportmodi:
		/var/run/libvirt/libvirt-sock und /var/run/libvirt/libvirt-sock-ro (für schreibgeschützte Verbindungen).
			libvirtd) muss auf der Remote-Maschine laufen und Port 22 muss für SSH-Zugang offen sein. Sie sollten ein Verfahren zur SSH-Schlüsselverwaltung nutzen (z. B. das ssh-agent-Dienstprogramm), andernfalls werden Sie nach einem Passwort gefragt.
			Ein Uniform Resource Identifier (URI) wird von virsh und libvirt verwendet, um mit einem Remote-Host zu verbinden. URIs können auch mit dem --connect-Parameter für den virsh-Befehl gebraucht werden, um einzelne Befehle oder Migrationen auf Remote-Hosts durchzuführen.
			driver[+transport]://[username@][hostname][:port]/[path][?extraparameters]
towada, unter Verwendung des SSH-Transports und dem SSH-Benutzernamen ccurran.
				xen+ssh://ccurran@towada/
towada unter Verwendung von TLS.
				xen://towada/
towada unter Verwendung von TLS. Der Parameter no_verify=1 weist libvirt an, das Zertifikat des Servers nicht zu überprüfen.
				xen://towada/?no_verify=1
towada unter Verwendung von SSH.
				qemu+ssh://towada/system
qemu+unix:///system?socket=/opt/libvirt/run/libvirt/libvirt-sock
test+tcp://10.1.1.10:5000/default
| Name | Transportmodus | Description | Beispielverwendung | 
|---|---|---|---|
| name | alle Modi | Der Name, der an die Remote-virConnectOpen-Funktion übergeben wird. Der Name wird in der Regel gebildet, indem Transport, Host-Name, Port-Nummer, Benutzername und zusätzliche Parameter von der Remote-URI entfernt werden. In bestimmten, sehr komplexen Fällen ist es jedoch ratsam, den Namen explizit anzugeben. | name=qemu:///system | 
| command | ssh und ext | Der externe Befehl. Für ext-Transport ist dies erforderlich. Für ssh ist der Standard ssh. Der PATH wird nach dem Befehl durchsucht. | command=/opt/openssh/bin/ssh | 
| socket | unix und ssh | Der Pfad zum UNIX-Domain-Socket, was den Standard außer Kraft setzt. Für ssh-Transport wird dies an den Remote-Netcat-Befehl übergeben (siehe netcat). | socket=/opt/libvirt/run/libvirt/libvirt-sock | 
| netcat | ssh | Der Name des Netcat-Befehls auf der entfernten Maschine. Der Standard ist nc. Für ssh-Transport konstruiert libvirt einen ssh-Befehl nach folgendem Schema: command -p port [-l username] hostname netcat -U socket. Dabei kann port, username, hostname als Teil der Remote-URI spezifiziert werden und command, netcat und socket stammen von zusätzlichen Parametern (oder vernünftigen Standards). | netcat=/opt/netcat/bin/nc | 
| no_verify | tls | Falls auf einen anderen Wert als Null eingestellt, deaktiviert dies die Überprüfung des Server-Zertifikats durch den Client. Beachten Sie, dass Sie zum Deaktivieren der Überprüfung des Client-Zertifikats oder der IP-Adresse durch den Server die libvirtd-Konfiguration ändern müssen. | no_verify=1 | 
| no_tty | ssh | Falls auf einen anderen Wert als Null eingestellt, fragt ssh nicht nach einem Passwort, falls es sich nicht automatisch bei der Remote-Maschine anmelden kann (zum Gebrauch von ssh-agent o. ä.). Verwenden Sie dies, wenn Sie keinen Zugriff auf ein Terminal haben, z. B. in grafischen Programmen, die libvirt verwenden. | no_tty=1 | 
Inhaltsverzeichnis
vmstat
						iostat
						lsof
						# lsof -i :5900 xen-vncfb 10635 root 5u IPv4 218738 TCP grumble.boston.redhat.com:5900 (LISTEN)
qemu-img
						systemTap
						crash
						xen-gdbserver
						sysrq
						sysrq t
						sysrq w
						sysrq c
						brtcl
				# brctl show
bridge name  bridge id            STP enabled    interfaces
xenbr0       8000.feffffffffff    no             vif13.0
                                                 pdummy0
                                                 vif0.0
# brctl showmacs xenbr0 port no mac addr is local? aging timer 1 fe:ff:ff:ff:ff:ff yes 0.00
# brctl showstp xenbr0 xenbr0 bridge id 8000.feffffffffff designated root 8000.feffffffffff root port 0 path cost 0 max age 20.00 bridge max age 20.00 hello time 2.00 bridge hello time 2.00 forward delay 0.00 bridge forward delay 0.00 aging time 300.01 hello timer 1.43 tcn timer 0.00 topology change timer 0.00 gc timer 0.02 flags vif13.0 (3) port id 8003 state forwarding designated root 8000.feffffffffff path cost 100 designated bridge 8000.feffffffffff message age timer 0.00 designated port 8003 forward delay timer 0.00 designated cost 0 hold timer 0.43 flags pdummy0 (2) port id 8002 state forwarding designated root 8000.feffffffffff path cost 100 designated bridge 8000.feffffffffff message age timer 0.00 designated port 8002 forward delay timer 0.00 designated cost 0 hold timer 0.43 flags vif0.0 (1) port id 8001 state forwarding designated root 8000.feffffffffff path cost 100 designated bridge 8000.feffffffffff message age timer 0.00 designated port 8001 forward delay timer 0.00 designated cost 0 hold timer 0.43 flags
ifconfig
						tcpdump
						ps
						pstree
						top
						kvmtrace
						kvm_stat
						xentop
						xm dmesg
						xm log
						virsh ist ein Befehlszeilen-Tool zur Verwaltung der Gäste und des Hypervisors.
	libvirt-Management-API an und fungiert als Alternative zum xm-Befehl und dem grafischen Gäste-Manager (virt-manager). Unprivilegierte Benutzer können virsh in schreibgeschütztem Modus nutzen. Sie können virsh dazu verwenden, Skripte für die Gastmaschinen auszuführen.
	| Befehl | Description | 
|---|---|
						help
					 | Zeigt grundlegende Hilfe-Informationen. | 
						list
					 | Listet alle Gäste auf. | 
						dumpxml
					 | Gibt die XML-Konfigurationsdatei für den Gast aus. | 
						create
					 | Erzeugt einen Gast anhand einer XML-Konfigurationsdatei und startet den neuen Gast. | 
						start
					 | Startet einen inaktiven Gast. | 
						destroy
					 | Zwingt einen Gast zum Beenden. | 
						define
					 | Gibt eine XML-Konfigurationsdatei für einen Gast aus. | 
						domid
					 | Zeit die Gast-ID an. | 
						domuuid
					 | Zeigt die Gast-UUID an. | 
						dominfo
					 | Zeigt Gastinformationen. | 
						domname
					 | Zeigt den Gastnamen. | 
						domstate
					 | Zeigt den Status eines Gasts an. | 
						quit
					 | Beendet das interaktive Terminal. | 
						reboot
					 | Startet einen Gast neu. | 
						restore
					 | Stellt einen zuvor in einer Datei gespeicherten Gast wieder her. | 
						resume
					 | Setzt einen angehaltenen Gast fort. | 
						save
					 | Speichert den aktuellen Zustand eines Gasts in einer Datei. | 
						shutdown
					 | Fährt einen Gast herunter. | 
						suspend
					 | Hält einen Gast an. | 
						undefine
					 | Löscht alle zu einem Gast gehörigen Dateien. | 
						migrate
					 | Migriert einen Gast auf einen anderen Host. | 
virsh-Befehle zur Verwaltung von Gast- und Hypervisor-Ressourcen:
	| Befehl | Description | 
|---|---|
						setmem
					 | Legt den zugewiesenen Speicher für einen Gast fest. | 
						setmaxmem
					 | Legt die Höchstgrenze an Speicher für den Hypervisor fest. | 
						setvcpus
					 | Ändert die Anzahl virtueller CPUs, die einem Gast zugewiesen sind. | 
						vcpuinfo
					 | Zeigt Informationen zur virtuellen CPU für einen Gast. | 
						vcpupin
					 | Steuert die Affinität einer virtuellen CPU für einen Gast. | 
						domblkstat
					 | Zeigt Blockgerätstatistiken für einen laufenden Gast. | 
						domifstat
					 | Zeigt Netzwerkschnittstellenstatistiken für einen laufenden Gast. | 
						attach-device
					 | Verknüpft ein Gerät mit einem Gast mittels einer Gerätdefinition in einer XML-Datei. | 
						attach-disk
					 | Verknüpft eine neue Festplatte mit einem Gast. | 
						attach-interface
					 | Verknüpft eine neue Netzwerkschnittstelle mit einem Gast. | 
						detach-device
					 | 
						Löst verknüpftes Gerät von einem Gast, nimmt dieselben XML-Beschreibungen wie der Befehl attach-device.
					 | 
						detach-disk
					 | Löst verknüpfte Festplatte von einem Gast. | 
						detach-interface
					 | Löst verknüpfte Netzwerkschnittstelle von einem Gast. | 
virsh-Optionen:
	| Befehl | Description | 
|---|---|
						version
					 | 
						Zeigt die Version von virsh.
					 | 
						nodeinfo
					 | Gibt Informationen über den Hypervisor aus. | 
virsh:
		# virsh connect {hostname OR URL}
<name> der Name der Maschine des Hypervisors ist. Um eine schreibgeschützte Verbindung herzustellen, hängen Sie an den oben aufgeführten Befehl -readonly an.
	virsh aus:
		# virsh dumpxml {domain-id, domain-name or domain-uuid}
stdout) aus. Sie können die Daten speichern, indem Sie die Ausgabe in eine Datei umleiten. Sehen Sie hier ein Beispiel für die Umleitung der Ausgabe in eine Datei namens guest.xml: 
# virsh dumpxmlDie DateiGuestID>guest.xml
guest.xml kann dazu verwendet werden, einen Gast wiederherzustellen (siehe Bearbeiten von Gastkonfigurationsdateien). Sie können diese XML-Konfigurationdatei bearbeiten, um zusätzliche Geräte zu konfigurieren oder Gäste hinzuzufügen. Werfen Sie einen Blick auf Abschnitt 18.1, „Benutzung von XML-Konfigurationsdateien mit virsh“ für mehr Informationen über die Modifizierung von virsh dumpxml-Dateien.
	virsh dumpxml-Ausgabe:
	# virsh dumpxml r5b2-mySQL01
<domain type='xen' id='13'>
    <name>r5b2-mySQL01</name>
    <uuid>4a4c59a7ee3fc78196e4288f2862f011</uuid>
    <bootloader>/usr/bin/pygrub</bootloader>
    <os>
        <type>linux</type>
        <kernel>/var/lib/libvirt/vmlinuz.2dgnU_</kernel>
        <initrd>/var/lib/libvirt/initrd.UQafMw</initrd>
        <cmdline>ro root=/dev/VolGroup00/LogVol00 rhgb quiet</cmdline>
    </os>
    <memory>512000</memory>
    <vcpu>1</vcpu>
    <on_poweroff>destroy</on_poweroff>
    <on_reboot>restart</on_reboot>
    <on_crash>restart</on_crash>
    <devices>
        <interface type='bridge'>
            <source bridge='xenbr0'/>
            <mac address='00:16:3e:49:1d:11'/>
            <script path='vif-bridge'/>
        </interface>
        <graphics type='vnc' port='5900'/>
        <console tty='/dev/pts/4'/>
    </devices>
</domain>
dumpxml verwenden (siehe dumpxml option (refer to Erstellen eines XML-Speicherauszugs einer virtuellen Maschine (Konfigurationsdatei)). Um einen Gast mit virsh aus einer XML-Datei zu erzeugen:
		# virsh create configuration_file.xml
dumpxml zu verwenden (siehe Erstellen eines XML-Speicherauszugs einer virtuellen Maschine (Konfigurationsdatei)), können Gäste auch bearbeitet werden, während diese laufen oder offline sind. Diese Möglichkeit bietet Ihnen der virsh edit-Befehl. Um zum Beispiel einen Gast namens softwaretesting zu bearbeiten:
		# virsh edit softwaretesting
$EDITOR-Shell-Parameter (auf vi voreingestellt).
	virsh anzuhalten:
		# virsh suspend {domain-id, domain-name or domain-uuid}
resume (Fortsetzen eines Gastes) wieder fortgesetzt werden.
	virsh wieder fortzusetzen, verwenden Sie die resume-Option:
		# virsh resume {domain-id, domain-name or domain-uuid}
suspend- und resume-Operationen beibehalten.
	virsh-Befehls in einer Datei:
		# virsh save {domain-name, domain-id or domain-uuid} filename
restore (Wiederherstellen eines Gasts) wiederherstellen. Die "save"-Option ist ähnlich der "pause"-Option, unterscheidet sich jedoch insofern, dass zusätzlich zum Anhalten der aktuelle Zustand des Gasts gespeichert wird.
	virsh wiederherstellen, den Sie zuvor mit der virsh save-Option gespeichert haben (Speichern eines Gasts):
		# virsh restore filename
virsh:
		# virsh shutdown {domain-id, domain-name or domain-uuid}
on_shutdown  der Gastkonfigurationsdatei ändern.
	virsh:
		#virsh reboot {domain-id, domain-name or domain-uuid}
on_reboot  der Gastkonfigurationsdatei ändern.
	virsh:
		# virsh destroy {domain-id, domain-name or domain-uuid}
virsh destroy kann dabei möglicherweise das Gastdateisystem beschädigen. Verwenden Sie die destroy-Option nur, wenn der Gast nicht mehr reagiert. Für paravirtualisierte Gäste sollten Sie stattdessen die Option shutdown verwenden (Herunterfahren eines Gasts).
	# virsh domid {domain-name or domain-uuid}
# virsh domname {domain-id or domain-uuid}
# virsh domuuid {domain-id or domain-name}
virsh domuuid-Ausgabe:
	# virsh domuuid r5b2-mySQL01 4a4c59a7-ee3f-c781-96e4-288f2862f011
virsh zusammen mit der Domain-ID, dem Domain-Namen oder der UUID des Gasts verwenden, können Sie Informationen über den angegebenen Gast anzeigen:
		# virsh dominfo {domain-id, domain-name or domain-uuid}
virsh dominfo-Ausgabe:
	# virsh dominfo r5b2-mySQL01 id: 13 name: r5b2-mysql01 uuid: 4a4c59a7-ee3f-c781-96e4-288f2862f011 os type: linux state: blocked cpu(s): 1 cpu time: 11.0s max memory: 512000 kb used memory: 512000 kb
# virsh nodeinfo
virsh nodeinfo-Ausgabe:
	# virsh nodeinfo CPU model x86_64 CPU (s) 8 CPU frequency 2895 Mhz CPU socket(s) 2 Core(s) per socket 2 Threads per core: 2 Numa cell(s) 1 Memory size: 1046528 kb
virsh anzuzeigen:
		# virsh list
--inactive, um inaktive Gäste aufzulisten (also Gäste, die zwar definiert wurden, zur Zeit jedoch nicht aktiv sind, und
	--all, um alle Gäste aufzulisten. Zum Beispiel:
	# virsh list --all Id Name State ---------------------------------- 0 Domain-0 running 1 Domain202 paused 2 Domain010 inactive 3 Domain9600 crashed
virsh list kann kategorisiert werden als eine von sechs möglichen Stati (nachfolgend erläutert):
	running bezieht sich auf Gäste, die derzeit auf einer CPU aktiv sind.
			blocked sind blockiert und werden nicht ausgeführt bzw. können nicht ausgeführt werden. Dies können Gäste sein, die auf eine I/O warten (traditionell der "wait"-Status) oder die sich im Ruhezustand befinden.
			paused-Status bezieht sich auf Gäste, die angehalten wurden. Das ist der Fall, wenn ein Administrator die Schaltfläche pause im virt-manager klickt oder xm pause bzw. virsh suspend ausführt. Wenn ein Gast angehalten ist, verbraucht er weiterhin Arbeitsspeicher und andere Ressourcen, nimmt jedoch nicht am Scheduling teil und erhält keine CPU-Ressourcen vom Hypervisor.
			shutdown ist für Gäste, die gerade dabei sind herunterzufahren. Dem Gast wurde das Signal zum Herunterfahren gesendet und sollte im Begriff sein, seine Operationen zu beenden. Dies funktionert ggf. nicht mit allen Betriebssystemen, denn einige Betriebssysteme reagieren nicht auf diese Signale.
			dying sind "am Sterben", d. h. der Gast wurde nicht vollständig heruntergefahren oder ist abgestürzt.
			crashed schlugen bei der Ausführung fehl und laufen nicht mehr. Dieser Status kann nur auftreten, wenn der Gast konfiguriert wurde, nach einem Absturz nicht neu zu starten.
			virsh anzuzeigen:
		# virsh vcpuinfo {domain-id, domain-name or domain-uuid}
virsh vcpuinfo-Ausgabe:
	# virsh vcpuinfo r5b2-mySQL01 VCPU: 0 CPU: 0 State: blocked CPU time: 0.0s CPU Affinity: yy
# virsh vcpupin {domain-id, domain-name or domain-uuid} vcpu, cpulist
vcpu die Nummer der virtuellen VCPU und cpulist die Anzahl der physischen CPUs angibt.
	virsh die Anzahl der CPUs zu ändern, die einem Gast zugewiesen sind:
		# virsh setvcpus {domain-name, domain-id or domain-uuid} count
count-Wert darf die Anzahl, die bei der Erstellung des Gasts festgelegt wurde, nicht überschreiten.
	virsh zu ändern:
		# virsh setmem {domain-id or domain-name} count
virsh domblkstat, um Blockgerätstatistiken für einen laufenden Gast anzuzeigen.
		# virsh domblkstat GuestName block-device
virsh domifstat, um Netzwerkgerätstatistiken für einen laufenden Gast anzuzeigen.
		# virsh domifstat GuestName interface-device 
virsh-Befehls auf einen anderen Host migriert werden. Migrieren Sie eine Domain auf einen anderen Host. Fügen Sie --live für eine Live-Migration hinzu. Der migrate-Befehl akzeptiert Parameter im folgenden Format:
		# virsh migrate --live GuestName DestinationURL
--live-Parameter ist optional. Fügen Sie den --live-Parameter für Live-Migrationen hinzu.
	GuestName parameter represents the name of the guest which you want to migrate.
	DestinationURL parameter is the URL or hostname of the destination system. The destination system must run the same version of Fedora, be using the same hypervisor and have libvirt running.
	virsh. Um virtuelle Netzwerke aufzulisten:
		# virsh net-list
# virsh net-list Name State Autostart ----------------------------------------- default active yes vnet1 active yes vnet2 active yes
# virsh net-dumpxml NetworkName
# virsh net-dumpxml vnet1
<network>
  <name>vnet1</name>
  <uuid>98361b46-1581-acb7-1643-85a412626e70</uuid>
  <forward dev='eth0'/>
  <bridge name='vnet0' stp='on' forwardDelay='0' />
  <ip address='192.168.100.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.100.128' end='192.168.100.254' />
    </dhcp>
  </ip>
</network>
virsh net-autostart network-name — Startet automatisch ein Netzwerk spezifiziert als network-name.
			virsh net-create XMLfile — Generiert und startet ein neues Netzwerk unter Verwendung einer vorhandenen XML-Datei.
			virsh net-define XMLfile — Generiert ein neues Netzwerkgerät von einer vorhandenen XML-Datei, ohne dieses zu starten.
			virsh net-destroy network-name — Zerstört ein Netzwerk spezifiziert als network-name.
			virsh net-name networkUUID — Konvertiert eine angegebene networkUUID in einen Netzwerknamen.
			virsh net-uuid network-name — Konvertiert einen spezifizierten network-name in eine Netzwerk-UUID.
			virsh net-start nameOfInactiveNetwork — Startet ein inaktives Netzwerk.
			virsh net-undefine nameOfInactiveNetwork — Löscht die Definition von einem inaktiven Netzwerk.
			virt-manager).
	virt-manager bietet eine grafische Ansicht der Hypervisoren und Gäste auf Ihrem System und auf entfernten Maschinen. Sie können mit Hilfe von virt-manager sowohl paravirtualisierte als auch voll virtualisierte Gäste definieren. virt-manager kann zudem Aufgaben zur Verwaltung der Virtualisierung durchführen, u. a.:
	

virt-manager verfügbar sind. Das UUID-Feld zeigt den global eindeutigen Identifier für die virtuelle Maschine dar.
		
virt-manager
127.0.0.1) des lokalen Hosts (dom0). Dadurch ist sichergestellt, dass nur diejenigen mit Shell-Privilegien auf dem Host auf den virt-manager und die virtuelle Maschine via VNC zugreifen können.
			virt-manager 'sticky key'-Fähigkeit des Virtual Machine Manager verwenden, um diese Tastaturfolge zu senden. Sie müssen eine Modifikatortaste (wie Strg oder Alt) dreimal drücken und dann wird die Taste, die Sie angeben, solange als aktiv behandelt, bis die nächste Taste, die keine Modifikatortaste ist, gedrückt wird. Anschließend können Sie Strg+Alt+F11 an den Gast senden, indem Sie die Tastaturfolge 'Strg Strg Strg Alt+F1' eingeben.
		virt-manager-Sitzung zu starten, öffnen Sie das Anwendungen-Menü, anschließend das Systemwerkzeuge-Menü und wählen dort den  (virt-manager).
		virt-manager erscheint.
		
virt-managervirt-manager auch von Remote aus gestartet werden unter Verwendung von SSH, wie im folgenden Befehl veranschaulicht: 
ssh -X host's address[remotehost]# virt-manager
			 Die Verwendung von ssh bei der Verwaltung virtueller Maschinen wird näher erläutert in Abschnitt 13.1, „Remote-Verwaltung mit SSH“.
		



























DHCP-Bereichs


Inhaltsverzeichnis
ftpdftpdvirsh, um einen Gast namens TestServer so einzustellen, dass dieser automatisch startet, wenn der Host hochfährt.
		# virsh autostart TestServer
Domain TestServer marked as autostarted
--disable-Parameter.
		# virsh autostart --disable TestServer
Domain TestServer unmarked as autostarted
Installieren Sie das KVM-Paket
# yum install kvm
Überprüfen Sie, welcher Kernel verwendet wird
uname-Befehl, um festzustellen, welcher Kernel ausgeführt wird:
					$ uname -r 2.6.23.14-107.fc8xen
2.6.23.14-107.fc8xen", läuft auf dem System. Falls der Standard-Kernel, "2.6.23.14-107.fc8", ausgeführt wird, können Sie diesen Unterschritt überspringen.
					Wechsel vom Xen-Kernel zum Standard-Kernel
grub.conf-Datei wird festgelegt, welcher Kernel gebootet wird. Um den Standard-Kernel zu ändern, bearbeiten Sie die /boot/grub/grub.conf-Datei wie unten veranschaulicht.
							default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
        root (hd0,0)
        kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
        root (hd0,0)
        kernel /xen.gz-2.6.23.14-107.fc8
        module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        module /initrd-2.6.23.14-107.fc8xen.img
0 (oder die Nummer für den Standard-Kernel):
							default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
        root (hd0,0)
        kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
        root (hd0,0)
        kernel /xen.gz-2.6.23.14-107.fc8
        module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        module /initrd-2.6.23.14-107.fc8xen.img
Starten Sie neu, um den neuen Kernel zu laden
$ lsmod | grep kvm kvm_intel 85992 1 kvm 222368 2 ksm,kvm_intel
kvm-Module sowie entweder das kvm_intel-Modul oder das kvm_amd-Modul vorhanden.
					Installieren Sie die Xen-Pakete
# yum install kernel-xen xen
Überprüfen Sie, welcher Kernel verwendet wird
uname-Befehl, um festzustellen, welcher Kernel derzeit läuft.
					$ uname -r 2.6.23.14-107.fc8
2.6.23.14-107.fc8", läuft auf dem System. Dies ist der Standard-Kernel. Wenn der Kernel auf xen endet (z. B. 2.6.23.14-107.fc8xen), dann läuft der Xen-Kernel bereits und Sie können diesen Unterschritt überspringen.
					Wechsel vom Standard-Kernel zum Xen-Kernel
grub.conf-Datei wird festgelegt, welcher Kernel gebootet wird. Um den Standard-Kernel zu ändern, bearbeiten Sie die /boot/grub/grub.conf-Datei wie unten veranschaulicht.
							default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
        root (hd0,0)
        kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
        root (hd0,0)
        kernel /xen.gz-2.6.23.14-107.fc8
        module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        module /initrd-2.6.23.14-107.fc8xen.img
1 (oder die Nummer für den Xen-Kernel):
							default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
        root (hd0,0)
        kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.23.14-107.fc82.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
        root (hd0,0)
        kernel /xen.gz-2.6.23.14-107.fc8
        module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        module /initrd-2.6.23.14-107.fc8xen.img
Starten Sie neu, um den neuen Kernel zu laden
uname-Befehl:
					$ uname -r 2.6.23.14-107.fc8xen
xen endet, wird der Xen-Kernel ausgeführt.
					qemu-img-Befehlszeilen-Tool wird zur Formatierung verschiedener von Xen und KVM genutzter Dateisysteme verwendet. qemu-img sollte verwendet werden, um virtualisierte Gastabbilder zu formatieren, zusätzliche Speichergeräte und Netzwerkspeicher hinzuzufügen. Die Verwendung und die verfügbaren Optionen von qemu-img werden im Folgenden erläutert.
		# qemu-img create [-6] [-e] [-b base_image] [-f format] filename [size]
# qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
qcow oder cow. Die leeren Sektoren werden erkannt und für das Zielabbild ausgeblendet.
		info-Parameter zeigt Informationen über ein Disk-Abbild. Das Format der info-Option ist wie folgt:
			# qemu-img info [-f format] filename
rawqemu-img info, um die Größe festzustellen, die wirklich vom Abbild gebraucht wird, oder ls -ls unter Unix/Linux.
					qcow2qcowcowcow-Format ist nur zwecks Kompatibilität mit älteren Versionen enthalten. Es funktioniert nicht mit Windows.
					vmdkclooppdflush-Prozess. pdflush beendet Prozesse, um Speicher freizugeben und das System so vor einem Absturz zu bewahren. pdflush kann Fehler im Dateisystem verursachen und kann dazu führen, dass die virtualisierten Gäste nicht mehr starten können.
		(0,5 x RAM) + (Overcommit-Rate x RAM) = Empfohlene Swap-Größe
/etc/grub.conf-Datei sicher und richtig ändern, um den virtualisierten Kernel zu verwenden. Sie müssen den xen-Kernel verwenden, um den Xen-Hypervisor auszuführen. Kopieren Sie ihren existierenden xen-Kernel-Eintrag. Stellen Sie dabei sicher, dass Sie alle der wichtigen Zeilen kopieren, ansonsten wird Ihr System Probleme beim Booten haben (initrd wird die Länge 0' haben). Wenn Sie xen-Hypervisor-spezifische Werte benötigen, müssen Sie diese in der xen-Zeile Ihres Grub-Eintrages hinzufügen.
		grub.conf-Eintrag eines Systems, auf dem das kernel-xen-Paket läuft. Die grub.conf auf Ihrem System kann davon abweichen. Der wichtige Teil in dem unteren Beispiel ist der Abschnitt ab der title-Zeile bis zum Beginn der nächsten neuen Zeile.
		#boot=/dev/sda
default=0
timeout=15
#splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
title Fedora (2.6.23.14-107.fc8xen)
        root (hd0,0)
        kernel /xen.gz-2.6.23.14-107.fc8 com1=115200,8n1
        module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00
        module /initrd-2.6.23.14-107.fc8xen.img
grub.confgrub.conf kann sehr unterschiedlich aussehen, falls sie manuell bearbeitet wurde oder von einem Beispiel kopiert wurde.
			dom0_mem=256M in der xen-Zeile in Ihrer grub.conf eingeben. Sehen Sie eine modifizierte Version der Grub-Konfigurationsdatei im folgenden Beispiel:
		#boot=/dev/sda
default=0
timeout=15
#splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
title Fedora (2.6.23.14-107.fc8xen)
        root (hd0,0)
        kernel /xen.gz-2.6.23.14-107.fc8 com1=115200,8n1 dom0_mem=256MB
        module /vmlinuz-2.6.23.14-107.fc8xen ro
        root=/dev/VolGroup00/LogVol00
        module /initrd-2.6.23.14-107.fc8xen.img
$ grep -E 'svm|vmx' /proc/cpuinfo
vmx-Eintrag, wodurch angezeigt wird, dass ein Intel-Prozessor mit den Intel VT Erweiterungen vorhanden ist:
		flags   : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush 
        dts acpi mmx fxsr sse sse2 ss ht  tm syscall lm constant_tsc pni monitor ds_cpl
        vmx est tm2 cx16 xtpr lahf_lm
svm-Eintrag, wodurch angezeigt wird, dass ein AMD-Prozessor mit den AMD-V Erweiterungen vorhanden ist:
		flags   :  fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush
        mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16
        lahf_lm cmp_legacy svm cr8legacy ts fid vid ttp tm stc
flags:" Inhalt kann mehrmals erscheinen für jeden Hyperthread, Kern oder CPU auf dem System.
		#!/bin/bash
declare -i IS_HVM=0
declare -i IS_PARA=0
check_hvm()
{
        IS_X86HVM="$(strings /proc/acpi/dsdt | grep int-xen)"
          if [ x"${IS_X86HVM}" != x ]; then
           echo "Guest type is full-virt x86hvm"
           IS_HVM=1
        fi
}
check_para()
{
        if $(grep -q control_d /proc/xen/capabilities); then
          echo "Host is dom0"
          IS_PARA=1
        else
          echo "Guest is para-virt domU"
          IS_PARA=1
        fi
}
if [ -f /proc/acpi/dsdt ]; then 
        check_hvm
fi
if [ ${IS_HVM} -eq 0 ]; then
        if [ -f /proc/xen/capabilities ] ; then
                check_para
        fi
     fi
if [ ${IS_HVM} -eq 0 -a ${IS_PARA} -eq 0 ]; then
        echo "Baremetal platform"
fi
virsh capabilites.
			macgen.py. Nun können Sie von diesem Verzeichnis aus das Skript mittels ./macgen.py starten und es wird eine neue MAC-Adresse generieren. Die Ausgabe sollte etwa wie dieses Beispiel aussehen:
		$ ./macgen.py 
00:16:3e:20:b0:11
        
#!/usr/bin/python
# macgen.py script to generate a MAC address for virtualized guests on Xen
#
import random
#
def randomMAC():
        mac = [ 0x00, 0x16, 0x3e,
                random.randint(0x00, 0x7f),
                random.randint(0x00, 0xff),
                random.randint(0x00, 0xff) ]
        return ':'.join(map(lambda x: "%02x" % x, mac))
#
print randomMAC()
python-virtinst verwenden, um eine neue MAC-Adresse und UUID zur Verwendung in einer Gastkonfigurationsdatei zu generieren:
			# echo 'import virtinst.util ; print\ virtinst.util.uuidToString(virtinst.util.randomUUID())' | python # echo 'import virtinst.util ; print virtinst.util.randomMAC()' | python
#!/usr/bin/env python # -*- mode: python; -*- print "" print "New UUID:" import virtinst.util ; print virtinst.util.uuidToString(virtinst.util.randomUUID()) print "New MAC:" import virtinst.util ; print virtinst.util.randomMAC() print ""
ftpdvsftpd bietet Zugang zu Installationsbäumen für paravirtualisierte Gäste oder anderen Daten. Falls Sie während der Server-Installation vsftpd noch nicht installiert haben, können Sie das RPM-Paket im Server-Verzeichnis Ihres Installationsmediums finden und es mittels rpm -ivh vsftpd*.rpm installieren (beachten Sie, dass sich das RPM-Paket in Ihrem aktuellen Verzeichnis befinden muss).
		vsftpd zu konfigurieren, bearbeiten Sie /etc/passwd mit vipw und ändern Sie das FTP-Benutzerverzeichnis auf das Verzeichnis, in dem Sie die Installationsbäume für Ihre paravirtualisierten Gäste ablegen möchten. Ein Beispieleintrag für Ihren FTP-Benutzer könnte wie folgt aussehen:
				ftp:x:14:50:FTP User:/xen/pub:/sbin/nologin
vsftpd beim Hochfahren automatisch zu starten, verwenden Sie das chkconfig-Dienstprogramm, um den automatischen Start von vsftpd zu aktivieren.
				chkconfig --list vsftpd, dass vsftpd nicht aktiviert ist:
				$ chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
chkconfig --levels 345 vsftpd on aus, damit vsftpd automatisch für Runlevel 3, 4 und 5 gestartet wird.
				chkconfig --list vsftpd, um sich zu vergewissern, dass vsftdp für den automatischen Start beim Hochfahren des Systems aktiviert wurde:
				$ chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
service vsftpd start vsftpd, um den vsftpd-Dienst zu starten:
				$service vsftpd start vsftpd Starting vsftpd for vsftpd: [ OK ]
udev verwenden, um LUN-Persistenz zu implementieren. Bevor Sie die LUN-Persistenz auf Ihrem System implementieren, stellen Sie sicher, dass Sie die passenden UUIDs erhalten. Sobald Sie diese erhalten, können Sie die LUN-Persistenz konfigurieren, indem Sie die Datei scsi_id bearbeiten, die sich im Verzeichnis /etc befindet. Sobald Sie diese Datei in einem Texteditor geöffnet haben, müssen Sie die folgende Zeile auskommentieren:
			# options=-b
# options=-g
scsi_id:
		# scsi_id -g -s /block/sdc *3600a0b80001327510000015427b625e*
20-names.rules bearbeiten, die sich im Verzeichnis /etc/udev/rules.d befindet. Die Regeln zur Benennung der Geräte haben das folgende Format:
		# KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="UUID", NAME="devicename"
UUID und den devicename mit dem oben erhaltenen UUID-Eintrag. Die Regel sollte daher wie folgt lauten:
		KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e", NAME="mydevicename"
/dev/sd* übereinstimmen, zu aktivieren, um die festgelegten UUID zu untersuchen. Wird ein passendes Gerät gefunden, wird ein Geräteknoten mit der Bezeichnung /dev/devicename erstellt. In diesem Beispiel ist der Geräteknoten /dev/mydevice. Abschließend müssen Sie noch die Datei /etc/rc.local anhängen mit der Zeile:
		/sbin/start_udev
multipath.conf, die sich im Verzeichnis /etc/ befindet, bearbeiten:
			multipath  {  
             wwid       3600a0b80001327510000015427b625e
             alias      oramp1
}
multipath  {  
             wwid       3600a0b80001327510000015427b6
             alias      oramp2
}
multipath  {  
             wwid       3600a0b80001327510000015427b625e
             alias      oramp3
}
multipath  {  
             wwid       3600a0b80001327510000015427b625e
             alias      oramp4
}
/dev/mpath/oramp1, /dev/mpath/oramp2, /dev/mpath/oramp3 und dev/mpath/oramp4. Diese Geräte befinden sich im Verzeichnis /dev/mpath. Die LUN-Namen bleiben auch über Neustarts hinaus bestehen, da Alias-Namen auf den wwid (weltweiten ID) der LUNs erstellt werden.
		/sbin/service smartd stop /sbin/chkconfig --del smartd
uuidgen ausführen. Für die vif-Einträge müssen Sie eine eindeutige MAC-Adresse für jeden Gast definieren (falls Sie eine Gastkonfiguration von einen existierenden Gast kopieren, können Sie dazu ein Skript erstellen). Falls Sie eine Sie eine existierende Gastkonfigurationsdatei auf einen neuen Host verschieben, müssen Sie für die Xen-Bridge-Information den Eintrag xenbr aktualisieren, damit er mit Ihren lokalen Netzwerkkonfigurationen übereinstimmt. Für die Geräteinträge müssen Sie die Einträge in dem 'disk='-Abschnitt modifizieren, um auf das korrekte Gastabbild zu verweisen.
		/etc/sysconfig/network modifizieren, um mit den neuen Host-Namen des Gasts übereinzustimmen.
		HWADDR-Adresse der  /etc/sysconfig/network-scripts/ifcfg-eth0-Datei modifizieren, um mit den Ausgabe von ifconfig eth0 übereinzustimmen und falls Sie eine statische IP-Adresse verwenden, müssen Sie den Eintrag IPADDR modifizieren.
		nameuuiduuidgen erstellt werden. Eine Beispiel-Ausgabe der UUID:
					$ uuidgen a984a14f-4191-4d14-868e-329906b211e5
vifxenbr-Eintrag anpassen, um mit Ihrer lokalen Netzwerkkonfiguration übereinzustimmen (Sie können die Bridge-Informationen mit Hilfe des Befehls brctl show erhalten.)
							disk=-Abschnitt eingestellt haben, um auf das richtige Gastabbild zu verweisen.
							/etc/sysconfig/networkHOSTNAME-Eintrag auf den neuen hostname des Gasts.
					/etc/sysconfig/network-scripts/ifcfg-eth0HWADDR-Adresse auf die Ausgabe von ifconfig eth0.
							IPADDR-Eintrag, falls statische IP-Adressen verwendet werden.
							libvirt vereinfachen können.
	libvirt zu schreiben.
	virsh kann mit XML-Konfigurationsdateien umgehen. Sie können dies zu ihrem Vorteil verwenden beim Skripting großer Deployments mit speziellen Optionen. Sie können Geräte, die in einer XML-Datei definiert sind, zu einem laufenden paravirtualisierten Gast hinzufügen. Um beispielsweise eine ISO-Datei als hdc zu einem laufenden Gast hinzuzufügen, erstellen Sie eine XML-Datei: 
# cat satelliteiso.xml
<disk type="file" device="disk">
        <driver name="file"/>
        <source file="/var/lib/libvirt/images/rhn-satellite-5.0.1-11-redhat-linux-as-i386-4-embedded-oracle.iso"/>
        <target dev="hdc"/>
        <readonly/>
</disk>
			 Führen Sie virsh attach-device aus, um das ISO als hdc mit einem Gast namens "satellite" zu verknüpfen: 
# virsh attach-device Satellite satelliteiso.xml
/etc/modprobe.conf eingestellt werden. Bearbeiten Sie /etc/modprobe.conf und fügen Sie die nachfolgende Zeile ein:
		options loop max_loop=64
phy: block device oder tap:aio. Um dasselbe für einen voll virtualisierten Gast zu machen, verwenden Sie den Befehl phy: device oder file: file .
		cat /proc/cpuinfo | grep vmx svm aus. Falls der Befehl eine Ausgabe liefert, sind die Virtualisierungserweiterungen nunmehr aktiviert. Falls keine Ausgabe erscheint, verfügt Ihr System eventuell nicht über die Virtualisierungserweiterungen oder es wurden nicht die richtigen BIOS-Einstellungen aktiviert.
				libvirt-Virtualisierungs-API.
				/usr/share/doc/xen-<version-number>/ ist das Verzeichnis, das umfassende Informationen über den Xen-Paravirtualisierungs-Hypervisor und damit verbundene Verwaltungs-Tools enthält, inklusive verschiedener Beispielkonfigurationen, hardware-spezifische Informationen sowie der aktuellen Xen-Upstream-Benutzerdokumentation.
				man virsh und /usr/share/doc/libvirt-<version-number> — Enthält Unterbefehle und -optionen für das virsh-Dienstprogramm zur Verwaltung virtueller Maschinen, sowie umfassende Informationen über die libvirt-Virtualisierungsbibliothek-API.
				/usr/share/doc/gnome-applet-vm-<version-number> — Dokumentation für das grafische Menüleisten-Applet von GNOME, das lokal laufende virtuelle Maschinen überwacht und verwaltet.
				/usr/share/doc/libvirt-python-<version-number> — Liefert Details zu den Python-Bindings für die libvirt-Bibliothek. Das Paket libvirt-python ermöglicht Python-Entwicklern das Erstellen von Programmen, die eine Schnittstelle zur libvirt-Virtualisierungs-Management-Bibliothek darstellen.
				/usr/share/doc/python-virtinst-<version-number> — Liefert Dokumentation zum Befehl virt-install, der beim Starten der Installation von Fedora- und Linux-Distributionen innerhalb virtueller Maschinen behilflich ist.
				/usr/share/doc/virt-manager-<version-number> — Liefert Dokumentation zum Virtual Machine Manager, einem grafischen Tool zur Verwaltung von virtuellen Maschinen.
				| Versionsgeschichte | |||
|---|---|---|---|
| Version 12.1.3 | Mon Oct 12 2009 | ||
					
  | |||
dom0 bezeichnet die Host-Instanz von Linux, auf welcher der Hypervisor ausgeführt wird, der die Virtualisierung von Gastbetriebssystemen ermöglicht. Dom0 läuft auf der physischen Hardware und verwaltet ebendiese Hardware sowie die Ressourcenzuteilung für sich selbst und Gastbetriebssysteme.
			domU bezeichnet das Gastbetriebssystem, das auf dem Host-System (Domains) läuft.
			ext2 und ext3-Dateisystem-Identifier, RAID-Gerät-Identifierfiers, -iuCSI an-Geräte-Iice identfisowie Identifier für ers-AAC addn undeand elle Rechnerferät.
			
