|
|
| Zeile 92: |
Zeile 92: |
|
| |
|
| * [[Domain-Administration]] | | * [[Domain-Administration]] |
|
| |
| =Domain-Administration=
| |
| {| border=1 cellpadding="2"
| |
| | Kommando
| |
| | Bedeutung
| |
| |-
| |
| | help
| |
| | Hilfe ausgeben
| |
| |-
| |
| | attach-device
| |
| | Gerät aus einer XML-Datei anhängen
| |
| |-
| |
| | attach-disk
| |
| | Plattengerät anhängen
| |
| |-
| |
| | attach-interface
| |
| | Netzwerkschnittstelle verbinden
| |
| |-
| |
| | autostart
| |
| | Eine Domain automatisch starten
| |
| |-
| |
| | capabilities
| |
| | Fähigkeiten
| |
| |-
| |
| | cd
| |
| | change the current directory
| |
| |-
| |
| | connect
| |
| | (Wieder)verbinden mit Hypervisor
| |
| |-
| |
| | console
| |
| | Verbindung mit der Gast-Konsole
| |
| |-
| |
| | cpu-baseline
| |
| | compute baseline CPU
| |
| |-
| |
| | cpu-compare
| |
| | compare host CPU with a CPU described by an XML file
| |
| |-
| |
| | create
| |
| | Eine Domain aus einer XML-Datei erstellen
| |
| |-
| |
| | start
| |
| | Eine (zuvor definierte) inaktive Domain starten
| |
| |-
| |
| | destroy
| |
| | Domain löschen
| |
| |-
| |
| | detach-device
| |
| | Gerät von einer XML-Datei lösen
| |
| |-
| |
| | detach-disk
| |
| | Plattengerät abtrennen
| |
| |-
| |
| | detach-interface
| |
| | Netzwerkschnittstelle abhängen
| |
| |-
| |
| | define
| |
| | Definiere (aber starte keine) Domain aus einer XML-Datei
| |
| |-
| |
| | domid
| |
| | Einen Domain-Namen oder -UUID in Domain-ID konvertieren
| |
| |-
| |
| | domuuid
| |
| | Einen Domain-Namen oder -ID in Domain-UUID konvertieren
| |
| |-
| |
| | dominfo
| |
| | Domain-Informationen
| |
| |-
| |
| | domjobinfo
| |
| | domain job information
| |
| |-
| |
| | domjobabort
| |
| | abort active domain job
| |
| |-
| |
| | domname
| |
| | Eine Domain-ID oder UUID in Domain-Namen konvertieren
| |
| |-
| |
| | domstate
| |
| | Domain-Status
| |
| |-
| |
| | domblkstat
| |
| | Geräteblockstatistiken für eine Domain abrufen
| |
| |-
| |
| | domifstat
| |
| | Statistiken der Netzwerkschnittstelle für eine Domain abrufen
| |
| |-
| |
| | dommemstat
| |
| | get memory statistics for a domain
| |
| |-
| |
| | domblkinfo
| |
| | domain block device size information
| |
| |-
| |
| | domxml-from-native
| |
| | Convert native config to domain XML
| |
| |-
| |
| | domxml-to-native
| |
| | Convert domain XML to native config
| |
| |-
| |
| | dumpxml
| |
| | Domain-Informationen in XML
| |
| |-
| |
| | edit
| |
| | edit XML configuration for a domain
| |
| |-
| |
| | find-storage-pool-sources
| |
| | discover potential storage pool sources
| |
| |-
| |
| | find-storage-pool-sources-as
| |
| | find potential storage pool sources
| |
| |-
| |
| | freecell
| |
| | NUMA freier Speicher
| |
| |-
| |
| | hostname
| |
| | Hypervisor-Hostname ausgeben
| |
| |-
| |
| | list
| |
| | Domains auflisten
| |
| |-
| |
| | migrate
| |
| | Domain auf anderen Host migrieren
| |
| |-
| |
| | migrate-setmaxdowntime
| |
| | set maximum tolerable downtime
| |
| |-
| |
| | net-autostart
| |
| | Ein Netzwerk automatisch starten
| |
| |-
| |
| | net-create
| |
| | Netzwerk aus einer XML-Datei erstellen
| |
| |-
| |
| | net-define
| |
| | Definiere (aber starte kein) Netzwerk aus einer XML-Datei
| |
| |-
| |
| | net-destroy
| |
| | Netzwerk löschen
| |
| |-
| |
| | net-dumpxml
| |
| | Netzwerk-Informationen in XML
| |
| |-
| |
| | net-edit
| |
| | edit XML configuration for a network
| |
| |-
| |
| | net-list
| |
| | Netzwerke auflisten
| |
| |-
| |
| | net-name
| |
| | Eine Netzwerk-UUID in einen Netzwerk-Namen konvertieren
| |
| |-
| |
| | net-start
| |
| | Ein (zuvor definiertes) inaktives Netzwerk starten
| |
| |-
| |
| | net-undefine
| |
| | Ein inaktives Netzwerk undefinieren
| |
| |-
| |
| | net-uuid
| |
| | Einen Netzwerk-Namen in eine Netzwerk-UUID konvertieren
| |
| |-
| |
| | iface-list
| |
| | list physical host interfaces
| |
| |-
| |
| | iface-name
| |
| | convert an interface MAC address to interface name
| |
| |-
| |
| | iface-mac
| |
| | convert an interface name to interface MAC address
| |
| |-
| |
| | iface-dumpxml
| |
| | interface information in XML
| |
| |-
| |
| | iface-define
| |
| | define (but don't start) a physical host interface from an XML file
| |
| |-
| |
| | iface-undefine
| |
| | undefine a physical host interface (remove it from configuration)
| |
| |-
| |
| | iface-edit
| |
| | edit XML configuration for a physical host interface
| |
| |-
| |
| | iface-start
| |
| | start a physical host interface (enable it / "if-up")
| |
| |-
| |
| | iface-destroy
| |
| | destroy a physical host interface (disable it / "if-down")
| |
| |-
| |
| | managedsave
| |
| | managed save of a domain state
| |
| |-
| |
| | nodeinfo
| |
| | Knoteninformation
| |
| |-
| |
| | nodedev-list
| |
| | enumerate devices on this host
| |
| |-
| |
| | nodedev-dumpxml
| |
| | node device details in XML
| |
| |-
| |
| | nodedev-dettach
| |
| | dettach node device from its device driver
| |
| |-
| |
| | nodedev-reattach
| |
| | reattach node device to its device driver
| |
| |-
| |
| | nodedev-reset
| |
| | reset node device
| |
| |-
| |
| | nodedev-create
| |
| | create a device defined by an XML file on the node
| |
| |-
| |
| | nodedev-destroy
| |
| | destroy a device on the node
| |
| |-
| |
| | nwfilter-define
| |
| | define or update a network filter from an XML file
| |
| |-
| |
| | nwfilter-undefine
| |
| | undefine a network filter
| |
| |-
| |
| | nwfilter-dumpxml
| |
| | network filter information in XML
| |
| |-
| |
| | nwfilter-list
| |
| | list network filters
| |
| |-
| |
| | nwfilter-edit
| |
| | edit XML configuration for a network filter
| |
| |-
| |
| | pool-autostart
| |
| | autostart a pool
| |
| |-
| |
| | pool-build
| |
| | baue einen Pool
| |
| |-
| |
| | pool-create
| |
| | create a pool from an XML file
| |
| |-
| |
| | pool-create-as
| |
| | create a pool from a set of args
| |
| |-
| |
| | pool-define
| |
| | define (but don't start) a pool from an XML file
| |
| |-
| |
| | pool-define-as
| |
| | define a pool from a set of args
| |
| |-
| |
| | pool-destroy
| |
| | Zerstören eines Pools
| |
| |-
| |
| | pool-delete
| |
| | Pool löschen
| |
| |-
| |
| | pool-dumpxml
| |
| | Pool-Informationen in XML
| |
| |-
| |
| | pool-edit
| |
| | edit XML configuration for a storage pool
| |
| |-
| |
| | pool-info
| |
| | storage pool information
| |
| |-
| |
| | pool-list
| |
| | Poolliste
| |
| |-
| |
| | pool-name
| |
| | Konvertieren einer pool-UUID in einen Pool-Namen
| |
| |-
| |
| | pool-refresh
| |
| | Einen Pool aktualisieren
| |
| |-
| |
| | pool-start
| |
| | start a (previously defined) inactive pool
| |
| |-
| |
| | pool-undefine
| |
| | undefine an inactive pool
| |
| |-
| |
| | pool-uuid
| |
| | convert a pool name to pool UUID
| |
| |-
| |
| | secret-define
| |
| | define or modify a secret from an XML file
| |
| |-
| |
| | secret-dumpxml
| |
| | secret attributes in XML
| |
| |-
| |
| | secret-set-value
| |
| | set a secret value
| |
| |-
| |
| | secret-get-value
| |
| | Output a secret value
| |
| |-
| |
| | secret-undefine
| |
| | undefine a secret
| |
| |-
| |
| | secret-list
| |
| | list secrets
| |
| |-
| |
| | pwd
| |
| | print the current directory
| |
| |-
| |
| | quit
| |
| | Dieses interaktive Terminal beenden
| |
| |-
| |
| | exit
| |
| | Dieses interaktive Terminal beenden
| |
| |-
| |
| | reboot
| |
| | Domain neu starten
| |
| |-
| |
| | restore
| |
| | Eine Domain aus einem gespeicherten Status in einer Datei wiederherstellen
| |
| |-
| |
| | resume
| |
| | Domain fortsetzen
| |
| |-
| |
| | save
| |
| | Einen Domainstatus in einer Datei speichern
| |
| |-
| |
| | schedinfo
| |
| | Scheduler-Parameter anzeigen/setzen
| |
| |-
| |
| | dump
| |
| | Den Kern einer Domain zu Analysezwecken in eine Datei dumpen
| |
| |-
| |
| | shutdown
| |
| | Kontrolliertes Stillegen einer Domain
| |
| |-
| |
| | setmem
| |
| | Speicherzuweisung ändern
| |
| |-
| |
| | setmaxmem
| |
| | Maximale Speichergrenze ändern
| |
| |-
| |
| | setvcpus
| |
| | Anzahl der virtuellen CPUs ändern
| |
| |-
| |
| | suspend
| |
| | Eine Domain anhalten
| |
| |-
| |
| | ttyconsole
| |
| | TTY-Konsole
| |
| |-
| |
| | undefine
| |
| | Eine inaktive Domain undefinieren
| |
| |-
| |
| | update-device
| |
| | update device from an XML file
| |
| |-
| |
| | uri
| |
| | Kanonisierte URI des Hypervisors ausgeben
| |
| |-
| |
| | vol-create
| |
| | create a vol from an XML file
| |
| |-
| |
| | vol-create-from
| |
| | create a vol, using another volume as input
| |
| |-
| |
| | vol-create-as
| |
| | create a volume from a set of args
| |
| |-
| |
| | vol-clone
| |
| | clone a volume.
| |
| |-
| |
| | vol-delete
| |
| | Löschen eines Datenträgers
| |
| |-
| |
| | vol-wipe
| |
| | wipe a vol
| |
| |-
| |
| | vol-dumpxml
| |
| | vol information in XML
| |
| |-
| |
| | vol-info
| |
| | storage vol information
| |
| |-
| |
| | vol-list
| |
| | list vols
| |
| |-
| |
| | vol-pool
| |
| | returns the storage pool for a given volume key or path
| |
| |-
| |
| | vol-path
| |
| | returns the volume path for a given volume name or key
| |
| |-
| |
| | vol-name
| |
| | returns the volume name for a given volume key or path
| |
| |-
| |
| | vol-key
| |
| | returns the volume key for a given volume name or path
| |
| |-
| |
| | vcpuinfo
| |
| | Domain vcpu-Information
| |
| |-
| |
| | vcpupin
| |
| | Domain vcpu-Affinität kontrollieren
| |
| |-
| |
| | version
| |
| | Version anzeigen
| |
| |-
| |
| | vncdisplay
| |
| | VNC-Anzeige
| |
| |-
| |
| | snapshot-create
| |
| | Create a snapshot
| |
| |-
| |
| | snapshot-current
| |
| | Get the current snapshot
| |
| |-
| |
| | snapshot-delete
| |
| | Delete a domain snapshot
| |
| |-
| |
| | snapshot-dumpxml
| |
| | Dump XML for a domain snapshot
| |
| |-
| |
| | snapshot-list
| |
| | List snapshots for a domain
| |
| |-
| |
| | snapshot-revert
| |
| | Revert a domain to a snapshot
| |
| |}
| |
|
| |
|
| = Migration zu neuem Host = | | = Migration zu neuem Host = |
Installation
Vorbereitung
Testen ob VT Unterstützung der CPU vorhanden ist
egrep -c '(vmx|svm)' /proc/cpuinfo
0 bedeutet keine Unterstützung
1 (oder mehr) Unterstützung vorhanden
Basis Pakete
apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils virtinst
apt-get install ssh-askpass
Verifizieren der Installation
virsh -c qemu:///system list
Id Name Status
----------------------------------
Installation des Virtmanagers(GUI)
apt-get install virt-manager
Installation des Linux capabilities tools
apt-get install libcap2-bin
Vergeben der CAP_NET_ADMIN Fähigkeit
setcap cap_net_admin=ei /usr/bin/qemu-system-x86_64
setcap cap_net_admin=ei /usr/bin/qemu-system-i386
Erlauben der Beerchtigung für den Adminuser
echo cap_net_admin xinux >> /etc/security/capability.conf
Netzwerk mit Bridgefunktion
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.240.101
netmask 255.255.240.0
gateway 192.168.240.100
bridge_ports eth0
bridge_stp off
bridge_fd 1
bridge_maxwait 12
Damit libvirt-bin automatisch start muss man in der Datei /etc/default/libvirt-bin die Option start_libvirtd auf "yes" setzen.
vi /etc/default/libvirt-bin
start_libvirtd="yes"
Domain-Installation
virt-install --connect qemu:///system --name orion --ram 1024 --disk path=/dev/data/orion \
--cdrom /isos/ubuntu-10.04-server-amd64.iso --vnc --noautoconsole --os-type linux --accelerate --network=bridge:br0
| name
|
Name der Domain
|
| disk
|
Diese Images werden in die Domain eingebunden. Es können mehrere Disks eingebunden werden, sowie weitere Optionen getrennt mit Leerzeichen gemacht werden.
|
| ram
|
Zu Verfügung stehender Arbeitspeicher der Domain
|
| os-type
|
linux, windows, solaris etc.
|
| os-variant
|
ubuntukarmic, winxp etc.
|
| hvm
|
Gebraucht full virtualization.
|
| accelerate
|
Benutze kvm oder KQEMU, wenn vorhanden.
|
| import
|
Die Installation ist bereits im Disk-Image enthalten.
|
| vnc
|
Aktiviert VNC-Display und öffnete einen beliebigen Port >5000, falls nicht --vncport angegeben ist.
|
| vncport
|
Setzt den Port für VNC fest.
|
Handling
This command outputs the guest's XML configuration file to standard out (stdout).
You can save the data by piping the output to a file. An example of piping the output to a file called guest.xml:
virsh dumpxml GuestID > guest.xml
Migration zu neuem Host
virsh migrate --live <GuestName> <DestinationURL>
Beispiel:
# virsh migrate --live galactica qemu+ssh://test2.example.com/system
Autostart
virsh atutostart <domain>
virsh atutostart <domain> --disable
An/Aus
Connecten auf Hypervisor
virsh -c qemu+ssh://SERVER/system
In Konsole eingeben
Zum starten:
start VM
Zum virtuellen Stecker rausziehn:
destroy VM
Nach Installation von acpid auf VM
Normales herunterfahren:
shutdown VM
Configure a Serial Console in the Guest
Enable on the VM
cat /etc/init/ttyS0.conf
# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L 115200 ttyS0 xterm
Run the following command to initiate the Serial Console (or restart the VM):
sudo start ttyS0
Connect on Host to VM
console VM
00:50:56:00:31:f9
Virtuelle MACAdresse vergeben
gaius=KVM server
virsh console XXXXXXX
VM: cp /etc/udev/rules./70-persistent.net(cd).rules 70-persistent.net(cd).rules.orig
VM: herunterfahren...
gaius: vi /etc/libvirt/qemu/XXXXXX.xml
-> MAC eintragen
gaius: virsh define XXXXXXXX
gaius: virsh start XXXXXXXX
-> TESTEN
Images umwandeln
qemu-img convert {image_name}.qcow2 {image_name}.raw
snapshot
http://kashyapc.wordpress.com/2013/01/22/live-backup-with-external-disk-snapshots-and-libvirts-blockpull/
Huang Wenlong 2011-09-26 03:14:09 EDT
Verify it with libvirt-0.9.4-13.el6.x86_64
1. define a persistent domain named "snap"with qcow2 disks
2. create a snapshot for domain snap
- virsh snapshot-create snap
3.
virsh # snapshot-list snap
Name Creation Time State
1317020538 2011-09-26 15:02:18 +0800 shutoff
4.virsh # undefine snap
error: Failed to undefine domain snap
error: Requested operation is not valid: cannot delete inactive domain with 1 snapshots
5. virsh undefine --snapshots-metadata snap
Domain snap has been undefined
4. check snapshot metadata (no metadata)
- ls /var/lib/libvirt/qemu/snapshot/snap
5. define a new domain with the same name, but different UUID
6. check snapshot for domain test:
- virsh snapshot-list snap
Name Creation Time State
https://bugzilla.redhat.com/show_bug.cgi?id=735457
Links
qemu-monitor
http://blog.vmsplice.net/2011/03/how-to-access-qemu-monitor-through.html
Links