qemu, kvm, xen & libvirtHauptseite | Über | Hilfe | FAQ | Spezialseiten | Anmelden

Druckversion | Impressum | Datenschutz

Proxmox Virtual Environment

(Link zu dieser Seite als [[QEMU-KVM-Buch/ Managementtools/ Proxmox VE]])

<<<|###| >>> | English



Im_Aufbau


Proxmox Virtual Environment - Web-Interface.
Proxmox Virtual Environment - Web-Interface.

Inhaltsverzeichnis

[bearbeiten] Proxmox Virtual Environment

Website: http://pve.proxmox.com/wiki/Main_Page

Proxmox Virtual Environment ist eine auf Debian aufbauende 64-Bit-Linux-Distribution, die als Virtualisierungsplattform dient. Diese Distribution enthält KVM, OpenVZ und ein Web-Interface zum Verwalten von virtuellen Maschinen. Proxmox stellt eine freie Alternative zu VMware ESX oder anderen teuren Virtualisierungslösungen dar. Wird diese Open Source-Lösung auf mehreren Rechnern installiert, können damit Cluster aufgebaut werden (Cloud Computing). Live-Migration wird unterstützt. Mit dem Web-Interface lassen sich mehrere physische Proxmox-Server (Nodes) verwalten.

[bearbeiten] Installation

Für die Hardware des zukünftige Proxmox-Server gelten die Mindestanforderungen wie für KVM (siehe http://qemu-buch.de/d/_QEMU%2BKVM_unter_Linux). Es sollten mindesten 8 GByte RAM zur Verfügung stehen - je mehr desto besser. Mehrere Netzwerkkarten sind auch von Vorteil. Für einen Cluster-Betrieb ist ein ausfallsicheres RAID-System notwendig.

[bearbeiten] Proxmox VE Server (Bare Metal)

Download: http://pve.proxmox.com/wiki/Downloads

Man installiert diese spezielle Linux-Distribution in dem man das neueste ISO-Image der Installations-CD herunterlädt und auf CD brennt. Anschließend bootet man von dieser CD. Bei der Installation werden alle Daten auf der Festplatte gelöscht. Bei der Default-Installation kann man nicht individuell partitionieren. Zur Anpassung der Partionierung müssen Boot-Parameter übergeben werden: maxroot beziehungsweise swapsize erzwingen entsprechende Partitionsgrößen. Im folgenden Beispiel soll die Root-Partition 30 GByte, die Swap-Partition 8 GByte groß sein und EXT4 als Dateisystem dienen:

boot: linux ext4 maxroot=30 swapsize=5

Das Installationprogramm fragt folgende Angaben ab: Land- und Zeitzone, Tastatur-Layout, Root-Passwort, E-Mail-Adresse, Hostname und die Netzwerk-Einstellungen. Nach dem Reboot verbindet man sich mit dem Web-Interface des Proxmox-Servers.

[bearbeiten] Anpassung von Debian Squeeze(64 bit)

Alternativ zur oben beschriebenen Bare-Metal-Installation kann auch eine existierende Debian Squeeze-Installation (64-Bit) erweitert werden. Damit ist zum Beispiel die flexiblere Partionierung möglich. Dazu wird folgendes Partition-Layout empfohlen:



Device Boot   Start     End      Blocks   Id  System
/dev/sda1         1     122      975872   83  Linux
/dev/sda2       122    5222    40965120   8e  Linux LVM

LVM:

LV   VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
data pve  -wi-ao 30.69g 
root pve  -wi-ao  3.72g 
swap pve  -wi-ao  1.86g

Die beste Performance wird mit dem EXT3-Filesystem erreicht. Die Datei /etc/apt/sources.list ist mit dem Proxmox-Repositoriy zu erweitern.

# /etc/apt/sources.list
deb http://ftp.at.debian.org/debian squeeze main contrib
# PVE packages provided by proxmox.com
deb http://download.proxmox.com/debian squeeze pve
# security updates
deb http://security.debian.org/ squeeze/updates main contrib

Der Key des Proxmox-Repository ist hinzuzufügen und das Repository zu aktualisieren.

Host ~# wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
Host ~# aptitude update
Host ~# aptitude full-upgrade

Man installiert den Proxmox-Kernel und startet die Maschine neu.

Host ~# aptitude install pve-firmware
Host ~# aptitude install pve-kernel-2.6.32-16-pve
Host ~# reboot

Man überprüft, ob der Proxmox-Kernel verwendet wird.

Host ~# uname -r
2.6.32-16-pve

Man installiert die Proxmox-Pakete und konfiguriert den PVE-Redirect für Apache.

Host ~# aptitude install proxmox-ve-2.6.32
Host ~# a2ensite pve-redirect.conf
Host ~# apache2ctl restart

Weitere Pakete sind zu installieren.

Host ~# aptitude install ntp ssh lvm2 postfix ksm-control-daemon vzprocps

[bearbeiten] Web-Interface und Konsole

Für das Web-Interface muss im Browser Java aktiviert sein. Man verbindet sich per https zur IP-Adresse des Proxmox-Servers.

https://IP-Adresse

Es erfolgt eine Weiterleitung zu https://IP-Adresse:8006. Als Username gibt man root mit dem vorgegebenen Root-Passwort ein. Für die Authentifizierung ist neben PAM auch LDAP, Active Directory oder der hauseigene Proxmox VE Authentication Server konfigurierbar.

[bearbeiten] Views

Das Web-Interface bietet drei unterschiedliche Ansichten, die man im Pull-Down-Menü links oben auswählen kann:

[bearbeiten] Datacenter

Wird in der linken Liste Datacenter ausgewählt, werden folgende Reiter angezeigt:

[bearbeiten] Node

Wird in der linken Liste ein Node ausgewählt, werden folgende Reiter angezeigt:

Neben dem Einloggen per ssh erreicht man auch die Konsole eines Proxmox-Servers über das Web-Interface. Dazu wählt man in der Server View den gewünschten Proxmox-Servers aus. Rechts oben klickt man auf den Link Shell. Weiterhin befinden sich rechts oben die Links Restart und Shutdown, um den ausgewählten Proxmox-Server neu zu starten beziehungsweise herunter zu fahren.

[bearbeiten] Storage

Wird in der linken Liste ein Storage ausgewählt, werden folgende Reiter angezeigt:

[bearbeiten] Update eines Proxmox-Servers

Für ein Update eines Proxmox-Servers gibt man als Benutzer root auf dem System folgende Befehle ein.

Host ~# apt-get update
Host ~# apt-get dist-upgrade
Host ~# reboot

Nach dem Neustart kontrolliert man das Update mit folgendem Befehl.

Host ~# pveversion -v

[bearbeiten] Storage hinzufügen

Die Images von virtuellen Maschinen, OpenVZ-Container, ISO-Images und Backups können unterschiedlich gespeichert werden. Zum Beispiel auf der lokalen Festplatte oder auf Shared-Storage (NFS, iSCSI). Für erste Tests von Proxmox verwendet man den bereits vorhandenen Storage local und springt gleich zum Abschnitt Virtuelle Maschinen anlegen. Im Cluster (siehe unten) werden alle Storage-Konfigurationen synchronisiert. Ein Vorteil von Shared-Store ist die Live-Migration der virtuellen Maschinen ohne Unterbrechung von einem Proxmox-Node zu einem anderen Node im Cluster. OpenVZ-Container müssen auf einen lokalen Storage oder auf einen NFS-Storage gespeichert werden. Wird in der linken Liste Datacenter ausgewählt, steht der Reiter Storage zur Verfügung. Neuer Storage wird mit Add hinzugefügt.

[bearbeiten] Directory

Mit Directory wird ein lokales Verzeichnis als Storage hinzugefügt. Ein lokales Verzeichnis kann auch ein Moint-Point eines über das Netzwerk verbundenen Shared Storage (NFS, SMB/CIFS) sein. Die Verwendung von lokalen Verzeichnissen als Storage ist zwar die einfachste aber auch die unflexibelste Methode. In diesem Beispiel soll das lokale Direktory /verzeichnis01 als Storage mit dem Namen Verzeichnis01 generiert werden. Ist das Directory noch nicht vorhanden, wird es angelegt.

ID:                Verzeichnis01
Directory:         /verzeichnis01
Content:           Images, ISO, Templates, Backups, Containers
Nodes:             All (No restrictions)
Enable:            [x]
Shared:            [x]
Max Backups:       1

Werden bei Content alle Optionen aktiviert, werden in dem Directory folgende Unterverzeichnisse anlegt:

./private
./dump
./images
./template
./template/iso
./template/cache

Bei Nodes werden die Proxmox-Server definiert, die diesen Storage nutzen können. Wird Enable aktiviert, erscheint dieses Storage in der linken Liste und es kann als Speicher verwendet werden. Wird Shared aktiviert, erfolgt die Freigabe als Shared Store im Netz. Max Backups ist die maximale Anzahl von Backup-Dateien pro virtuelle Maschine (siehe vzdump).

[bearbeiten] NFS share

Das Network File System (NFS) ist Protokoll, das den Zugriff auf Dateien über ein Netzwerk ermöglicht. Im Gegensatz zu FTP werden die Dateien nicht übertragen. Die Benutzer greifen auf Dateien, die sich auf einem entfernten Rechner befinden, zu als ob sie auf ihrer lokalen Festplatte abgespeichert wären.

Mit NFS share unter dem Reiter Storage wird eine Freigabe eines NFS-Server als Storage verwendet. Dies ist eine einfache Methode, Shared Storage für die Live Migration zur Verfügung zu stellen. In diesem Beispiel dient ein separater Linux-Server (Debian) mit dem Namen nfsserver als NFS-Server. Auf diesem Server müssen folgende Pakete installiert werden. Ausserdem wird ein Verzeichnis als NFS-Export benötigt.

 nfsserver ~# apt-get install nfs-kernel-server nfs-common
 nfsserver ~# mkdir /nfs-export

Die Konfiguration der NFS-Freigaben erfolgt in der Datei /etc/exports.

# /etc/exports 
/nfs-export     *(rw,no_root_squash,async)

Anschließend werden die NFS-Dienste neu gestartet.

 nfsserver ~# /etc/init.d/nfs-common restart
 nfsserver ~# /etc/init.d/nfs-kernel-server restart

Auf dem Proxmox-Server wird diese NFS-Freigabe eingebunden.

ID:                NFS-Share01
Server:            nfsserver
Export:            /nfs-export
Content:           Images, ISO, Templates, Backups, Containers
Nodes:             All (No restrictions)
Enable:            [x]
Max Backups:       1

[bearbeiten] LVM group

Mit LVM group wird eine vorhandene Logical Volume Group als Storage verwendet. Eine Logical Volume Group ist auf der Konsole zu konfigurieren. Dazu wird das Paket lvm2 benötigt.

Host ~# apt-get install lvm2

In diesem Beispiel wird eine LVM mit einem USB-Stick (Device /dev/sda4) generiert.

Host ~# pvcreate /dev/sdb1
Writing physical volume data to disk "/dev/sdb1"
Physical volume "/dev/sdb1" successfully created
Host ~# vgcreate usb-stick /dev/sdb1
Volume group "usb-stick" successfully created

Im Webinterface wird mit LVM group die angelegte Logical Volume Group als Storage konfiguriert.

ID:                LVM-Gruppe01
Base storage:      Existing volume group
Volume group:      usb-stick
Content:           Images, ISO, Templates, Backups, Containers
Nodes:             All (No restrictions)
Enable:            [x]
Shared:            [x]

[bearbeiten] iSCSI target

Das Protokoll iSCSI (internet Small Computer System Interface) ermöglicht die Nutzung des SCSI-Protokolls über TCP. Im Proxmox-Webinterface fügt man iSCSI-Targets als Storage hinzu. Man wählt links Datacenter und geht zum Reiter Storage. Mit Add, iSCSI target wird ein iSCSI-Target als Storage verwendet. Die ID kann frei gewählt werden. Hinter Portal gibt man die IP-Adresse des Targets und optional das Port 3260 an. Bei Target werden dann die verfügbaren Taget-Namen zur Auswahl angezeigt. Diese Angaben beziehen sich auf das Beispiel unter http://qemu-buch.de/d/Speichermedien/_iSCSI.

ID:                iSCSCI-Target01
Portal:            192.168.178.44:3260
Target:            iqn.2036-12.de.example:storage.target0
Nodes:             All (No restrictions)
Enable:            [x]
Use LUNs directly: [ ]

Die direkte Verwendung der iSCSI-LUNS ist nicht zu empfehlen (Datenverlust). Der iSCSI-Standard sieht den konkurrierenden Zugriff zweier Server auf dieselbe LUN nicht vor. Daher wird in einem zweiten Schritt mit Add, LVM group eine LVM-Gruppe definiert. Bei Base storage wird das frisch konfigurierte iSCSI-Target ausgewählt. Bei Base volume wird ein angebotenes LUN des iSCSI-Target ausgewählt.

ID:                LVM-iSCSCI-Target01
Base storage:      iSCSCI-Target01
Base volume:       CH 00 ID 0 LUN 0
Volume group:      LVM-Gruppe-iSCSCI-Target01
Nodes:             All (No restrictions)
Enable:            [x]
Shared:            [x]

Die Verwendung von iSCSI-Target für Backups ist nicht möglich.

[bearbeiten] Netzwerke konfigurieren

Proxmox verwendet virtuelle Network-Bridges, um die virtuellen Maschinen zu vernetzen (siehe auch http://qemu-buch.de/d/Netzwerkoptionen/_Virtuelle_Netzwerke_konfigurieren#Bridging_und_Switching). Pro Host können bis zu 4094 Bridges konfiguriert werden. Die virtuellen Maschinen erhalten jeweils individuelle Mac-Adressen.

In der Default-Konfiguration ist bereits eine Bridge (vmbr0) konfiguriert und mit einer Netzwerkkarte des Nodes verbunden. Für erste Tests von Proxmox verwendet man dieses bereits konfigurierte Netzwerk und springt gleich zum Abschnitt Virtuelle Maschinen anlegen.

[bearbeiten] Bridge

Um virtuelle Maschinen über zusätzliche Netzwerke verbinden zu können, sind weitere Bridges anzulegen. Damit eine Bridge mit der Aussenwelt kommunizieren kann, ist diese mit einer realen Netzwerkkarte des Host-Systems (Node) zu verbinden. Sollen virtuelle Maschinen mit mehreren Netzwerken kommunizieren können, sind auch mehrere Netzwerkkarten im Host-System notwendig. Werden mehrere Nodes im Cluster betrieben (siehe unten), sind Änderungen der Netzwerkkonfiguration auf jedem Node durchzuführen. Die Namen der Bridges müssen auf den Nodes jeweils gleich sein.

Wird in der linken Liste ein Node ausgewählt, steht der Reiter Network zur Verfügung. Um eine neue Bridge anzulegen, klickt man auf Create und wählt Bridge aus. In diesem Beispiel wird eine Bridge mit dem Namen vmbr1 angelegt und mit der im Host-System vorhandenen zweiten Netzwerkkarte eth1 verbunden. Die IP-Adresse ist 192.168.1.100 und die Netzwerkmaske 255.255.255.0. Werden mehrere Proxmox-Nodes im Cluster betrieben (siehe unten), müssen die Bridges unterschiedliche IP-Adressen haben. Diese Bridge soll beim Start des Nodes automatisch aktiviert werden (Autostart).

Name:          vmbr1
IP address:    192.168.1.100
Subnet mask:   255.255.255.0
Gateway:       
Autostart      [x]
Bridge ports:  eth1

Nach dem man die Bridge erstellt hat werden die Änderungen an der Netzwerkkonfigurationsdatei angezeigt. Diese werden in der Datei /etc/network/interfaces.new gespeichert und nach dem Reboot in die Netzwerkkonfigurationsdatei /etc/network/interfaces geschrieben. Es ist der Proxmox-Node neu zu starten. Entweder über den Link Restart rechts oben im Webinterface oder auf der Konsole.

Host ~# reboot

In diesem Beispiel hat die Datei /etc/network/interfaces folgenden Inhalt.

# /etc/network/interfaces
#
# network interface settings
auto lo
iface lo inet loopback

iface eth0 inet manual

iface eth1 inet manual

auto vmbr0
iface vmbr0 inet static
        address  192.168.178.30
        netmask  255.255.255.0
        gateway  192.168.178.1
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0

auto vmbr1
iface vmbr1 inet static
        address  192.168.1.100
        netmask  255.255.255.0
        bridge_ports eth1
        bridge_stp off
        bridge_fd 0

Bei der Netzwerk-Konfiguration der virtuellen Maschinen kann zwischen vmbr0 und vmbr1 gewählt werden.

[bearbeiten] Bond

Beim Bondig werden zwei oder mehr Netzwerkkarten zusammengefasst. Damit erreicht man eine höhere Ausfallsicherheit oder eine höhreren Durchsatz. Bonding kann sowohl aktiv/passiv (Failover) als auch aktiv/aktiv (Loadbalancing) konfiguriert werden. Die Netzwerkkarten werden über ein virtuelles Bondig-Interface zusammengefasst. Das virtuelle Bondig-Interface erhält die Netzwerkkonfiguration (IP-Adresse, Subnetmask, ...).

In unserem Beispiel verfügt der Proxmox-Node über die Netzwerk-Karten eth0 und eth1. Wird in der linken Liste ein Node ausgewählt, steht der Reiter Network zur Verfügung. Zuerst ist die Netzwerkkarte aus der Default-Bridge-Konfiguration zu entfernen. Dazu klickt man auf vmbr0 und dann auf Edit. In der Dialogbox entfernt man hinter Bridge ports die Netzwerkkarte eth0 und klickt OK. Um eine neuen Bond anzulegen, klickt man auf Create und wählt Bond aus.

Name:          bond0
IP address:    
Subnet mask:   
Gateway:       
Autostart      [x]
Slaves:        eth0 eth1
Mode:          active-backup

Diesen Bond fügt man der Brigde vmbr0 hinzu. Dazu klickt man auf vmbr0 und dann auf Edit. In der Dialogbox schreibt man hinter Bridge ports den Bond bond0 und klickt OK. Es werden die Änderungen an der Netzwerkkonfigurationsdatei angezeigt. Diese werden in der Datei /etc/network/interfaces.new gespeichert und nach dem Reboot in die Netzwerkkonfigurationsdatei /etc/network/interfaces geschrieben. Es ist der Proxmox-Node neu zu starten. Entweder über den Link Restart rechts oben im Webinterface oder auf der Konsole.

Host ~# reboot

In diesem Beispiel hat die Datei /etc/network/interfaces folgenden Inhalt.

# /etc/network/interfaces
#
# network interface settings
auto lo
iface lo inet loopback

iface eth0 inet manual

iface eth1 inet manual

auto bond0
iface bond0 inet manual
        slaves eth0 eth1
        bond_miimon 100
        bond_mode active-backup

auto vmbr0
iface vmbr0 inet static
        address  192.168.178.30
        netmask  255.255.255.0
        gateway  192.168.178.1
        bridge_ports bond0
        bridge_stp off
        bridge_fd 0

Es gibt diese Bonding Modi:

[bearbeiten] Mehrere Proxmox-Nodes

[bearbeiten] Proxmox mit einem Node

Soll Proxmox VE nicht im Cluster sondern nur auf einem Rechner betrieben werden, zum Beispiel für erste Tests mit Proxmox, springt man gleich zum Abschnitt Virtuelle Maschinen anlegen.

[bearbeiten] Proxmox-Cluster einrichten

Es lassen sich mehrere Proxmox-Server zentral verwalten. Dies setzt jeweils gleichen Softwarestand und gleiche Systemzeit voraus. Die Konfigurationsdateien im Cluster werden mit dem Cluster File System (pmxfs) von Proxmox synchronisiert. Es basiert auf FUSE (Filesystem im Userspace) und repliziert alle Nodes per Corosync (http://www.corosync.org). Ein Cluster richtet man auf der Konsole ein. In diesem Beispiel soll das Cluster cluster01 heissen.

Host 01 ~# pvecm create cluster01
Restarting pve cluster filesystem: pve-cluster[dcdb] notice: wrote new cluster config '/etc/cluster/cluster.conf'
Starting cluster: 
  Checking if cluster has been disabled at boot... [  OK  ]
  Checking Network Manager... [  OK  ]
  Global setup... [  OK  ]
  Loading kernel modules... [  OK  ]
  Mounting configfs... [  OK  ]
  Starting cman... [  OK  ]
  Waiting for quorum... [  OK  ]
  Starting fenced... [  OK  ]
  Starting dlm_controld... [  OK  ]
  Tuning DLM kernel config... [  OK  ]
  Unfencing self... [  OK  ]

Dem Cluster wird ein zweiter Proxmox-Server (Node) hinzugefügt. Es dürfen dazu auf diesem Node keine virtuellen Maschinen vorhanden sein. Von möglicherweise vorhandenen virtuellen Maschinen generiert man Backups und stellt diese später mit einer anderen ID wieder her (siehe auch vzrestore). Zum Hinzufügen eines zweiten Nodes loggt man sich auf diesem zweiten Node ein und gibt den Befehl pvecm add gefolgt von der IP-Adresse des ersten Nodes ein.

Host 02 ~# pvecm add IP-ADRESSE-ERSTER-NODE
Are you sure you want to continue connecting (yes/no)? yes
root@IP-ADRESSE-ERSTER-NODE's password: 
copy corosync auth key
stopping pve-cluster service
Stopping pve cluster filesystem: pve-cluster.
backup old database
Starting pve cluster filesystem : pve-clustercan't create shared ssh key database '/etc/pve/priv/authorized_keys'
.
Starting cluster: 
   Checking if cluster has been disabled at boot... [  OK  ]
   Checking Network Manager... [  OK  ]
   Global setup... [  OK  ]
   Loading kernel modules... [  OK  ]
   Mounting configfs... [  OK  ]
   Starting cman... [  OK  ]
   Waiting for quorum... [  OK  ]
   Starting fenced... [  OK  ]
   Starting dlm_controld... [  OK  ]
   Tuning DLM kernel config... [  OK  ]
   Unfencing self... [  OK  ]
generating node certificates
merge known_hosts file
restart services
Restarting PVE Daemon: pvedaemon.
Restarting web server: apache2 ... waiting .
successfully added node 'proxmox' to cluster.

Man überprüft den Status.

Host 01 ~# pvecm status

Auf jedem Node im Cluster mussen in der Datei /root/.ssh/authorized_keys jeweils die Public-Keys (/root/.ssh/id_rsa.pub) aller Nodes gespeichert sein. Im Web-Interface beider Node erscheinen beide Nodes und können so zentral verwaltet werden. Will man einen Node aus dem Cluster entfernen, muss man alle virtuellen Maschinen von diesem Node weg migrieren. Dann listet man alle Nodes auf, um den Node-Namen zu ermitteln. Anschließend entfernt man den Node.

Host 01 ~# pvecm nodes
Node  Sts   Inc   Joined               Name
   1   M      4   2013-01-18 12:00:32  proxmox02
   2   M    112   2013-01-18 15:48:21  proxmox
Host 01 ~# pvecm delnode 


[bearbeiten] Proxmox High-Availability-Cluster

Ein Hochverfügbarkeitscluster ist ein Cluster, dass um HA-Fähigkeiten erweitert ist. Notwendig sind mindestens drei Nodes. Für die Erweiterung eines Clusters zu einem High-Availability-Cluster ist in der linken Liste Datacenter auszuwählen. Die Konfiguration erfolgt unter dem Reiter HA.


Stonith-Funktion (Shoot the other node in the head)



[bearbeiten] Virtuelle Maschinen anlegen

[bearbeiten] KVM

Virtuelle KVM-Maschinen werden mit ISO-Images der Installationsmediums (CD, DVD) angelegt. Zum Upload des ISO-Images auf den Proxmox-Server aktiviert man im Storage local den Reiter Content und klickt auf Upload. In der Dialog-Box wählt man das gewünschte ISO-Image aus. Es wird auf dem Proxmox-Server im Verzeichnis /var/lib/vz/template/iso gespeichert. Zum Anlegen von virtuellen Maschinen klickt man in der rechten oberen Ecke auf Create VM. Es öffnet sich ein Wizard für die Konfiguration der virtuellen Maschine. Unter dem Reiter General ist der Node (Host-System), die VM ID, der Name (Name des Gast-System) und das Resourcen-Pool (siehe unten) festzulegen.

Nach dem die virtuelle KVM-Maschine generiert wurde, erscheint deren Hostname in der linken Liste bei Server View. Zum Starten der virtuellen Maschine wählt man diese in der Liste aus und klickt auf Start rechts oben. Anschließend klickt man rechts oben auf Console, um sich mit deren Konsole zu verbinden. Man installiert das Gast-System wie gewohnt entsprechend dessen Installationsprogramm.

Leider beherrscht Proxmox noch nicht das Generieren von virtuellen KVM-Maschinen aus Templates. Man kann sich aber mit folgenden Trick helfen. Man generiert eine virtuelle KVM-Maschine. Man installiert und konfiguriert das Gast-System und fährt anschließend die virtuelle Maschine herunter. Diese virtuelle KVM-Maschine soll als Template für weitere virtuelle Maschinen dienen. Deshalb ist deren Image zu sichern. Die Images der virtuellen KVM-Maschinen werden in Unterverzeichnissen in dem Pfad /var/lib/vz/images/ gespeichert. Die Namen der Unterverzeichnisse entsprechen jeweils den VM IDs. Nun generiert man eine neue virtuelle KVM-Maschine. Allerdings startet man diese nicht und installiert auch kein Gast-System darin. Auf der Konsole des Proxmox-Servers kopiert man das Images der Template-Maschine über das Image der neuen virtuellen Maschine. Anschließend startet man die neue virtuelle Maschine wie gewohnt. Man muss natürlich neben dem Hostnamen auch die Netzwerkeinstellungen ändern. Dabei tritt folgendes Problem auf: Die Mac-Adresse der Netzwerk-Karte ist nun anders. Einige Betriebssysteme verwalten Tabellen in denen MAC-Adressen den Netzwerk-Schnittstellen zugeordnet werden. Wird eine MAC-Adresse geändert, funktioniert die zugeordnete Netzwerkkarte nicht mehr. Dann ist die Zuordnungstabelle zu aktualisieren. Unter Debian/Ubuntu sind die MAC-Adressen in der Datei /etc/udev/rules.d/70-persistent-net.rules anzupassen. Es lassen sich auch auf diese Art virtuelle Maschinen importieren, die ohne Proxmox generiert wurden.

[bearbeiten] OpenVZ

OpenVZ (siehe http://qemu-buch.de/d/Anhang/_Weitere_Virtualisierer_und_Emulatoren/_OpenVZ) ist eine Software für Linux zur Virtualisierung des Betriebssystems. Open-VZ-Container können daher nur Linux-Systeme enthalten und werden mit Hilfe von Templates generiert. Fertige Templates können aus dem Internet heruntergeladen werden. Dazu aktiviert man im Storage local den Reiter Content und klickt auf Templates. In der Dialog-Box wählt man das gewünschte Template aus. Es wird auf dem Proxmox-Server im Verzeichnis /var/lib/vz/template/cache gespeichert. Zur Aktualisierung der OpenVZ-Appliance-Liste gibt man auf der Konsole folgenden Befehl ein:

Host ~# pveam update

Zum Anlegen von virtuellen Maschinen klickt man in der rechten oberen Ecke auf Create CT. Es öffnet sich ein Wizard für die Konfiguration der virtuellen Maschine. Unter dem Reiter General ist der Node (Host-System), die VM ID, der Hostname (Name des Gast-System), das Resourcen-Pool, der Storage und das Passwort für den User root festzulegen. Unter dem Reiter Template wählt man eines der heruntergeladenen Templates aus. Unter dem Reiter Resources ist der Memory (Arbeitsspeicher), der Swap, die Disk size und die Anzahl der CPUs vorzugeben. Unter dem Reiter Network definiert man die IP-Adresse des Gast-Systems. Unter dem Reiter DNS gibt man die DNS-Domain und die DNS-Server an.

Nach dem der Open-VZ-Container mit dem Linux-Gast-System generiert wurde, erscheint dessen Hostname in der linken Liste bei Server View. Zum Starten der virtuellen Maschine wählt man diese in der Liste aus und klickt auf Start rechts oben. Anschließend klickt man rechts oben auf Console, um sich mit dem Linux-Gast-System zu verbinden. Man kann sich aber auch gleich per SSH in das Gast-System einloggen. Falls man die vergebene IP-Adresse vergessen hat, findet man diese unter dem Reiter Network.

[bearbeiten] Virtuelle Maschinen verwalten

Um eine virtuelle Maschine zu verwalten, klickt man sie in der linken Liste an (Server View). Je nach Virtualisierungslösung erhält man dabei unterschiedliche Reiter.

[bearbeiten] KVM

[bearbeiten] OpenVZ

[bearbeiten] Backup/Restore virtueller Maschinen

Regelmäßge Backups für virtuelle Maschinen per Cronjobs werden unter dem Reiter Backup unter Datacenter definiert. Vorher muss erst unter dem Reiter Storage ein entsprechendes Storage für die Backups eingerichtet werden. Dies kann ein Directory, eine LVM-Gruppe, ein NFS-Share oder ein iSCSI-Target sein. Ist das Backup-Storage angelegt, ist unter dem Reiter Backup die Backup-Jobs einzurichten. Dazu ist das angelegte Storage, der Wochentag und die Uhrzeit und die zu sichernden virtuellen Maschinen auszuwählen. Zum Versenden des Backup-Protokolls ist die E-Mail-Adresse des Admins anzugeben. Es stehen die Kompressionsalgorithmen LZO (schnell) und Gzip (gut) beziehungsweise keine Kompression (sicher) zur Verfügung. Es stehen folgende Backup-Modi zur Verfügung:

Backup-Jobs werden in der Datei /etc/cron.d/vzdump gespeichert. Falls die Optionen des Web-Interfaces nicht ausreichen, konfiguriert man vzdump auf der Konsole (siehe man vzdump).

Für ein Restore einer virtuellen Maschine wählt man diese aus und klickt auf den Reiter Backup. Nach Auswahl des wiederherzustellenden Images klick man auf Restore. Auf der Konsole wird das Restore mit vzrestore (Open VZ) beziehungsweise qmrestore (KVM) angestossen. Wurde die virtuelle Maschine gelöscht, wählt im Backup-Storage die gewünschte Sicherungsdatei aus und klickt dann auf Restore.

[bearbeiten] Live Migration

Bei der Live-Migration werden virtuelle Maschinen im laufenden Betrieb von einem Proxmox-Node auf ein anderen Proxmos-Node im gleichen Proxmox-Cluster übertragen. So kann einer der Hosts für Wartungsarbeiten heruntergefahren werden. Bei OpenVZ-Container ist dies mit einem kurzen Ausfall von wenigen Minuten verbunden. KVM-Gast-Systeme sind fast durchgehend verfügbar. Voraussetzung ist, dass die Images der virtuellen Maschine aus einen Shared Storage liegen.

Damit eine virtuelle Maschine (KVM oder OpenVZ) im Live-Betrieb migriert wird, ist diese im Web-Interface auszuwählen und der Link Migrate rechts oben anzuklicken. Alternativ klickt man mit der rechten Maustaste auf die virtuelle Maschine in der linken Liste und wählt im Kontext-Menü Migrate aus. In der Dialogbox wählt man den Ziel-Host (Target node) und aktiviert Online für die Live Migration. Bei Problemen ist zu überprüfen, ob der Austausch der SSH-Key zwischen den Nodes korrekt erfolgte.

[bearbeiten] Zugriffsrechte

Proxmox VE kann zur Authentifizierung Microsoft Active Directory, LDAP, Linux PAM und den integrierten Proxmox-Authentifizierungsserver verwwenden. Die Attribute der Benutzer, Gruppen, Pools usw. werden jeweils in einer Zeile in der Datei /etc/pve/user.cfg gespeichert.

[bearbeiten] Benutzer

In Proxmox bestehen Benutzer-Namen aus zwei Teilen: userid@realm. Bei Login werden diese Teile zwar separat abgefragt, intern werden beide Teile zusammen gespeichert. Der realm definiert die Authentifizierungsart. Bei Linux PAM ist es pam. Der Superuser ist zum Beispiel root@pam.

Wird in der linken Liste Datacenter ausgewählt, steht der Reiter User zur Verfügung. Ein neuer Benutzer wird mit Add hinzugefügt. Es werden folgende Attribute pro Benutzer gespeichert:

User-Name:    eindeutiger Benutzername
Realm:        PAM, Proxmox VE Authentifizierung, ADS, LDAP
Group:        Auswahl einer vorher definierten Gruppe
Expire:       Ablaufdatum des Accounts
Enabled:      (de-)aktiv
First-Name:   Vorame
Last-Name:    Nachname
E-Mail:       E-Mail-Adresse
Comment:      Kommentar

[bearbeiten] Gruppen

Jeder Benutzer kann Mitglied mehrerer Grupppen sein. Über die Gruppenmitgliedschaft lassen sich Zugriffsrechte verwalten. Wird in der linken Liste Datacenter ausgewählt, steht der Reiter Groups zur Verfügung. Eine neue Gruppe wird mit Add hinzugefügt.

Name:         Name der Gruppe
Comment:      Kommentar

[bearbeiten] Objekte und Pfade

Zugriffsrechte gelten für Objekte, wie zum Beispiel virtuelle Maschinen (/vms/{vmid}) oder Storage (/storage/{storeid}). Proxmox verwendet Pfade, wie bei einem File-System zur Adressierung solcher Objekte. In dieser Baumstruktur werden Zugriffrechte hierarchich vererbt.

[bearbeiten] Privilegien

Ein Privileg ist das Recht eine bestimmte Aktion durchzuführen. Zur Vereinfachung werden mehrere Privilegien in Rollen gruppiert, die zur Zuweisung von Zugriffsrechten angewendet werden. Proxmox verwendet folgende Privilegien:

Privilegien im Zusammenhang mit virtuellen Maschinen

Privilegien im Zusammenhang mit Storage

[bearbeiten] Rollen

Rollen sind Listen von Privilegien. Proxmox verfügt über vordefinierte Rollen, die für den meisten Ansprüchen genügen. Hier einige Beispiele:

Wird in der linken Liste Datacenter ausgewählt, steht der Reiter Roles zur Verfügung. Hier werden die vordefinierten Rollen und ihre Privilegien aufgelistet.

[bearbeiten] Zugriffsrechte (Permissions)

Zugriffsrechte definieren den Zugriff auf Objekte. Technisch stellen bestehen sie aus einem Triple (Pfad, Benutzer, Rolle).


Wird in der linken Liste Datacenter ausgewählt, steht der Reiter Permissions zur Verfügung. Eine neues Zugriffsrecht wird mit Add hinzugefügt. Es können Zugriffsrechte für Gruppen (Group Permission) und Benutzer (User Permission) hinzugefügt werden. Zu empfehlen ist die Zuweisung von Gruppen-Zugriffsrechten. Dazu muss vorher die entsprechende Gruppe definiert worden sein (siehe oben).

Path:         Pfad (siehe oben Objekte und Pfade)
Group:        Gruppe (siehe oben Gruppen)
Role:         Rolle (siehe oben Rollen)
Propagate     Vererbung (siehe oben Objekte und Pfade)

[bearbeiten] Pools

Mit Pools definiert man ein Set von virtuellen Maschinen und Data-Storage. Pools dienen zur einfachen Verwaltung von Zugriffsrechten (/pool/{poolid}). Pools definiert man unter dem Reiter Pools unter Datacenter. Mögliche Pools können zum Beispiel Test-Pool, Developer-Pool und Production-Pool sein. Wird in der linken Liste ein Pool ausgewählt, werden folgende Reiter angezeigt:


[bearbeiten] Zugriffsrechte per Kommandozeile

<<<|###| >>>

Von „http://qemu-buch.de/de/index.php?title=QEMU-KVM-Buch/_Managementtools/_Proxmox_VE

Diese Seite wurde bisher 28.843 mal abgerufen. Diese Seite wurde zuletzt am 16. April 2013 um 18:49 Uhr geändert. Inhalt ist verfügbar unter der GNU Free Documentation License 1.2.


Finden

Blättern

News

Deutsch
Weitersagen
Tipps für Autoren
Autoren
Impressum


English
Recommendation
The Authors
Contact



Letzte Änderungen


Ändern
Seite bearbeiten
Bearbeitungshilfe
Seitenoptionen
Diskussion
Kommentar hinzufügen
Druckversion
Seitendaten
Versionen
Links auf diese Seite
Änderungen an verlinkten Seiten
Meine Seiten
Anmelden
Spezialseiten
Neue Seiten
Dateiliste
Statistik
Kontakt
Mehr …