Unterschiede zwischen den Revisionen 1 und 33 (über 32 Versionen hinweg)
Revision 1 vom 2012-02-16 11:27:22
Größe: 6271
Kommentar:
Revision 33 vom 2012-07-06 09:20:34
Größe: 12256
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 5: Zeile 5:
Die Kerninfrastruktur im Projekt IT Zukunft-Schule besteht aus mindestens einem Debian/Edu Skolelinux Zentralserver, auf dem die Infrastrukturverwaltung und -steuerung installiert wird.

Um die Betreuung dieses Zentralservers einfacher zu gestalten und eine bessere Administrierbarkeit zu erreichen, werden die Serverkomponenten nicht direkt installiert. Als erste Ebene wird ein Virtualisierungsserver auf dem Zentralserver installiert. Auf diesem Virtualisierungsserver werden dann die Debian Edu/Skolelinux Server als virtuelle Maschine installiert.

== Virtualisierungsserver ==

Der Virtualisierungsserver stellt den virtuellen Maschinen Teile der Hardware standardisiert zur Verfügung. Der folgende Abschnitt beschreibt die Installation des Virtualiserungsserver auf der zentralen Serverhardware. Die Details der Installation unterscheiden sich dabei je nach Hardwareausstattung des Servers und Nutzungsszenario. An den entsprechenden Textpassagen werden Beispielwerte angegeben, die an die Gegebenheiten angepasst werden müssen.

Folgende Schritte zur Installation des Virtualisierungsservers durchführen:

 * Zentralserver mit dem Internet verbinden
Die Kerninfrastruktur im Projekt IT Zukunft-Schule™ besteht aus mindestens einem zentralen Server, auf dem die Infrastrukturverwaltung und -steuerung des Schulnetzwerks installiert wird. Auf diesem zentralen Server kommt [[Technik/Virtualisierung|Virtualisierung]] zum Einsatz.

Bevor also mit der Installation der Server-Kompenenten für das Pädagogische Schulnetz begonnen werden kann, muss als erste Ebene die Software für Server-Virtualisierung auf dem zentralen Server installiert werden. In der Virtualisierungsumgebung werden dann die Komponenten des Debian Edu / Skolelinux Netzwerks installiert.

Für große Schulen kommen mehrere Virtualisierungs-Server zum Einsatz und die Dienste des Debian Edu / Skolelinux Netzwerks werden dann auf mehrere physikalische Maschinen verteilt.

=== Vorbereitungen ===

Vor der Basisinstallation des ersten Virtualisierungs-Servers muss die [[Technik/Installation/InternetUplink|Internet-Anbindung]] der Schule entsprechend der IT-Zukunft Schule™ [[Technik/Infrastruktur|Netzwerktopologie]] eingerichtet werden. Desweiteren muss eine Backbone-Switch für das Backbone-Netz bereit stehen, welche mit dem Backbone-VLAN des Internet-Routers verbunden ist.

Im Backbone-Netz ist standardmäßig ein DHCP-Server aktiv (auf Router für die Internet-Anbindung), so dass angeschlossene Systeme (neue aufzusetzende Server, Notebooks von System-Admins, etc.) sofort Zugriff auf das Internet bekommen können.

=== Basisinstallation ===

Der Virtualisierungs-Server stellt den virtuellen Maschinen Teile der Hardware standardisiert zur Verfügung. Der folgende Abschnitt beschreibt eine allgemeine Installation des ersten/zentralen Virtualiserungs-Servers. Die Details der Installation unterscheiden sich dabei je nach Hardware-Ausstattung des Servers und Nutzungsszenario (Größe der Schule, etc.). In den entsprechenden Textpassagen werden Beispielwerte angegeben, die an die Gegebenheiten der jeweiligen Schule individuell angepasst werden.
Zeile 19: Zeile 23:
 * ein startfähiges Debian (aktuelle Version: squeeze) Medium (CD-ROM oder USB Stick) erstellen. Entsprechende Dateien können von der Homepage: http://www.debian.org/CD/http-ftp/ heruntergeladen werden. Um Verwechslungen vorzubeugen, an dieser Stelle verwenden wir noch nicht Debian Edu/Skolelinux, das kommt erst bei der Installation der virtuellen Maschinen zu Einsatz.

 * vom erstellten Medium den Zentralserver booten

 * folgende Punkte in den angezeigten Menüs wählen: "Install", "german", "Deutschland" und "deutsch"

 * die Netzwerkschnittstelle mit Zugang zum Internet angeben
 * Ein startfähiges Medium mit [[ http://www.debian.org/CD/http-ftp/|Debian GNU/Linux stable]] (CD-ROM oder USB Stick) erstellen. Um Verwechslungen vorzubeugen: An dieser Stelle verwenden wir noch nicht Debian Edu / Skolelinux, das kommt erst bei der Installation der virtuellen Maschinen zum Einsatz.

 * Vom erstellten Medium den Virtualisierungs-Server booten.

 * Die folgende Antworten in den angezeigten Menüs auswählen: ''Install'', ''German'', ''Deutschland'' und ''Deutsch''

 * Die Netzwerkschnittstelle mit Zugang zum Internet angeben (in Klammern markiert durch die Bezeichnung ''Copper''). Der Server sollte so verkabelt sein, dass {{{eth0}}} für das Backbone-Netzwerk genutzt wird.
Zeile 29: Zeile 33:
 * Rechnername: "virt-man-01"

 * domain: "backbone"

 * Passwort für den Benutzer:"root" eintragen. WICHTIG!!! Passwort notieren

 * Benutzername für lokalen Administrator: "locadm"

 * Benutzernamen bestätigen

 * Passwort für den lokalen Administrator eintragen und bestätigen. WICHTIG!!! Passwort notieren

=== Festplattenunterteilung ===

Im nachvollgenden Dialog werden die Festplatten partitioniert. In den Zentralservern sind kleine, schnelle SAS Festplatten und langsamere SATA Festplatten eingebaut. Die schnellen Platten werden für die Homeverzeichnisse der Lehrer und Schüler und für die Ablage der Bootimages der Diskless-Workstations verwendet. Auf den langsamen Festplatten liegen die Betriebssysteme der Server. Die Einteilung der Festplatten fällt von Schule zu Schule unterschiedlich aus. Sie ist abhängig von der Zahl und Größe der Festplatten, sowie der Größe des eingebauten Arbeitsspeichers.

Eine Einteilung könnte zum Beispiel so aussehen:

für das System des Virtualiserungsservers:
20Gb auf Festplatte 1 und Festplatte 2 als Raid 1
Swap-Partitionen: Größe des Arbeitsspeichers plus 2Gb auf alle schnellen Platten verteilt
LVM Volume anlegen

...

mdadm --create /dev/mdx -l1 -n2 /dev/sdx2 /dev/sdy2

dpkg-reconfigure mdadm

pvcreate /dev/mdx
vgcreate vm-fast-vg /dev/mdx /dev/mdy (kleine schnelle Platten)
vgcreate vm-slow-vg /dev/mdz (große Platten)

Bsp:.
lvcreate vm-slow-vg tjener.intern_sda 400G (fast mit -i2; striping geht nicht)
 * Rechnername: {{{virt-man-01}}} (weitere Virtualisierungs-Server werden durchnummerier: {{{virt-man-02}}}, {{{vir-man-03}}}, etc.)
 * domain: {{{backbone}}}
 * Passwort für den Benutzer: {{{root}}} eintragen. ''Wichtig!!! Passwort notieren!!!''
 * Vor- und Zuname für neuen/ersten Benutzer: {{{Local Administrator}}}
 * Benutzername für lokalen Administrator: {{{locadm}}}
 * Passwort für den lokalen Administrator eintragen und bestätigen. ''WICHTIG!!! Passwort notieren!!!''
 * Im nachfolgenden Dialog des Debian Installers werden die Festplatten partitioniert.
    * Partitionierungs-Methode: manuell
    * root-Dateisystem: 20Gb, als Software RAID-1 (/dev/md0) konfigurieren
    * Swap-Space: Arbeitsspeicher +2Gb auf alle schnellen Platten gleichmäßig verteilen
       * optional: Arbeitsspeicher +2Gb auf die zwei langsamen Platten gleichmäßig verteilen
    * Raid-Device (/dev/md0) als ext3-Dateisystem formatieren, Einhängepunkt: ,,/"
 * Software-Installationsprofil ({{{tasksel}}}): grafische Oberfläche abwählen, SSH-Server zusätzlich auswählen

FixMe: Wenn der Server nach der Installation nicht bootet, sollte nach einem {{{grub-install /dev/sdX}}}, {{{grub-install /dev/sdY}}} UND {{{grub-install /dev/md0}}} sowie einem anschließenden {{{update-grub}}} alles funktionieren.

=== Grundeinrichtung ===

 1. Nachdem die Grundinstallation abgeschlossen ist als {{{locadm}}} einloggen.

 1. Als {{{root}}} das Programm {{{sudo}}} installieren. {{{
$ su -c "apt-get install sudo"
}}}

 1. Den User {{{locadm}}} in die Gruppe {{{sudo}}} eintragen. Eingabe mit {{{root}}}-Kennwort bestätigen. __Danach:__ ausloggen und wieder als {{{locadm}}} einloggen. {{{
$ su -c "adduser locadm sudo"
}}}

 1. Nachinstallation von Software:{{{
$ sudo apt-get install lxde libvirt-bin qemu-kvm etherboot-qemu etckeeper mc vim virt-manager xinit htop nload nmap sysstat tree bridge-utils lvm2 iceweasel iceweasel-l10n-de
}}}

 1. Nach der Installation {{{mcedit}}} als Editor in den Debian "Alternatives" festlegen.{{{
sudo update-alternatives --config editor
}}}

 1. Den Editor {{{mcedit}}} durch Dürcken von F9 und Auswählen (Pfeiltasten auf Tastatur) des Menüpunkts ''Optionen -> Allgemein'' wie folgt konfigurieren:
   * "Backspace durch Tabs" auswählen
   * "Tabs mit Leerzeichen auffüllen" auswählen
   * "Return rückt automatisch ein" abwählen

 1. In {{{/etc/apt/sources.list}}} für alle Varianten {{{contrib}}} und {{{non-free}}} hinzufügen.
 1. GDM-Konfiguration (Greeter) so anpassen, dass der Anmelde-Bildschirm den Hostnamen anzeigt:{{{
locadm@virt-man-01:/etc/gdm$ diff -u gdm.conf.orig gdm.conf
--- gdm.conf.orig
+++ gdm.conf
@@ -62,6 +62,9 @@
Zeile 65: Zeile 81:
lvcreate vm-slow-vg tjener.intern_sda sizex
lvcreate vm-fast-vg tjener.intern_sdb sizex
lvcreate vm-slow-vg disklserver.intern_sda sizex
lvcreate vm-fast-vg disklserver.intern_sdb sizex
lvcreate vm-slow-vg ltsperver00.intern_sda sizex

vgchange -a y vm-fast-vg

=== Grundeinrichtung ===

Nachdem die Grundinstallation abgeschlossen ist als "locadm" einloggen.

 * Den User "locadm" der Gruppe "fuse" hinzufügen.

Als nächsten müssen die folgenden Pakete nachinstalliert werden:

 * lxde
 * libvirt-bin
 * qemu-kvm
 * etherboot-qemu
 * etckeeper
 * gnome-session
 * gnome-terminal
 * mc
 * vim
 * virt-manager
 * xinit
 * htop
 * nload
 * nmap
 * sysstat
 * tree

Nach der Installation "mc" als Editor in den Debian "Alternatives" festlegen. "MCEdit" in Optionen/Allgemein wie folgt konfigurieren:
 * "Backspace durch Tabs" auswählen
 * "Tabs mit Leerzeichen auffüllen" auswählen
 * "Return rückt automatisch ein" abwählen

In /etc/apt/sources.list für alle Varianten "contrib" und "non-free" hinzufügen.

=== X2go Installation ===

Die folgende X2go Softwarequelle in /etc/apt/sources.list.d/x2go.list anlegen:
deb http://packages.x2go.org/debian squeeze heuler (später wird hier main anstatt heuler eingetragen)

Installation von X2go:
 * Paketquellen neu einlesen
 * x2go-keyring installieren
 * Paketquellen neu einlesen
 * Pakete installieren: x2goserver x2golxdebindings
 [greeter]
 
+DefaultWelcome=false
+Welcome=%n
+
 [chooser]
 
 [debug]
}}}

=== Aktualisierung gezielter Pakete via Debian squeeze-backports und ITZkS-Repository ===

Zwei zusätzliche APT-Quellen werden hinzugefügt:{{{

$ editor /etc/apt/sources.list.d/backports.list

"""
deb http://ftp.de.debian.org/debian-backports squeeze-backports main contrib non-free
"""
}}}{{{
$ editor /etc/apt/sources.list.d/itzks.list

"""
deb http://packages.it-zukunft.schule.de/debian squeeze main
deb http://packages.it-zukunft.schule.de/debian squeeze-backports main
"""

$ apt-get update && apt-get install itzks-keyring && apt-get update
}}}

Aus diesen Quellen werden die folgenden Pakete installiert:{{{
$ apt-get install -t squeeze-backports libvirt-bin linux-image-3.2.0-0.bpo.2-amd64 linux-headers-3.2.0-0.bpo.2-amd64 qemu-kvm
$ apt-get install virt-manager
}}}

=== Festplattenpartitionierung (im Detail) ===

Im ersten/zentralen Virtualisierungs-Server werden schnelle SAS-Festplatten (geringe Kapazität, schneller Zugriff, teuer) und langsamere SATA-Festplatten (größere Kapazität, langsamerer Zugriff als bei SAS-Platten, kostengünstiger) eingebaut.

  * Die schnellen SAS-Festplatten werden für die Benutzerverzeichnisse von Lehrer/innen und Schüler/innen und für die Ablage der Boot-Images der Diskless-Workstations verwendet.
  * Auf den nicht ganz so performanten SATA-Festplatten liegen die Betriebssysteme der Server sowie Daten deren Zugriff nicht geschwindigkeitskritisch ist.

Die Einteilung der Festplatten fällt von Schule zu Schule unterschiedlich aus. Sie ist abhängig von der Zahl und Größe der Festplatten, sowie der Größe des eingebauten Arbeitsspeichers.

'''__Beispiel:__'''

 * Jeder Virtualisierungs-Server enthält eine gerade Anzahl von Festplatten, für Festplatten-Spiegelung wird in den meisten Fällen der RAID-Level-1 verwendet
 * RAID-Systemen werden stets mit der Software-Lösung im Linux-Kernel realisiert (sog. /dev/md-Devices)
 * SATA-Festplatte 1 und 2 werden 20 GByte als Raid (Level 1, Plattenspiegelung) für Betriebssystem des Virtualisierungs-Server reserviert
 * Swap-Partitionen: Größe des Arbeitsspeichers plus 2GByte auf alle schnellen SAS-Festplatten verteilt
 * Raid-Basis für LVM Volumes: jeweils zwei gleichgroße Partitionen auf baugleichen Festplatten zu RAID-Devices vom Level-1 zusammenfügen{{{
$ mdadm --create /dev/md1 -l1 -n2 /dev/sda2 /dev/sdb2
$ mdadm --create /dev/md2 -l1 -n2 /dev/sdc2 /dev/sdd2
# weitere RAID-1 Devices einrichten...
$ [...]
# alle RAID-1 Devices nach Neustart verfügbar machen...
$ /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf
$ dpkg-reconfigure mdadm
}}}
 * LVM Volume Groups anlegen:
   * Volume Group {{{vm-slow-vg}}} beinhaltet alle Level-1 RAIDs der langsameren Festplatten (SATA)
   * Volume Group {{{vm-fast-vg}}} beinhaltet alle Level-1 RAIDs der schnellen Festplatten (SAS){{{
$ pvcreate /dev/md1
$ pvcreate /dev/md2
$ [...]
# alle RAID-1 Devices der SATA-Festplatten zu einer Volume Group zusammenführen
$ vgcreate vm-slow-vg /dev/md<A1> /dev/md<A2> [...]
# alle RAID-1 Devices der SAS-Festplatten zu einer Volume Group zusammenführen
$ vgcreate vm-fast-vg /dev/md<B1> /dev/md<B2> [...]
}}}
 * LVM Volumes anlegen:
   * Logical Volumes für virtuelle Maschinen anlegen. Namenskonvention für LVs: {{{<host-fqdn>_sd{a,b,c,d,...}}}}{{{
$ lvcreate vm-slow-vg -n tjener.intern_sda -L 400G
$ lvcreate vm-fast-vg -n tjener.intern_sdb -L 400G
$ lvcreate vm-slow-vg -n disklserver.intern_sda -L 40G
$ lvcreate vm-fast-vg -n disklserver.intern_sdb -L 80G
}}}

FixMe: LTSP-Server ergänzen?

=== X2Go Installation ===

Die folgende X2Go-Paketquelle in {{{/etc/apt/sources.list.d/x2go.list}}} anlegen:{{{
deb http://packages.x2go.org/debian squeeze main
}}}

Installation von X2Go:

 1. Paketquellen neu einlesen{{{
$ sudo apt-get update
}}}
 1. Paket {{{x2go-keyring}}} installieren und Paketquellen neu einlesen.{{{
$ sudo apt-get install x2go-keyring && sudo apt-get update
}}}
 1. Pakete installieren: {{{x2goserver}}} und {{{x2golxdebindings}}}{{{
$ sudo apt-get install x2goserver x2golxdebindings
}}}
 1. Den User {{{locadm}}} der Gruppe {{{fuse}}} hinzufügen (um ''X2Go local folder sharing'' zu aktivieren).{{{
$ sudo adduser locadm fuse
}}}
Zeile 118: Zeile 184:
Der Zentralserver besitzt typischerweise zwei Netzwerkschnittstellen. Die eine Schnittstelle ist für das Backbone Netz (172.16.0.0/16). Die zweite Schnittstelle ist für den Teil der Schulinfrastruktur des 10.0.0.0/8 Netzes. Diese Schnittstelle wird über eine Bridge an die virtuellen Maschinen übergeben. Eine Beispielkonfiguration in /etc/network/interfaces:

...

Nach der Neukonfiguration die Schnittstellen neu starten.
Bislang wurde für die beschriebenen Installationsschritte eine vom DHCP-Server des Internet/DSL-Routers vergebene IP-Adresse für den zu installierenden Virtualisierungs-Server verwendet. Im nächsten Schritt wird nun eine feste IP-Adresse für die Backbone-Netzwerkschnittstelle festgelegt und auch die Schnittstelle für das Pädagogische Netzwerk (Debian Edu / Skolelinux Netzwerk) vorbereitet.

Der zentrale Virtualisierungs-Server besitzt typischerweise zwei Netzwerkschnittstellen.

 * Die erste Schnittstelle ist für das Backbone-Netz ({{{172.16.0.0/24}}} vorgesehen.

 * Die zweite Schnittstelle stellt das Subnetz für die Schulinfrastruktur bereit ({{{10.0.0.0/8}}}). Diese Schnittstelle wird über eine Netzwerk-Bridge an die virtuellen Maschinen übergeben.

'''__Beispiel__''': (Datei: {{{/etc/network/interfaces}}} auf {{{virt-man-01}}}){{{
auto lo
iface lo inet loopback

# backbone interface
auto eth0
iface eth0 inet static
 address 172.16.0.1
 netmask 255.255.255.0
 broadcast 172.16.0.255
 gateway 172.16.0.253

auto eth1
iface eth1 inet manual

auto br1
iface br1 inet manual
 bridge_fd 0
 bridge_hello 2
 bridge_maxage 12
 bridge_stop off
 bridge_ports eth1
}}}


Nach der Neukonfiguration die Schnittstellen muss das Netzwerk (bzw. zum Testen der korrekten Funktion beim System-Boot: der Server) neu gestartet werden.
Zeile 126: Zeile 221:
Der Virtual Machine Manager dient der Verwaltung und Steuerung der virtuellen Maschinen. In ihm werden die virtuellen Festplatten konfiguriert, und Arbeitsspeicher sowie Prozessorkerne den virtuellen Maschinen zugeteilt. 

 * Den User "locadm" der Gruppe "libvirt" hinzufügen.
 * Den "Virtual Machine Manager" starten   Mit der rechten Maustaste localhost auswählen,  dann Details auswählen. Mit "Speicher hinzufügen" folgende virtuelle Festplatten anlegen:

* vm-fast-vg
* vm-slow-vg

in vm-slow-vg folgende Platten anlegen
(Größenangaben sind Beispielwerte und können lokal anders eingerichtet sein):

 * tjener.intern_sda mit 400Gb
 * disklserver.intern_sda mit 20Gb
 * ltspserver00-intern_sda mit 80Gb

in vm.fast.vg folgende Platten anlegen:

 * tjener.intern_sdb mit 400Gb
 * disklserver.intern_sdb mit 80Gb


 
Das Programm ''Virtual Machine Manager'' dient der Verwaltung und Steuerung der virtuellen Maschinen. In ihm werden die virtuellen Festplatten konfiguriert, und Arbeitsspeicher sowie Prozessorkerne den virtuellen Maschinen zugeteilt.

 * Den User {{{locadm}}} der Gruppe {{{libvirt}}} hinzufügen.{{{
$ sudo adduser locadm libvirt
}}}

 * Grafisch am Virtualisierungs-Server als {{{locadm}}} anmelden.
 *
Den "Virtual Machine Manager" starten.

 *
Mit der rechten Maustaste localhost auswählen, dann Details auswählen. Mit ''Speicher hinzufügen'' folgende virtuelle Festplatten anlegen:
   * vm-fast-vg (LVM Volume Group, s.o.)
  
* vm-slow-vg (LVM Volume Group, s.o.)

In ''Virtual Machine Manager''
können jetzt virtuelle Maschinen angelegt werden (genaue Beschreibung auf den Seiten, die die einzelnen VMs beschreiben).

Installationshinweise: Virtualisierungs-Server

Die Kerninfrastruktur im Projekt IT Zukunft-Schule™ besteht aus mindestens einem zentralen Server, auf dem die Infrastrukturverwaltung und -steuerung des Schulnetzwerks installiert wird. Auf diesem zentralen Server kommt Virtualisierung zum Einsatz.

Bevor also mit der Installation der Server-Kompenenten für das Pädagogische Schulnetz begonnen werden kann, muss als erste Ebene die Software für Server-Virtualisierung auf dem zentralen Server installiert werden. In der Virtualisierungsumgebung werden dann die Komponenten des Debian Edu / Skolelinux Netzwerks installiert.

Für große Schulen kommen mehrere Virtualisierungs-Server zum Einsatz und die Dienste des Debian Edu / Skolelinux Netzwerks werden dann auf mehrere physikalische Maschinen verteilt.

Vorbereitungen

Vor der Basisinstallation des ersten Virtualisierungs-Servers muss die Internet-Anbindung der Schule entsprechend der IT-Zukunft Schule™ Netzwerktopologie eingerichtet werden. Desweiteren muss eine Backbone-Switch für das Backbone-Netz bereit stehen, welche mit dem Backbone-VLAN des Internet-Routers verbunden ist.

Im Backbone-Netz ist standardmäßig ein DHCP-Server aktiv (auf Router für die Internet-Anbindung), so dass angeschlossene Systeme (neue aufzusetzende Server, Notebooks von System-Admins, etc.) sofort Zugriff auf das Internet bekommen können.

Basisinstallation

Der Virtualisierungs-Server stellt den virtuellen Maschinen Teile der Hardware standardisiert zur Verfügung. Der folgende Abschnitt beschreibt eine allgemeine Installation des ersten/zentralen Virtualiserungs-Servers. Die Details der Installation unterscheiden sich dabei je nach Hardware-Ausstattung des Servers und Nutzungsszenario (Größe der Schule, etc.). In den entsprechenden Textpassagen werden Beispielwerte angegeben, die an die Gegebenheiten der jeweiligen Schule individuell angepasst werden.

Installation starten

  • Ein startfähiges Medium mit Debian GNU/Linux stable (CD-ROM oder USB Stick) erstellen. Um Verwechslungen vorzubeugen: An dieser Stelle verwenden wir noch nicht Debian Edu / Skolelinux, das kommt erst bei der Installation der virtuellen Maschinen zum Einsatz.

  • Vom erstellten Medium den Virtualisierungs-Server booten.
  • Die folgende Antworten in den angezeigten Menüs auswählen: Install, German, Deutschland und Deutsch

  • Die Netzwerkschnittstelle mit Zugang zum Internet angeben (in Klammern markiert durch die Bezeichnung Copper). Der Server sollte so verkabelt sein, dass eth0 für das Backbone-Netzwerk genutzt wird.

Rechnernamen und erste Benutzer anlegen

  • Rechnername: virt-man-01 (weitere Virtualisierungs-Server werden durchnummerier: virt-man-02, vir-man-03, etc.)

  • domain: backbone

  • Passwort für den Benutzer: root eintragen. Wichtig!!! Passwort notieren!!!

  • Vor- und Zuname für neuen/ersten Benutzer: Local Administrator

  • Benutzername für lokalen Administrator: locadm

  • Passwort für den lokalen Administrator eintragen und bestätigen. WICHTIG!!! Passwort notieren!!!

  • Im nachfolgenden Dialog des Debian Installers werden die Festplatten partitioniert.
    • Partitionierungs-Methode: manuell
    • root-Dateisystem: 20Gb, als Software RAID-1 (/dev/md0) konfigurieren
    • Swap-Space: Arbeitsspeicher +2Gb auf alle schnellen Platten gleichmäßig verteilen
      • optional: Arbeitsspeicher +2Gb auf die zwei langsamen Platten gleichmäßig verteilen
    • Raid-Device (/dev/md0) als ext3-Dateisystem formatieren, Einhängepunkt: ,,/"
  • Software-Installationsprofil (tasksel): grafische Oberfläche abwählen, SSH-Server zusätzlich auswählen

FixMe: Wenn der Server nach der Installation nicht bootet, sollte nach einem grub-install /dev/sdX, grub-install /dev/sdY UND grub-install /dev/md0 sowie einem anschließenden update-grub alles funktionieren.

Grundeinrichtung

  1. Nachdem die Grundinstallation abgeschlossen ist als locadm einloggen.

  2. Als root das Programm sudo installieren.

    $ su -c "apt-get install sudo"
  3. Den User locadm in die Gruppe sudo eintragen. Eingabe mit root-Kennwort bestätigen. Danach: ausloggen und wieder als locadm einloggen.

    $ su -c "adduser locadm sudo"
  4. Nachinstallation von Software:

    $ sudo apt-get install lxde libvirt-bin qemu-kvm etherboot-qemu etckeeper mc vim virt-manager xinit htop nload nmap sysstat tree bridge-utils lvm2 iceweasel iceweasel-l10n-de
  5. Nach der Installation mcedit als Editor in den Debian "Alternatives" festlegen.

    sudo update-alternatives --config editor
  6. Den Editor mcedit durch Dürcken von F9 und Auswählen (Pfeiltasten auf Tastatur) des Menüpunkts Optionen -> Allgemein wie folgt konfigurieren:

    • "Backspace durch Tabs" auswählen
    • "Tabs mit Leerzeichen auffüllen" auswählen
    • "Return rückt automatisch ein" abwählen
  7. In /etc/apt/sources.list für alle Varianten contrib und non-free hinzufügen.

  8. GDM-Konfiguration (Greeter) so anpassen, dass der Anmelde-Bildschirm den Hostnamen anzeigt:

    locadm@virt-man-01:/etc/gdm$ diff -u gdm.conf.orig  gdm.conf
    --- gdm.conf.orig
    +++ gdm.conf
    @@ -62,6 +62,9 @@
     
     [greeter]
     
    +DefaultWelcome=false
    +Welcome=%n
    +
     [chooser]
     
     [debug]

Aktualisierung gezielter Pakete via Debian squeeze-backports und ITZkS-Repository

Zwei zusätzliche APT-Quellen werden hinzugefügt:

$ editor /etc/apt/sources.list.d/backports.list

"""
deb http://ftp.de.debian.org/debian-backports squeeze-backports main contrib non-free
"""

$ editor /etc/apt/sources.list.d/itzks.list

"""
deb http://packages.it-zukunft.schule.de/debian squeeze main
deb http://packages.it-zukunft.schule.de/debian squeeze-backports main
"""

$ apt-get update && apt-get install itzks-keyring && apt-get update

Aus diesen Quellen werden die folgenden Pakete installiert:

$ apt-get install -t squeeze-backports libvirt-bin linux-image-3.2.0-0.bpo.2-amd64 linux-headers-3.2.0-0.bpo.2-amd64 qemu-kvm
$ apt-get install virt-manager

Festplattenpartitionierung (im Detail)

Im ersten/zentralen Virtualisierungs-Server werden schnelle SAS-Festplatten (geringe Kapazität, schneller Zugriff, teuer) und langsamere SATA-Festplatten (größere Kapazität, langsamerer Zugriff als bei SAS-Platten, kostengünstiger) eingebaut.

  • Die schnellen SAS-Festplatten werden für die Benutzerverzeichnisse von Lehrer/innen und Schüler/innen und für die Ablage der Boot-Images der Diskless-Workstations verwendet.
  • Auf den nicht ganz so performanten SATA-Festplatten liegen die Betriebssysteme der Server sowie Daten deren Zugriff nicht geschwindigkeitskritisch ist.

Die Einteilung der Festplatten fällt von Schule zu Schule unterschiedlich aus. Sie ist abhängig von der Zahl und Größe der Festplatten, sowie der Größe des eingebauten Arbeitsspeichers.

Beispiel:

  • Jeder Virtualisierungs-Server enthält eine gerade Anzahl von Festplatten, für Festplatten-Spiegelung wird in den meisten Fällen der RAID-Level-1 verwendet
  • RAID-Systemen werden stets mit der Software-Lösung im Linux-Kernel realisiert (sog. /dev/md-Devices)
  • SATA-Festplatte 1 und 2 werden 20 GByte als Raid (Level 1, Plattenspiegelung) für Betriebssystem des Virtualisierungs-Server reserviert
  • Swap-Partitionen: Größe des Arbeitsspeichers plus 2GByte auf alle schnellen SAS-Festplatten verteilt
  • Raid-Basis für LVM Volumes: jeweils zwei gleichgroße Partitionen auf baugleichen Festplatten zu RAID-Devices vom Level-1 zusammenfügen

    $ mdadm --create /dev/md1 -l1 -n2 /dev/sda2 /dev/sdb2
    $ mdadm --create /dev/md2 -l1 -n2 /dev/sdc2 /dev/sdd2
    # weitere RAID-1 Devices einrichten...
    $ [...]
    # alle RAID-1 Devices nach Neustart verfügbar machen...
    $ /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf
    $ dpkg-reconfigure mdadm
  • LVM Volume Groups anlegen:
    • Volume Group vm-slow-vg beinhaltet alle Level-1 RAIDs der langsameren Festplatten (SATA)

    • Volume Group vm-fast-vg beinhaltet alle Level-1 RAIDs der schnellen Festplatten (SAS)

      $ pvcreate /dev/md1
      $ pvcreate /dev/md2
      $ [...]
      # alle RAID-1 Devices der SATA-Festplatten zu einer Volume Group zusammenführen
      $ vgcreate vm-slow-vg /dev/md<A1> /dev/md<A2> [...]
      # alle RAID-1 Devices der SAS-Festplatten zu einer Volume Group zusammenführen
      $ vgcreate vm-fast-vg /dev/md<B1> /dev/md<B2> [...]
  • LVM Volumes anlegen:
    • Logical Volumes für virtuelle Maschinen anlegen. Namenskonvention für LVs: <host-fqdn>_sd{a,b,c,d,...}

      $ lvcreate vm-slow-vg -n tjener.intern_sda -L 400G
      $ lvcreate vm-fast-vg -n tjener.intern_sdb -L 400G
      $ lvcreate vm-slow-vg -n disklserver.intern_sda -L 40G
      $ lvcreate vm-fast-vg -n disklserver.intern_sdb -L 80G

FixMe: LTSP-Server ergänzen?

X2Go Installation

Die folgende X2Go-Paketquelle in /etc/apt/sources.list.d/x2go.list anlegen:

deb http://packages.x2go.org/debian squeeze main

Installation von X2Go:

  1. Paketquellen neu einlesen

    $ sudo apt-get update
  2. Paket x2go-keyring installieren und Paketquellen neu einlesen.

    $ sudo apt-get install x2go-keyring && sudo apt-get update
  3. Pakete installieren: x2goserver und x2golxdebindings

    $ sudo apt-get install x2goserver x2golxdebindings
  4. Den User locadm der Gruppe fuse hinzufügen (um X2Go local folder sharing zu aktivieren).

    $ sudo adduser locadm fuse

Netzwerk einrichten

Bislang wurde für die beschriebenen Installationsschritte eine vom DHCP-Server des Internet/DSL-Routers vergebene IP-Adresse für den zu installierenden Virtualisierungs-Server verwendet. Im nächsten Schritt wird nun eine feste IP-Adresse für die Backbone-Netzwerkschnittstelle festgelegt und auch die Schnittstelle für das Pädagogische Netzwerk (Debian Edu / Skolelinux Netzwerk) vorbereitet.

Der zentrale Virtualisierungs-Server besitzt typischerweise zwei Netzwerkschnittstellen.

  • Die erste Schnittstelle ist für das Backbone-Netz (172.16.0.0/24 vorgesehen.

  • Die zweite Schnittstelle stellt das Subnetz für die Schulinfrastruktur bereit (10.0.0.0/8). Diese Schnittstelle wird über eine Netzwerk-Bridge an die virtuellen Maschinen übergeben.

Beispiel: (Datei: /etc/network/interfaces auf virt-man-01)

auto lo
iface lo inet loopback

# backbone interface
auto eth0
iface eth0 inet static
        address 172.16.0.1
        netmask 255.255.255.0
        broadcast 172.16.0.255
        gateway 172.16.0.253

auto eth1
iface eth1 inet manual

auto br1
iface br1 inet manual
        bridge_fd 0
        bridge_hello 2
        bridge_maxage 12
        bridge_stop off
        bridge_ports eth1

Nach der Neukonfiguration die Schnittstellen muss das Netzwerk (bzw. zum Testen der korrekten Funktion beim System-Boot: der Server) neu gestartet werden.

Virtuelle Maschinen einrichten

Das Programm Virtual Machine Manager dient der Verwaltung und Steuerung der virtuellen Maschinen. In ihm werden die virtuellen Festplatten konfiguriert, und Arbeitsspeicher sowie Prozessorkerne den virtuellen Maschinen zugeteilt.

  • Den User locadm der Gruppe libvirt hinzufügen.

    $ sudo adduser locadm libvirt
  • Grafisch am Virtualisierungs-Server als locadm anmelden.

  • Den "Virtual Machine Manager" starten.
  • Mit der rechten Maustaste localhost auswählen, dann Details auswählen. Mit Speicher hinzufügen folgende virtuelle Festplatten anlegen:

    • vm-fast-vg (LVM Volume Group, s.o.)
    • vm-slow-vg (LVM Volume Group, s.o.)

In Virtual Machine Manager können jetzt virtuelle Maschinen angelegt werden (genaue Beschreibung auf den Seiten, die die einzelnen VMs beschreiben).

IT-Zukunft Schule: Technik/Installation/VirtServer (zuletzt geändert am 2021-09-30 17:12:36 durch MikeGabriel)