| Version 17 (modified by , 13 years ago) ( diff ) |
|---|
Einen ProxMox 2 - Server aufsetzen
Ziel ist es einen ProxMox 2.0-Server auf einem Debian6 (Squeeze) mit Raid1 über mehrere Platten und LVM zu installieren.
Debian Squeeze installieren
Man startet von CD oder USB-Stick einen Debian-Squeeze (6.X) Installer. Nach der Auswahl der Spache, Tastaturlayout, etc. muss man die Platte manuell einrichten. Wir verwenden mehrere Platten als Raid1-Array (maximale Sicherheit).
Raid1
Zunächst muss auf allen Platten der gesamte Platz für Raid1 partitioniert werden. Seit Grub2 kann Grub direkt von einem LVM-Volume auf einem Raid1 booten (früher musste ein extra Raid1 für /boot erstellt werden, so steht es auch noch in der Proxmox-Anleitung http://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Squeeze).
auf jeder Platte: Partition für Raid (komplette Platte als Primärpartition) erstellen
- Typ: RAID zuweisen
- Bootflag setzen
Software-RAID konfigurieren: MD-Gerät erstellen
- Typ: Raid1
- alle Platten einbinden / Reservegeräte: 0
- Partitionen auswählen
- erstellen
LVM
Nun muss ein LVM auf dem Raid1 aufgesetzt werden, das das Device /dev/md0 benutzt. In diesem LVM werden logische Volumes erstellt (Größe ist eigentlich unwichtig, da diese später verändert werden kann, das ist die Stärke von LVM):
- LVM konfigurieren
- zunächst eine Volumegruppe (pve) auf /dev/md0 erstellen.
In dieser Gruppe werden vonm uns die Logical Volumes erstellt, die der Proxmox selbst zur Funktion benötigt. Die Logical Volumes, die in den VMs als Festplatten erscheinen, werden später vom Proxmox selbst in dieser VG erstellt. (Frage: sollte man hierfür eine eigene VG einrichten?)
- logische Volumes für den Proxmox selbst einrichten
- root
- minimal 4 GB laut PVE-Wiki (bei uns: 10GB)
- swap
- ungefähr Größe des Hauptspeichers (bei uns 16GB)
- eventuell data (falls OpenVZ verwendet werden soll)
- hier lagern die OpenVZ-Container, Backups und die Konfigurationsdateien
- Partitionsgöße je nachdem, wieviel benötigt wird
- systembackup
- Wird als "local storage" für Backups der VMs benutzt --> genügend Platz vorsehen!
- unbedingt am Ende Platz freilassen, dann funktionieren auch die Sekundenbackups
- root
- Fertigstellen der LVM-Konfiguration
- logische Volumes einhängen
- root
- Einhängen nach /
- ext3 (empfohlen im PVE-Wiki)
- swap
- eventuell data
- Einhängen nach /var/lib/vz
- ext3 (empfohlen im PVE-Wiki)
- root
Damit sind die Partitionierarbeiten erledigt. Für die KVE-VM können virtuelle Harddisks als LVM-Volumes generiert werden. Diese können dann per Snapshot im laufenden Betrieb "angehalten" werden, das Snapshot kann man dann in ruhe sichern OHNE dabei die VM anhalten zu müssen. Nach dem Sichern wird das Snapshot einfach verworfen.
Installieren des Debian 6 - Systems
Das Basissystem wird nun installiert und gebootet. Weiter geht es dann nach der Installationsanleitung unter http://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Squeeze
Achtung: Editieren der Datei /etc/hosts notwendig, damit der pve-cluster die lokale IP auflösen kann
127.0.0.1 localhost IP Name.kg-fds.de Name
Webmanagement-Konsole
Das Webmanagement erreicht man auf Port 443 (Proxmox2: Port 8006).
- Der Zugang ist über OpenVPN bequem möglich, z.B.: https://10.32.1.2 (proxmoxpaedml), https://10.32.2.106 (proxmoxltsp6)
- Aus dem roten Netz ist der Zugang im BelWUE-Router gesperrt (Tunneln über Port 22!).
- Aus dem grünen Netz ist der Zugang über eine .htaccess-Datei in /usr/share/pve-manager/root/ ausgeschaltet (Tunneln über Port 22!).
VNC - Serverbildschirme
Proxmox stellt die VNC-Konsolen mit dem Befehl
nc -v -l -p[PORT] -c "qm vncproxy [VMID]"
extern zur Verfügung und verwendet dazu allerdings das VNC2-Protokoll mit Authentifizierung und Verschlüsselung. Das kann derzeit nur TigerVNC (Windows) unter Linux kein einziger VNC-Client. Der mitgelieferte Java-Client hat bei mir nicht funktioniert.
OpenVZ
Für OpenVZ-Clients ist es mit dem Befehl
vzctl enter [VMID]
kein Problem, in die VM zu kommen. Der Rest kann über das WebFrontend erledigt werden.
KVM
In der /etc/qemu-server/[VMID].conf (Proxmox2: /etc/pve/qemu-server/[VMID].conf) kann die Zeile
args: -vnc 10.16.209.X:0, password # VNC-Konsole nur auf Lehrernetz args: -vnc :0, password # VNC-Konsole auf allen Interfaces
eingefügt werden, dann ist die VM aus dem grauen Netz auf Port 5900 erreichbar. Bei mehreren VNC-Konsolen die Null durch eine andere Zahl ersetzen. Damit die Konsole erreichbar ist muss nach dem Start der VM ein Passwort in der Konsole (qm monitor oder im WebInterface) ein Paswort setzen mit set_password vnc <password>.
Weitere Installationen
Zum praktischen Arbeiten mit dem neuen Proxmox braucht man noch ein paar Kleinigkeiten, die hier zusammengefasst sind:
Ssh-Schlüssel von root kopieren
Während der Einrichtung des neuen Servers wurde ein ssh-Schlüssel für den Nutzer "root" neu erstellt. Den benötigen wir nicht, stattdessen werden wir unseren netzwerkweiten ssh-Schlüssel für root auf die neue Maschine kopieren:
Auf dem neuen Proxmox:
proxmox# cd .ssh proxmox# mv id_rsa.pub id_rsa.pub--disabled proxmox# mv id_rsa id_rsa--disabled
Vom paedml aus (für <proxmox> den richtigen Hostnamen einsetzen):
paedml# scp id_dsa <proxmox>:.ssh paedml# scp id_dsa.pub <proxmox>:.ssh paedml# ssh-copy-id -l /root/.ssh/id_dsa.pub <proxmox>
Ab jetzt sollte man sich vom paedml auf dem proxmox und umgekehrt per ssh und ohne Eingabe des Passworts einloggen können.
Abschließend die Passwortautentifizierung in /etc/ssh/sshd_config verbieten:
PasswordAuthentication no
Screen, kpartx, PartEd, Subversion und LTSP-Setup-Skript
Für das "abbruchsichere" Arbeiten auf entfernten Servern empfiehlt sich unbedingt das screen-Tool. Das Tool kpartx brauchen wir, um von außen in die virtuelle Festplatte des Clients schauen zu können (weil diese eine Partitiontabelle enthält). Früher oder später wird man auch parted nutzen wollen, um die Partitionstabelle des Hostsystems zu überprüfen. Schließlich brauchen wir das subversion-Paket, um die LTSP-Setup-Skripte per svn auszuchecken:
proxmox# apt-get update proxmox# apt-get install screen kpartx parted subversion
Dann können die Skripte ausgecheckt werden (vgl. AdminSvn) mit
proxmox# svn checkout svn+ssh://paedml.kg-fds.de/srv/svn/keplertools/LTSP-setup/trunk LTSP-setup