Nach dem Neustart bitte als Benutzer einloggen, ein Terminal öffnen und mit 'su -' und dem Root-Passwort zum Chef aufsteigen.
Achtung: jetzt müssen alle Festplatten angeschlossen sein!
Die folgenden grossen Pakete brauche ich auf dem Server nicht. Weg damit - nicht dass der Upgrade noch Updates für die macht...
apt-get remove libreoffice-core // Office-Paket libreoffice-common xsane-common // Scanner quodlibet // Musik-Verwaltung vlc // Video-Player
Und jetzt noch die rund 160 überflüssigen Pakete entfernen
apt-get autoremove
Es macht Sinn, einen Server zu wählen, der netz-geografisch in der Nähe ist.
Zusätzlich müssen wir auch noch das Proxmox-Repository eintragen.
Bei mir sieht die '/etc/apt/sources.list' dann so aus:
deb http://ftp.ch.debian.org/debian jessie main deb http://ftp.ch.debian.org/debian jessie-updates main deb http://security.debian.org/ jessie/updates main deb [arch=amd64] http://download.proxmox.com/debian jessie pve-no-subscription
(Als Editor stehen für die Konsole vi und nano zur Verfügung - der grafische Editor von XFCE ist mousepad.)
Zusätzlich muss noch der Key für Proxmox bestätigt werden
wget -q http://download.proxmox.com/debian/key.asc -O- | apt-key add -
Jetzt kommt der 'Klassiker'
apt-get update apt-get upgrade
Einige notwendige Pakete.
apt-get install iceweasel-l10n-de // Deutsch attr // erweiterte Datei-Attribute acl // AccessControlList Tools gdisk // fdisk für GPTk ntp // Zeit periodisch Abgleichen ssh // Fernwartung postfix // ersetzt exim freerdp-x11 // Windows VM per RDP anstelle der Konsole php5-cli // PHP-Interpreter
Zu Postfix: Internet-Site wählen, der Hostname müsste passen (bitte kontrollieren! und gegebenenfalls zurück zum Start!)
Optional, aber für mich standard
apt-get install mc // Midnight-Commander joe // Einfacher Text-Editor gparted // Partitions-Verwaltung gddrescue // erweitertes DD hdparm // Disk-Parameter bearbeiten gsmartcontrol // Disk-Status auslesen wodim // CD/DVD brennen
Proxmox bringt einen eigenen aktuelleren Kernel mit.
apt-get install pve-headers-4.4.35-2 pve-kernel-4.4.35-2 pve-firmware
Wichtig #1: unbedingt den 4.4.35 und
nicht den 3.16.0 wählen!
Standard müsste der richtige sein, aber bitte kontrollieren!
Wichtig #2: Falls die grafische Oberfläche nicht gestartet wird und ein Intel-Prozessor mit integrierter Grafik zuständig ist, muss die Grub-Konfiguration unter /boot/grub/grub.cfg ergänzt werden
linux /boot/vmlinuz-[...] ro quiet linux /boot/vmlinuz-[...] ro quiet momodeset i915.modeset=0
Diese Anpassung muss nach jedem Kernel- oder Grub-Update (genauer: immer wenn die grub.conf automatisch generiert wird) erneuert werden! Also zum Beispiel gleich nach dem nächsten Schritt: Durch das entfernen des Debian-Kerns wird die grub.conf automatisch neu erstellt, und die Optionen fehlen wieder...
Nach dem erfolgreichen Neustart (mit grafischer Oberfläche) geht es hier weiter...
Als erstes müssen wir den Network-Manager entfernen. Wir verwalten die Netzwerke mit proxmox.
Gleichzeitig können wir auch den Debian-Kernel und den OS-Prober (Grub-Komponente) entfernen.
apt-get remove network-manager linux-image-3.16.0 os-prober
Wie bereits erwähnt hat der Rechner 2 Schnittstellen.
Bis auf weiteres ist nur die externe 'eth0' angeschlossen! Die interne 'eth1' bleibt bis auf weiteres inaktiv.
Nach der Installation der Proxmox-Dienste lässt sich die Domain nicht mehr ändern, die IP-Adresse aber schon. Deshalb nutzen wir im Moment auf der externen Karte die interne domain "intern.comasys.ch". Der Host wird auf keiner der physikalischen Netzwerk-Adressen erreicbar sein sondern nur auf der internen "192.168.99.248" und über die Firewall mit der Aussenwelt in Kontakt treten.
Die interne IP-Adresse des Systems muss unbedingt statisch sein, ansonsten wird die folgende resolv.conf durch den dhcp-Client überschrieben. Im folgenden gehe ich davon aus, dass der aktuelle Router die IP 62.2.169.40 hat, und dass die .248 frei ist.
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 62.2.169.248 netmask 255.255.255.240 gateway 62.2.169.40 auto eth1 iface eth1 inet manual
Als Name-Server setzte ich für den Moment den öffentlichen von Google ein.
Die Domain muss gültig sein. Die hier als Beispiel verwendete 'local.comasys.ch' muss ZWINGEND durch eine gültige Domain ersetzt werden!
Weder die Domain noch der Host-Name lassen sich nach der Installation von Proxmox ändern - zumindest nicht mit vernünftigem Aufwand. Wer also bei der Installation des Debian-Systems nicht die gültige Domain oder den passenden Host-Namen eingetragen hat, hat jetzt die letzte Möglichkeit zur Korrektur!
domain intern.comasys.ch nameserver 8.8.8.8
127.0.0.1 localhost 62.2.169.248 proxmox1.intern.comasys.ch proxmox1 ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
proxmox1
Viele meiner Scripts sind für die bash optimiert und funktionnieren mit der dash nicht
dpkg-reconfigure dash
Ich bin Schweizer, also brauche ich sowohl de_CH-8859-1 (optional, nicht zwingend) als auch de_CH-UTF-8 mit UTF-8 als default
dpkg-reconfigure locales
Und die TimeZone auf Europe/Zürich
dpkg-reconfigure tzdata
Nach dem ich den MidnightCommander installiert habe, setze ich den 'mcedit' als Standard-Editor
update-alternatives --config editor
Falls die Tastatur falsch konfiguriert sein sollte:
dpkg-reconfigure keyboard-configuration
Wer ZFS noch nicht kennt, hat hier was zum lesen:
Für Debian-Jessie steht ein Backport zur verfügung.
Das Repo wird mit folgender Zeile in /etc/apt/sources.list aktiviertdeb http://ftp.debian.org/debian jessie-backports main contrib
Weiter mit
apt-get update apt-get install -t jessie-backports zfs-dkms
Wichtig: Anschliessend werden die Festplatten eingerichtet. Die weiteren Platten müssen spätestens jetzt angeschlossen werden!
Gegebenfalls jetzt also nicht neustart, sondern runterfahren und ausschalten, die Platte(n) anschliessen und Rechner wieder einschalten.
Nach diesem Neustart ist sowohl die neue Netzwerk-Konfiguration aktiv, als auch das ZFS bereit.
Jetzt müssen wir noch ZFS-Parameter anpassen:
zfs set acltype=posixacl Pool1 zfs set aclinherit=passthrough Pool1
In der Regel habe ich eine SSD plus mindestens eine Festplatte. Auf der SSD ist eine kleine System-Partition die bereits bei der Installation von Debian erstellt wird. Der Rest der SSD wird als Proxmox-Storage verwendet, wobei ich in der Regel ca 10% freilasse (mit aktuellen SSD wäre das eigentlich nicht mehr notwendig, die haben in der Regel genug Reserve).
Sowohl /temp als auch Swap sind nicht auf der SSD sonder auf einer Festplatte. Auch die Datenpartition landet auf einer Festplatte, ebenso ein Bereich für Proxmox-Backup.
Wie gross die Proxmox-Storage sein muss hängt davon ab, wieviele CT und VM notwendig sind. Die CT (Container) und VM (Virtual Machines) liegen in einem ZFS Pool. Für einen Debian-CT reichen 2GB, alfällige Daten-Partitionen für diese CT habe ich auf der Festplatte und hole die mit Bind-Mount in den CT. Für eine Windows-7 VM braucht es 24G (hibernate schalte ich jeweils aus, den Swap setze ich manuell auf 512MB).
Wenn die Windows-VM als Datenbank-Server läuft, erstelle ich in der Regel eine zweite virtuelle Platte. Von diesen Daten-Platten mache ich auch keine Proxmox-Backups, sondern erstelle mit den jeweiligen Datenbank-Tools ein Backup auf einer per Samba gemounteten Backup-Partition. Details dazu folgen im weiteren Verlauf der Installation abhängig von der Disk-Konfiguration.
ACHTUNG:
falls nach dem partitionnieren die neuen Partitionen mit "ls -la /dev/sd*" nicht sichtbar sind,
muss der Kernel dazu gezwungen werden, die Tabellen neu einzulesen.
Ich nutze dazu 'gparted' - starten und gleich wieder verlassen.
Falls das nichts nützt, bleibt leider nur ein Neustart.
(z.Bsp Western Digital Black mit je 1.5TB)
Während der Grund-Installation ist nur die erste Disk angeschlossen! Jetzt müssen aber alle drei angeschlossen sein.
swapoff -a mkswap -LSwap /dev/sdc1
mkfs.ext4 -LTemp /dev/sdb1
sda1 sollte das Label 'System' erhalten (sollte bereits während der Installation erfolg sein)
tune2fs -LSystem /dev/sda1
zpool create -f -o ashift=12 Pool1 raidz1 /dev/sda2 /dev/sdb2 /dev/sdc2
Die '/etc/fstab' wird komplett ersetzt
LABEL=ProxMox / ext4 user_xattr,errors=remount-ro 0 1 LABEL=Temp /tmp ext4 user_xattr 0 1 LABEL=Swap none swap sw 0 0
Wie bereits füher erwähnt, arbeite ich gerne mit Labels. Wer mir dabei nicht gefolgt ist, muss anpassen...
Jetzt alle Partitionen aktivieren
mount -a swapon -a
"chmod 1777 /tmp" nicht vergessen !!
Userspace-Daemon zur Bereitstellung von Entropie. Ist nicht unbedingt notwendig, aber dringend zu empfehlen:
apt-get install haveged
Die Kernel-Module des alten Kerns werden bei der deinstallation nicht sauber gelöscht.
Auch die Config- und Spool-Dateien für exim4 werden beim ersetzen durch postfix nicht alle entfernt.
Da wir beides nicht mehr benötigen können wir etwas Platz freiräumen.
rm -rf /lib/modules/3.16.0* rm -rf /etc/exim4 rm -rf /var/spool/exim4 rm -rf /var/log/exim4 rm /etc/default/exim4
Nochmals ein Update/Upgrade
apt-get update apt-get upgrade
Die folgende Tabelle zeigt die zu erwartenden Antworten für verschiedene Aufrufe von 'hostname'
Befehle | Antwort | |
---|---|---|
hostname -s | proxmox1 | short host name |
hostname -d | intern.comasys.ch | DNS domain name |
hostname -f | proxmox1.intern.comasys.ch | long host name (FQDN) |
hostname -i | 62.2.169.248 | ip addresses |
hostname -A | proxmox1.intern.comasys.ch | All FQDN |
hostname -I | 62.2.169.248 | all ip addresse |
Wichtig:
Falls keine plausiblen Werte geliefert werden, nochmals über die Bücher!
pve-cluster lässt sich nicht installieren, falls da was nicht passt!!
Auch hier wieder: Gegebenenfalls zurück zum Start!!!
Nach diesem Neustart unbedingt obige Validiereung nochmals durchführen. Ebenso mit 'mount' und 'zpool list' kontrollieren, ob alles da ist. Und dann weiter mit dem nächsten Kapitel.