Änderungen

Zur Navigation springen Zur Suche springen
6.718 Bytes hinzugefügt ,  20:49, 18. Mär. 2020
Zeile 1: Zeile 1:  
Das Weimarnetz verwendet einen Rechner, der das Funk-Netz unterstützt und Dienste im Weimarnetz und im Internet anbietet. Wichtige Eigenschaften dieses Rechners sind eine sehr gute Internet-Anbindung, eine feste Internet-Adresse, hohe Verfügbarkeit und eine gute Internet-Verbindung zu den Internet-Anschlüssen im Weimarnetz. Je nach Aufgabe wird dieser Rechner hier im wiki als Root- oder Route-Server bezeichnet.
 
Das Weimarnetz verwendet einen Rechner, der das Funk-Netz unterstützt und Dienste im Weimarnetz und im Internet anbietet. Wichtige Eigenschaften dieses Rechners sind eine sehr gute Internet-Anbindung, eine feste Internet-Adresse, hohe Verfügbarkeit und eine gute Internet-Verbindung zu den Internet-Anschlüssen im Weimarnetz. Je nach Aufgabe wird dieser Rechner hier im wiki als Root- oder Route-Server bezeichnet.
 +
 +
=Rootserver 2.0=
 +
==Technik==
 +
* 19 Zoll ATX Server mit 1 Höheneinheit (1HE)
 +
* CPU: 2 x XEON QUAD CORE L5420 2,5 GHz
 +
* RAM: 32 GB DDR-2 FB ECC Reg.
 +
* HDD: incl. SATA-TRAY  HOT-SWAP für 3 x SATA-HDD 3.5 Zoll
 +
* 600 Watt Win-Tact Powersupply WP507F12
 +
* 2 Platten Western Digital WD30EFRX, geeignet für Dauerbetrieb
 +
* Leistungsaufnahme: Beim Einschalten ca. 300 W, im Idle ca. 200 W
 +
==Kosten==
 +
* Server mit Versand: 370 Euro
 +
* Festplatten: 260 Euro
 +
* Kosten pro Monat bei durchschnittlicher Leistungsaufnahme von 250W: 60 Euro (1HE=10,- + 5x10,- pro 50Watt)
 +
 +
==Installation==
 +
===Partitionierung===
 +
* wegen 3TB, GPT und EFI nach dieser Anleitung vorgegangen: http://stackful.io/blog/raid-install-ubuntu-server-on-a-large-hard-drive/
 +
** 40GB Swap pro Platte, da nicht gespiegelt ==> 80 GB Swap ingesamt
 +
** 120GB für das System und ISO-Store zur Ablage von OS-Images (unter /media/isostore)
 +
** per LVM Rest für Images
 +
* Das alles im Raid 1 per mdadm. Fehlermeldungen kommen per Mail auf die [[Mailingliste]]
 +
* Erfolgreich getestet wurde, dass das System beim Ausfall einer Platte trotzdem noch bootet
 +
* Noch zu klären: Was machen wir im Fehlerfall? Vorschlag: Mit Daniel von Freifunk Berlin reden, ob wir ihm im Notfall eine Platte geben können. Diese muss gegen die defekte Platte getauscht werden (Reboot notwendig). Danach muss das gleiche Partitionsschema angelegt werden und die Platten können wieder synchronisieren (dauert insgesammt 8-9 Stunden)
 +
 +
===OS===
 +
* Ubuntu 12.04 LTS
 +
** Pakete: apticron, virt-manager, bridge-utils, ...
 +
===Netzwerk===
 +
* Bridge und VLAN, IP-Konfiguration
 +
** feste, öffentliche IP
 +
*** Netz: ''77.87.48.16/28'' und ''77.87.48.32/28''
 +
*** Netzmaske: ''255.255.255.240'' =/28 = 14 IP-Adressen + Netz + Gateway = 16
 +
*** Gateway: ''77.87.48.17''
 +
** '''eth0''':
 +
*** untagged IN-Berlin: ''217.197.91.138''
 +
*** tagged Freifunk-VLAN mit bridge 77.87.48.18 = tag1300
 +
**** dadurch sind alle Gäste per Bridge mit dem Freifunk-VLAN verbunden
 +
 +
===Serielle Konsole===
 +
* Zugriff über Konsolenserver
 +
* Zugang im Notfall, Neustart per serieller Konsole möglich?
 +
* Details folgen nach Einbau
 +
 +
==HowTo==
 +
===Start/Stop/Autostart===
 +
* virsh-wrapper, um jedem Nutzer die Steuerung der eigenen Maschine(n) zu ermöglichen
 +
* virsh-wrapper ist erweiterbar zur Steuerung anderer KVM-Elemente, z.B. Storage, Netzwerk, usw.
 +
* https://github.com/weimarnetz/virsh-wrapper
 +
* Funktionsweise:
 +
** Vereichnis virsh im Homeverzeichnis jedes Nutzers
 +
** in virsh ein Verzeichnis pro Maschine, Namenskonvention: dom-<maschinenname> (maschinenname ohne Benutzerkürzel) - z.B.: mkdir /home/cs/virsh/dom-erich
 +
** innerhalb des Maschinenverzeichnisses stehen Dateien für etwaige Aktionen, die Inhalte der Dateien werden als Parameter übergeben
 +
** Cronjob läuft jede Minute durch die Virsh-Verzeichnisse aller Nutzer, die in der Gruppe vmguests sind
 +
** Chronik und Fehlermeldungen werden in anderen Verzeichnissen gespeichert
 +
* Start einer Maschine
 +
** <tt>touch ~/virsh/dom-<machine>/start</tt>
 +
* Anhalten einer Maschine
 +
** <tt>touch ~/virsh/dom-<machine>/shutdown</tt> (für Maschinen mit ACPI-Funktionen)
 +
** <tt>touch ~/virsh/dom-<machine>/destroy</tt> (falls die Maschine nicht mehr reagiert oder nicht per ACPI ausgeschaltet werden kann)
 +
* Autostart
 +
** <tt>touch ~/virsh/dom-<machine>/autostart</tt> (Autostart anschalten)
 +
** <tt>echo "--disable" > ~/virsh/dom-<machine>/autostart</tt> (Autostart deaktivieren)
 +
 +
===VNC über SSH===
 +
* VNC ist die Konsolenausgabe der virtuellen Maschinen
 +
* VNC hört nur auf 127.0.0.1 (ginge zwar auch anders, wollen wir aber nicht)
 +
* Pro Maschine ein Port, dieser wird manuell von uns auf 59xy festgelegt. xy entspricht der letzten Stelle der IP-Adresse
 +
* Verbindung erfolgt über SSH-Tunnel
 +
** unter Linux
 +
*** Start des Tunnels: <tt>ssh -N -L 5900:localhost:59xy username@root.weimarnetz.de</tt>
 +
**** (durch -N bleibt die Verbindung ohne Prompt hängen, das ist OK so)
 +
*** Start VNC-Client: <tt>vncviewer localhost (auf port 5900)</tt>
 +
** unter Mac OS X
 +
*** Start des Tunnels: <tt>ssh -N -L 5900:localhost:59xy username@root.weimarnetz.de</tt>
 +
*** Da es Probleme mit dem Mac OS X VNC-Viewer gibt, empfiehlt sich [http://sourceforge.net/projects/cotvnc/ Chicken of the VNC]
 +
** unter Windows
 +
*** Unter Putty normal eine Session zu root.weimarnetz.de starten, VOR dem anmelden jedoch im Punkt
 +
*** Connection --> SSH --> Tunnels folgendes Eintragen:
 +
*** Source Port: 5900    Destination: 127.0.0.1:59xy (xy ist eure IP)
 +
*** Button "Add" drücken, der Tunnel sollte dann unter "forwarded ports" stehen. Diese Session könnt ihr euch auch dauerhaft speichern
 +
*** --> Open Connection, anmelden und vncviewer auf localhost starten
 +
* Unter Umständen bricht die SSH-Verbindung ab und dann ist der lokale Port mit der gestorbenen SSH-Session blockiert.  Mit <tt>ps aux | grep ssh</tt> kann man die Prozess-ID ermitteln und mit <tt>kill $ID</tt> wieder befreien.
 +
 +
=== iPXE ===
 +
 +
PXE ist teil des virtuellen bootloaders jeder vm.
 +
wenn kein image zugewiesen ist (= keine virtuelle cd eingelegt), kann der bootloader ein frisches image laden und booten. per http!
 +
 +
* beim starten <tt>CTRL + B</tt> drücken, um in die iPXE konsole zu gelangen
 +
* unsere vms haben fixe ips (Befehl dhcp geht net) -> http://ipxe.org/cmd/set
 +
* ein image über HTTP laden: <tt>$ chain http://releng.archlinux.org/pxeboot/ipxe.lkrn</tt>
 +
* warten
 +
* terminal promptet mit <tt>boot:</tt>, warten <tt>ENTER</tt> drücken
 +
* wer das für ubuntu hinbekommt - immer her damit! Als Einstieg das: http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/xenial-netboot/ubuntu-installer/amd64/
 +
* profit!
 +
 +
===Netzwerkkonfiguration im Gast===
 +
* je nach verwendetem OS: Netzwerk konfigurieren in ''/etc/network/interfaces'' (Ubuntu, Debian)
 +
auto eth0
 +
        iface eth0 inet static
 +
        address 77.87.48.xx
 +
        netmask 255.255.255.240
 +
        gateway 77.87.48.17 oder 33
 +
 +
        iface eth0 inet6 static
 +
        address 2001:bf7:b101:1::xx
 +
        netmask 64
 +
        gateway 2001:bf7:b101:1::1
 +
 +
* DNS einrichten in ''/etc/resolv.conf''
 +
domain lan
 +
search lan
 +
nameserver 192.109.42.41
 +
nameserver 192.109.42.42
 +
 +
* manuell
 +
NR=(interne vm nummer)
 +
ip link set eth0 up
 +
ip addr add 77.87.48.$NR/28 dev eth0
 +
ip route add default via 77.87.48.17
 +
vim /etc/resolv.conf
 +
 +
===Tipps und Tricks===
 +
====LV mounten und oder LV fsck====
 +
* wenn das Dateisystem des LV kaputt ist und das automatische fsck fehlschlägt:
 +
** fdisk fdisk /dev/vg_images/cs-erich und "p"
 +
Disk /dev/vg_images/cs-erich: 104.9 GB, 104857600000 bytes
 +
255 heads, 63 sectors/track, 12748 cylinders, total 204800000 sectors
 +
Units = sectors of 1 * 512 = 512 bytes
 +
Sector size (logical/physical): 512 bytes / 4096 bytes
 +
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
 +
Disk identifier: 0x000ee166
 +
                  Device Boot      Start        End      Blocks  Id  System
 +
/dev/vg_images/cs-erich1  *        2048  196943871    98470912  83  Linux
 +
** sudo mount -o loop,offset=$((2048 * 512)) /dev/mapper/vg_images-cs--erich /home/cs/mnt
 +
** oder für fsck: sudo losetup --offset=$((2048 * 512)) /dev/loop0 /dev/vg_images/cs-erich
 +
** /dev/loop0 kann dann gefsckt werden
 +
 +
 +
* Nutzung der virtio-Treiber für HDD, Netzwerk und RAM-Controller
 +
* Distributionen wie Debian bringen diese schon bei der Installation mit und richten alles automatisch ein
 +
* virtio-Treiber für RAM-Controller erlaubt uns, garantierten und maximalen RAM festzulegen. Bei Speicherknappheit im System werden die Resourcen pro VM zurückgefahren.
 +
* Zugriff auf Maschinen via SSH vom Host aus ermöglichen: -net user,hostfwd=tcp::5555-:22
 +
* block-device scheduler im Gast auf primitiv stellen, das macht der Wirt besser:
 +
** sudo echo "deadline" >/sys/block/sr0/queue/scheduler
 +
 +
===Neue Maschine hinzu===
 +
* Benutzer anlegen
 +
* Maschine anlegen mit virt-manager
 +
* vnc Port festlegen mit virsh
 +
* sshd konfig anpassen damit jeder nur seinen vnc Port erreicht
 +
* Doku im WIKI
 +
* Spendenermunterung
 +
 +
 +
==Offline-DHCP==
 +
===Netze===
 +
* 77.87.48.16/28 und 77.87.48.32/28
 +
* jeder hat dann sowas wie 77.87.48.IP
 +
 +
===Zuordnung===
 +
{| class="wikitable sortable"
 +
! data-sort-type="number" |IP
 +
! IPv6
 +
! Nutzer
 +
! RevDNS
 +
! RAM
 +
! CPU's
 +
! Pinning
 +
|-
 +
| 18
 +
|
 +
| Bridge
 +
|
 +
|-
 +
| 19
 +
| 2001:bf7:b101:1::19
 +
| Weimarnetz e.V.
 +
| weimarnetz.de
 +
| 2 GB
 +
| 2
 +
| 5
 +
|-
 +
| 20
 +
| 2001:bf7:b101:1::20
 +
| Storchi
 +
| cs.weimarnetz.de
 +
| 2 GB
 +
| 1
 +
| 4
 +
|-
 +
| 21
 +
| 2001:bf7:b101:1::21
 +
| Andi
 +
| ja.ishalt.so
 +
| 2 GB
 +
| 2
 +
| 6,7
 +
|-
 +
| 22
 +
|  2001:bf7:b101:1::22
 +
| Basti
 +
| bb.weimarnetz.de
 +
| 1 GB
 +
| 1
 +
| 6
 +
|-
 +
| 23
 +
|  2001:bf7:b101:1::23
 +
| Thomas
 +
| tf.weimarnetz.de
 +
| 3 GB
 +
| 2
 +
| 4,5
 +
|-
 +
| 24
 +
|  2001:bf7:b101:1::24
 +
| Weimarnetz
 +
| map.weimarnetz.de
 +
| 1 GB
 +
| 1
 +
|
 +
|-
 +
| 25
 +
|  2001:bf7:b101:1::25
 +
| Heiko
 +
| hf.weimarnetz.de
 +
| 2 GB
 +
| 1
 +
| 7
 +
|-
 +
| 26
 +
|  2001:bf7:b101:1::26
 +
| Stephan
 +
| sj.weimarnetz.de
 +
| 1 GB
 +
| 1
 +
| 0
 +
|-
 +
| 27
 +
| 2001:bf7:b101:1::27
 +
| Weimarnetz e.V.
 +
| meet.weimarnetz.de
 +
| 4 GB
 +
| 2
 +
|
 +
|-
 +
| 28
 +
|  2001:bf7:b101:1::28
 +
| Kay
 +
| ks.weimarnetz.de
 +
| 2 GB
 +
| 1
 +
| 1
 +
|-
 +
| 29
 +
|  2001:bf7:b101:1::29
 +
| Bernd
 +
| ed.weimarnetz.de
 +
| 1 GB
 +
| 2
 +
| 2,3
 +
|-
 +
| 30
 +
|  2001:bf7:b101:1::30
 +
| Ufo
 +
| vpn8.leipzig.freifunk.net
 +
| 512 MB
 +
| 1
 +
| 2
 +
|-
 +
| 34
 +
|  2001:bf7:b101:1::34
 +
| Weimarnetz e.V.
 +
| dyn.weimarnetz.de
 +
| 1 GB
 +
| 1
 +
| 3
 +
|-
 +
| 35
 +
| 2001:bf7:b101:1::35
 +
| Weimarnetz e.V.
 +
| vpn3.weimarnetz.de
 +
| 1GB
 +
| 2
 +
|
 +
|-
 +
| 36
 +
|  2001:bf7:b101:1::36
 +
| Bernd
 +
|
 +
|-
 +
| 37
 +
|  2001:bf7:b101:1::37
 +
| Weimarnetz e.V.
 +
| jabber.weimarnetz.de
 +
| 1
 +
| 1
 +
| 0
 +
|-
 +
| 38
 +
|  2001:bf7:b101:1::38
 +
| ex Julius
 +
| FREI FREI FREI
 +
| x
 +
| x
 +
| x
 +
|-
 +
| 39
 +
|  2001:bf7:b101:1::39
 +
| Micha Stoecker
 +
| freifunk jena
 +
| 2
 +
| 1
 +
|
 +
|-
 +
| 40
 +
|  2001:bf7:b101:1::40
 +
|  frei
 +
 +
|
 +
|
 +
|
 +
|-
 +
| 41
 +
|  2001:bf7:b101:1::41
 +
| tasifan
 +
| noch kein rDNS
 +
| 2
 +
| ?
 +
| ---
 +
|-
 +
| 42
 +
|  2001:bf7:b101:1::42
 +
| Max
 +
| ars.weimarnetz.de
 +
| 4 GB
 +
| 2
 +
| 0,1
 +
|-
 +
| 43
 +
|  2001:bf7:b101:1::43
 +
| cs
 +
| wird wieder frei...
 +
| 1GB
 +
|
 +
|-
 +
| 44
 +
|  2001:bf7:b101:1::44
 +
|
 +
| aktuell gateway für netz 2 zum Testen
 +
|-
 +
| 45
 +
|  2001:bf7:b101:1::45
 +
|
 +
|
 +
|}
    
=Dienste=
 
=Dienste=
Zeile 125: Zeile 483:  
exit(0);
 
exit(0);
 
</pre>
 
</pre>
  −
=Über den Root-Server / Technik=
  −
*Es handelt sich um einen virtuellen Root-Server mit Debian als Betriebssystem.
  −
*der neue Rootserver steht in Berlin und ist eine alte HP Proliant-Gurke:
  −
  −
* HP ProLiant DL360 Server G3, 19" Ausführung,  1 Höheneinheit
  −
** 2x Intel Xeon 2.8 GHz, 533 MHz/512 kB Cache
  −
** 4 GB RAM
  −
** 2 x 72.8 GB Hot Swap Ultra320 SCSI Festplatten 10.000 RPM
  −
** RAID-Controller HP Smart Array 5i Plus mit 64 MB Cache und Akkupack
  −
** CD-ROM
  −
** 3.5" Diskettenlaufwerk
  −
** 2 redundante Netzteile
  −
** 2 x PCI-X Steckplätze
  −
** 1 x SATA-Controller
  −
** 1000 Gigabyte SATA-Festplatte
  −
  −
*Anschlüsse:
  −
** 2 x Gigabit LAN, VGA, seriell, 2x USB, iLO, PS/2 Maus und Tastatur
  −
** angepriesen als "guter Zustand - absolut staubfrei aus DATA-Center"
  −
  −
==Kosten==
  −
* Anschaffung Ende 2009 zum Preis von 140 Euro + 10 Euro SATA-Controller + 70 Euro SATA-Festplatte
  −
* Kosten im RZ Berlin fuer das Housing: 25 Euro/Monat, davon tragen 15 Euro einige Vereinsmitglieder
  −
  −
==Setup==
  −
* Stromversorgung
  −
** redundantes Netzteil zugunsten einer günstigen Festplatte entfernt
  −
** zweites Netzteil kommt mit nach Berlin, damit es bei Bedarf getauscht werden kann
  −
* Netzwerk
  −
** Nutzung des oberen Anschlusses mit fester, öffentlicher IP: 77.87.48.2/28 GW: 77.87.48.1
  −
** iLO (integrated Lights Out) ebenfalls mit fester, öffentlicher IP:
  −
** Domains: root.weimarnetz.de auf eth0?, ilo.weimarnetz.de auf iLO
  −
** benötigen 10 IP: 1 eth0, 1 iLO, 8 Gäste, erste Gast-IP: 77.87.48.3/28
  −
** Probleme bei zugewiesenem IP-Bereich: Gateway liegt außerhalb vom
  −
* Festplattenkonfiguration
  −
** 2x 72 GB SCSI-Platten im RAID 1 (sind die im Server original verbauten Platten)
  −
** 1x 1,5TB (zu klein!) im Server "verlegt" und an SATA-PCIe-Karte angeschlossen
  −
* iLO
  −
** ermöglicht Zugriff direkt auf Konsole, außerdem Ein- und Ausschalten der Stromversorgung, Mounten von Imagedateien
  −
** passwortgeschützt und verschlüsselt
  −
* Betriebssystem
  −
** Wirt: Ubuntu 10.04 LTS Lucid Lynx
  −
** max. 8 Gastsysteme, je 400 MB RAM, je 7 GB HDD auf RAID1, Datenpartition auf Pornoplatte: Größe = (Gesamt * 0,8)/8
  −
** pro Gast eine feste, öffentliche IP
  −
** pro Gast ein Nutzer für SSH und UML
  −
** jeder Nutzer erhält die Möglichkeit seine eigene Maschine zu starten und zu beenden, kein sudo
  −
** Neustart Wirtssystem nur für bestimmte Nutzer
  −
** Gast als UserModeLinux, "Skelett" wird bereitgestellt, automatischer Start (per init-skript pro Gast)
  −
** Anleitung für UML unter Ubuntu: https://help.ubuntu.com/community/UserModeLinux
  −
* Gäste
  −
** weimarnetz.de
  −
** Basti
  −
** Storchi (Nutzer cs angelegt)
  −
** Andi
  −
** Findi
  −
** Borasi
  −
  −
==Auslastung==
  −
Die Auslastung des Rechners kann mit [[Serverlast_Howto|Jens seinem Skript]] kontrolliert werden.
  −
  −
Die Serverskripte bzw. Dateien
  −
[[/etc/init.d/vpn]]
  −
[[/etc/vtund.conf]]
  −
[[/etc/olsrd.conf_head]]
  −
sind Eigenentwicklungen.
  −
  −
==Gefrickel==
  −
Damit Änderungen am Server von Allen nachvollzogen werden können werden Bauarbeiten im [[Weimarnetz-Rootserver-log|Frickel-Logbuch]] dokumentiert.
  −
  −
[[Kategorie:Weimarnetz]]
  −
  −
==Zugang==
  −
* ticketsystem: https://kcm.keyweb.de
  −
** kundennummer: 24090
  −
** passwort: subsignal standard passwort
  −
* management-Konsole (reboot etc.): https://87.118.106.19:4643
  −
** login: root
  −
** passwort: ...
 

Navigationsmenü