Mate (Server): Unterschied zwischen den Versionen

Aus RaumZeitLabor Wiki
Zur Navigation springen Zur Suche springen
Zeile 76: Zeile 76:
* Der Typ des '''Netzwerkinterfaces''' muß '''virtio''' sein ('''<model type='virtio'/>''')
* Der Typ des '''Netzwerkinterfaces''' muß '''virtio''' sein ('''<model type='virtio'/>''')
=== In der VM selbst ===
=== In der VM selbst ===
* '''Default-Scheduler von cfq auf moop''' (Kernel-Parameter elevator=noop <ref name="KER-PAR-01">[http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt#796 Dokumentation zum Kernel-Parameter elevator] </ref> in '''/etc/default/grub''' setzen, danach '''update-grub2''' ausführen)
* '''Default-Scheduler von cfq auf noop''' (Kernel-Parameter elevator=noop <ref name="KER-PAR-01">[http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt#796 Dokumentation zum Kernel-Parameter elevator] </ref> in '''/etc/default/grub''' setzen, danach '''update-grub2''' ausführen)
* '''Tickless Kernel aktivieren''' (Kernel-Parameter nohz=on <ref name="KER-PAR-02">[http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt#1855 Dokumentation zum Kernel-Parameter nohz] </ref> in '''/etc/default/grub''' setzen, danach '''update-grub2''' ausführen)
* '''Tickless Kernel aktivieren''' (Kernel-Parameter nohz=on <ref name="KER-PAR-02">[http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt#1855 Dokumentation zum Kernel-Parameter nohz] </ref> in '''/etc/default/grub''' setzen, danach '''update-grub2''' ausführen)
* Prüfen, ob die Module '''virtio-blk''' und '''virtio-net''' geladen sind
* Prüfen, ob die Module '''virtio-blk''' und '''virtio-net''' geladen sind
* Serielle Konsole in '''/etc/inittab''' aktivieren: '''T0:23:respawn:/sbin/getty -L ttyS0 115200 vt102'''
* Serielle Konsole in '''/etc/inittab''' aktivieren: '''T0:23:respawn:/sbin/getty -L ttyS0 115200 vt102'''
* Serielle Konsole zusätzlich zur normalen Konsole aktivieren (in /etc/default/grub), wenn man schon dabei ist, kann man auch grub serial beibringen: <pre>GRUB_TERMINAL=serial&#10;GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"</pre> sowie <pre>console=ttyS0,115200n8 console=tty0</pre>
* Serielle Konsole zusätzlich zur normalen Konsole aktivieren (in '''/etc/default/grub'''), wenn man schon dabei ist, kann man auch grub serial beibringen: <pre>GRUB_TERMINAL=serial&#10;GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"</pre> sowie <pre>console=ttyS0,115200n8 console=tty0</pre>


Für die faulen Hunde, wie ich einer bin, hier nochmal der komplette GRUB_CMDLINE-Kram:
Für die faulen Hunde, wie ich einer bin, hier nochmal der komplette GRUB_CMDLINE-Kram:
Zeile 87: Zeile 87:
GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop nohz=on transparent_hugepage=always console=ttyS0,115200n8 console=tty0"
GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop nohz=on transparent_hugepage=always console=ttyS0,115200n8 console=tty0"
</pre>
</pre>
<blink>'''DON'T FORGET THE MAGIC update-grub2'''</blink>


== Unterseiten ==
== Unterseiten ==

Version vom 22. November 2012, 00:11 Uhr

   
Mate (Server)

Release status: experimental [box doku]

Beschreibung
Autor(en)  NOC-Team

Mate ist ein Server, der als Ersatz der Blackbox und Datengrab dient.

Technische Daten

CPU AMD Turion II Neo N40L 2x 1.5 GHz
RAM 2x 8GB Transcend DDR3 1333MHz PC3-10666 CL9 DIMM
HDDs 5x1TB (Hitachi HDS721010DLE630)
RAID5 über alle Platten, 4TB nutzbar, LVM, Platten werden über smartd gemonitort und an netzwerk (ät) rzl dot de im Fehlerfalle geschickt
USB 1x Onboard, 4x Front, 2x Hinten
Verbrauch 60W aktiv / 35W idle (Messung mit einem schlechten Messgerät)
Virtualisierung libvirt/KVM

Dienste

Die Infrastruktur befindet sich noch im Aufbau. Aktuell können noch keine Mitglieder VMs erstellt werden.

Neue Debian-VM ohne GUI, nur mittels shell installieren (serielle console)

Vor der Installation neues, leeres Image anlegen (Images liegen unter /srv/vm):

fallocate -l 40G filename.img

Dann Netzinstallation starten:

virt-install --connect qemu:///system --name=monitoring --ram=<raminmb> \
--vcpus=1 --disk path=<diskpfad>,format=raw --os-type linux --os-variant debianwheezy \
--nographics --location http://ftp.de.debian.org/debian/dists/wheezy/main/installer-amd64/ \
--extra-args="console=tty0 console=ttyS0,115200n8" -v

Besondere Einstellungen auf dem Hypervisor

Die Default-Linux-Einstellungen (bzw die von Debian) sind etwas ungünstig für Performance. Folgendes sollte geändert werden:

  • Default-Scheduler von cfq auf deadline (Kernel-Parameter elevator=deadline <ref name="KER-PAR-01">Dokumentation zum Kernel-Parameter elevator </ref> in /etc/default/grub setzen, danach update-grub2 ausführen)
  • Hugepages erlauben (in /etc/rc.local) <ref name=KVM-TUN-01">KVM Memory Tuning</ref>:
    • echo 1 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
    • echo always > /sys/kernel/mm/transparent_hugepage/enabled
    • echo never > /sys/kernel/mm/transparent_hugepage/defrag
  • Prüfen, ob das Modul vhost_net geladen ist

Besondere Einstellungen auf den virtuellen Maschinen

In der Config für die VM

  • Das Platten-Image muß raw und pre-allokiert sein. qcow2 und dynamische Allokierung ist wirklich langsam.
  • Der Modus des Festplatten-Controllers muß virtio sein (Achtung: Die Platten in den VMs sind dann vda, vdb etc anstatt sda, sdb etc)
  • Das Plattenimage muß den Cache-Modus auf none gesetzt haben (<driver name='qemu' type='raw' cache='none'/>)
  • Der Typ des Netzwerkinterfaces muß virtio sein (<model type='virtio'/>)

In der VM selbst

  • Default-Scheduler von cfq auf noop (Kernel-Parameter elevator=noop <ref name="KER-PAR-01">Dokumentation zum Kernel-Parameter elevator </ref> in /etc/default/grub setzen, danach update-grub2 ausführen)
  • Tickless Kernel aktivieren (Kernel-Parameter nohz=on <ref name="KER-PAR-02">Dokumentation zum Kernel-Parameter nohz </ref> in /etc/default/grub setzen, danach update-grub2 ausführen)
  • Prüfen, ob die Module virtio-blk und virtio-net geladen sind
  • Serielle Konsole in /etc/inittab aktivieren: T0:23:respawn:/sbin/getty -L ttyS0 115200 vt102
  • Serielle Konsole zusätzlich zur normalen Konsole aktivieren (in /etc/default/grub), wenn man schon dabei ist, kann man auch grub serial beibringen:
    GRUB_TERMINAL=serial
    GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
    sowie
    console=ttyS0,115200n8 console=tty0

Für die faulen Hunde, wie ich einer bin, hier nochmal der komplette GRUB_CMDLINE-Kram:

GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop nohz=on transparent_hugepage=always console=ttyS0,115200n8 console=tty0"

<blink>DON'T FORGET THE MAGIC update-grub2</blink>

Unterseiten

<splist />

Einzelnachweise

<references />