Änderungen

Wechseln zu: Navigation, Suche

Befehle für XEN

10.995 Byte hinzugefügt, 16:38, 12. Jul. 2010
/* xm list */
Wenn Ihr XEN installiert ([[XEN installation]]) habt, könnt Ihr mit den folgenden Befehlen eure virtuellen Maschinen verwalten.

== Linux Gastsystem installieren ==

Hier wird beschrieben, wie man ein Linux Gastsystem installiert.

=== Auf ein reelles Dateisystem installieren ===

Ist auf der Festplatte noch genug Platz für weitere Partitionen, kann man auf diesen ganz einfach das Betriebssystem über eine Bootfähige CD installieren.

{{Warnung|Der Bootmanager darf NICHT in den MBR geschrieben werden, da XEN das virtuelle Linux starten soll und nicht GRUB}}

Für weitere VM's kann das installierte Linux auch kopiert werden.

=== Installieren in einem Image ===

Als erstes erstellen wir einen Ordner, in dem die Images gespeichert werden sollen.

Wir nehmen dafür jetzt einfach mal /var/images

mkdir /var/images

==== Images erstellen ====

===== Festplatten Image anlegen =====

Jetzt legen wir ein Festplattenimage an, dass wir in diesem Beispiel vm1disk nennen.

Als Größe verwenden wir in diesem Beispiel 1GB und formatieren dieses mit ext3:

dd if=/dev/zero of=/var/images/vm1disk bs=1024k count=1024
mkfs.ext3 /var/images/vm1disk

===== SWAP-Image anlegen =====

Als nächstes legen wir einen SWAP-Speicher mit der Größe von 256MB an:

dd if=/dev/zero of=/var/images/vm1swap bs=1024k count=256
mkswap /var/images/vm1swap

{{Notiz|Das count wird in MB angegeben!}}

==== Image in das Hostsystem einbinden ====

Jetzt müssen wir das Festplattenimage in das Hostsystem einbinden, dies geschieht mit dem folgendem Befehl, zuerst legen wir aber dafür in /mnt einen Ordner an:

mkdir /mnt/disk
mount -o loop /var/images/vm1disk /mnt/disk

Jetzt können wir die Betriebssystemdateien in das Image kopieren.

==== Installation von Debian über "debootstrap" ====

===== Installation von "debootstrap" =====

Das installieren von debootstrap geschieht mit dem folgendem Befehl:

apt-get install debootstrap

===== Installieren von Debian Lenny über "debootstrap" =====

Um Debian Lenny 32Bit über debootstrap zu installieren benutzen wir den folgenden Befehl:

debootstrap --arch i386 lenny /mnt/disk http://ftp.de.debian.org/debian/



Der Befehl besitzt die folgenden Parameter:

--arch = gibt die Architektur an, z.B. i386 für 32Bit oder amd64 für 64Bit.

Als nächstes folgt die Betriebssystemversion, z.B. etch, lenny oder sid

Danach folgt der Ordner, wohin es heruntergeladen werden soll, z.B. /mnt/disk

Als letztes folgt der Mirror-Server von dem das Image herunter geladen werden soll, z.B. http://ftp.de.debian.org/debian/

===== Konfigurieren des installierten Debian Lenny =====

====== In das Image mit chroot wechseln ======

Jetzt wechseln wir mit unserer Konsole in das Image, dies geschieht mit dem folgendem Befehl:

chroot /mnt/disk /bin/bash

Damit wir die Shell nicht verwechseln markieren wir diese mit einem (chroot):

export PS1="(chroot) $PS1"

====== Hostnamen setzen ======

Den Hostnamen der virtuellen Maschine kann in der Datei /etc/hostname gesetzt werden.

====== IP-Adresse setzen ======

Die IP-Adresse muss in /etc/network/interfaces gesetzt werden, dies kann z.B. so aussehen:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.11
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

====== Debian-Repo-Sources anpassen ======

In der Datei /etc/apt/sources.list können jetzt noch die Debian Repos angepasst werden.

====== fstab anpassen ======

Als nächstes müssen wir in dei Datei /etc/fstab folgendes rein schreiben:

/dev/sda1 / ext3 errors=remount-ro 0 1
/dev/sda2 none swap sw 0 0
proc /proc proc defaults 0 0

====== tls deaktivieren ======

Wie auch auf dem Hostsystem sollte man auch auf dem Gastsystem tls deaktivieren.

{{Notiz|Die Datei existiert nicht unter jedem System!}}

mv /lib/tls /lib/tls.disabled

====== SSH-Server installieren ======

Damit wir nachher auf die virtuelle Maschine zugreifen können, installieren wir noch einen SSH-Server.

Dies geschieht mit dem folgendem Befehl:

apt-get install openssh-server

{{Notiz|Vorher muss wahrscheinlich noch die Paketliste mit apt-get update neu geladen werden!}}

====== Das chroot verlassen ======

Jetzt müssen wir das chroot wieder verlassen, dies geschieht einfach mit

exit

===== Einbindung des Images lösen =====

Jetzt müssen wir die Einbindung des Images wieder lösen.

Dies geschieht mit dem folgendem Befehl:

umount /mnt/disk


== VM starten ==

Als erstes erstellen wir in /etc/xen eine Konfigurationsdatei mit dem Namen unserer VM, in unserem Beispiel heißt diese xenvm1.

Hier ist ein Beispiel-Inhalt:

kernel = "/boot/vmlinuz-2.6.26-1-xen-686"
## RAM-Speicher Zuweisung (in Megabyte) für die neue Domain
memory = 128
## Name des virtuellen Servers
name = "xenvm1"
### Liste von zugewiesenen Partitionen oder Imagedateien
## Eintrag für oben genannte debootstrap-Beispiel mit Image.
disk = [ 'file:/var/images/vm1disk,sda1,w', 'file:/var/images/vm1swap,sda2,w' ]
## Beispiel für reale Partitionen
#disk = [ 'phy:hda7,sda1,w', 'phy,sda2,w' ]
root = "/dev/sda1 ro"



Und dies sind die Parameter:

kernel gibt den zu verwendenden Kernel an,

memory gibt den RAM in MB an,

name gibt den Namen der VM an,

disk gibt das Laufwerk/Image von dem Dateisystem und dem SWAP an.

und root gibt das Rootdateisystem für die VM an.



Damit eine VM gestartet werden kann, muss der XEN-Daemon gestartet werden, falls dies noch nicht getan wurde.

Dies geschieht mit:

xend start


Zum starten der VM geben wir jetzt den folgenden Befehl ein:

xm create -c xenvm1 -vmid=1


Die Parameter dazu sind:

xenvm1 ist der Name der Konfigurationsdatei,
vmid ist eine eindeutige Nummer der VM



Jetzt sollte man in der Konsole der VM gelandet sein, falls kein Fehler aufgetreten ist.

Um das Basis-System zu konfigurieren gibt man den folgenden Befehl ein:

base-config

== VM automatisch starten ==

Wenn die VM automatisch beim Systemstart gestartet werden soll, dann muss eine Verknüpfung zur Konfigurationsdatei in den Ordner /etc/xen/auto/ erstellt werden.

Dies geschieht mit:

ln -s /etc/xen/xenvm1 /etc/xen/auto/

== Administration der VMs ==

=== xm ===

xm ist das Hauptprogramm zur Verwaltung von XEN-VMs.

Wir haben es bereits oben benutzt um die VM zu starten, aber es kann auch wesentlich mehr.

==== xm list ====

Wenn man den folgenden Befehl eingibt

xm lst

sollte eine Ausgabe wie folgt kommen:

<pre>Name ID Mem(MiB) VCPUs State Time(s)

Domain-0 0 64 1 r----- 112.0

xenvm1 3 128 1 ------ 27.4</pre>


Erläuterung der einzelnen Spalten:

Name = Name der VM

ID = Eindeutige ID der VM

Mem(MiB) = Arbeitsspeicher der VM

VCPUs = Anzahl der zugewiesenen CPUs

State = Status der VM. Hier gibt es folgende: r = laufend, b = blockiert, p = pausiert, s = heruntergefahren, c = abgestürzt

Time(s) = Verbrauch von CPU-Rechenzeit in Sekunden



Eine detailliertere Ausgabe erhält man mit:

xm list -l

==== xm console ====

Mit diesem Befehl wechselt man zur Konsole der VM.

Mit dieser sieht man, was man sehen würde, wenn man wirklich an diesem PC sitzen würde.

Mit <Strg>+<F5> kann man diese wieder verlassen!

Beispel:

xm console 3

Die 3 ist dabei die ID der VM!

==== xm shutdown ====

Mit diesem Befehl kann man eine VM herunterfahren.

Beispiel:

xm shutdown 3

Die 3 ist wieder die ID der VM!

==== xm mem-set ====

Mit diesem Befehl kann man den Arbeitsspeicher für die VM ändern.

Beispel:

xm mem-set 3 256

Die 3 ist wieder unsere ID und die 256 sind die MB an RAM.

Der geänderte zugewiesene Speicher kann erst nach einem Neustart der VM benutzt werden.

==== xm new ====

Dieser Befehl fügt eine neue VM zum XEN VM Management hinzu.

Beispiel:

xm new xenvm1

xenvm1 ist hierbei die Konfigurationsdatei.

==== xm delete ====

Dieser Befehl löscht eine VM vom XEN VM Management.

Beispiel:

xm delete xenvm1

Wobei xenvm1 wieder unsere Konfigurationsdatei ist.

==== xm destroy ====

Bricht eine VM sofort ab.

Beispiel:

xm destroy xenvm1

xenvm1 ist wieder unsere Konfigurationsdatei.

==== xm dump-core ====

"Dump Core" für eine VM.

Beispiel:

xm dump-core -L xenvm1 xenvm1.dmp

xenvm1 ist wieder unsere Konfigurationsdatei.

-L bzw. --live bedeutet, dass die VM nicht pausiert wird.

-C bzw. --crash bedeutet, dass die VM nach Beendigung des dump-Vorgangs abstürzen soll.

xenvm1.dmp ist der Dateiname des Images.

==== xm migrate ====

Migriert eine VM auf eine Maschiene.

Beispiel:

xm migrate -l xenvm1 xensys2

-l bzw. --live bedeutet, dass die Migration live stattfinden soll.

-p=NUM bzw. --port=NUM setzt einen speziellen Port.

-r=MBIT bzw. --ressource=MBIT begrenzt die Geschwindigkeit der Migration.

xensys2 ist der Hostname des Zielsystems.

==== xm pause ====

Pausiert eine VM.

Beispiel:

xm pause xenvm1

xenvm1 ist wieder unsere Konfigurationsdatei.

==== xm reboot ====

Startet eine VM neu.

Beispiel:

xm reboot xenvm1

xenvm1 ist wieder unsere Konfigurationsdatei.

==== xm resume ====

Setzt eine VM wieder fort.

Beispiel:

xm resume xenvm1

xenvm1 ist wieder unsere Konfigurationsdatei.

-p bzw. --paused bedeutet, dass die VM nach dem fortsetzten nicht unpausiert wird.

==== xm save ====

Erstellt ein Backup von einer VM.

Beispiel:

xm save -c xenvm1 xenvm1.bak

-c bzw. --chechpoint bewirkt, dass die VM am laufen bleibt, nachdem das Backup erstellt wurde.

xenvm1 ist wieder unsere Konfigurationsdatei.

==== xm shell ====

Startet eine interaktive Shell.

Beispiel:

xm shell

==== xm start ====

Startet eine VM.

Beispiel:

xm start xenvm1

xenvm1 ist wieder unsere Konfigurationsdatei.

-p bzw. --paused bewirkt, dass die VM nicht geunpaused wird, nachdem sie gestartet wurde.

-c bzw. --console_autoconnect bewirkt, dass man sofort nach dem starten in der Konsole der VM landet.

==== xm suspend ====

Friert eine VM ein.

Beispiel:

xm suspend xenvm1

xenvm1 ist wieder unsere Konfigurationsdatei.

==== xm top ====

Zeigt Statistiken über Host und VM in Echtzeit.

Beispiel:

xm top

==== xm unpause ====

Setzt eine pausierte VM wieder fort.

Beispiel:

xm unpause xenvm1

xenvm1 ist wieder unsere Konfigurationsdatei.

==== xm uptime ====

Zeit die Laufzeit aller oder einer VM an.

Beispiele:

xm uptime

oder

xm uptime xenvm1

xenvm1 ist wieder unsere Konfigurationsdatei.

==== xm vcpu-set ====

Setzt die Anzahl der aktiven VCPUs einer VM.

Beispiel:

xm vcpu-set xenvm1 2

xenvm1 ist wieder unsere Konfigurationsdatei.
2 ist die Anzahl der CPUs.

=== Grafische Administration ===

Es gibt auch grafische Tools, mit denen man XEN steuern kann.

Hierbei gibt es kostenpflichtige wie [http://vadmin.de vadmin]

und kostenlose wie [http://www.convirture.com/ ConVirt]

[[Kategorie:XEN]]
75
Bearbeitungen