Hardware / Hosting - Optionen
Hetzner
http://www.hetzner.de/hosting/produktmatrix/rootserver-produktmatrix-ex
In Frage kommen EX6S:
- EX6S Asus P8B WS (2x Intel NIC, 2intel abgeschaltet) BIOS: 0904 (gesehen: 26.1.2013)
- Stepping des Boards/C206 Chipsets - Soll: B3 Ist: B3
- Enterprise-Platten, ECC
- 10TB/m inkl., danach gedrosselt
- EX6S Einrichtungsgebühr beachten
- Mehrkosten IPv4 beachten: 1 EUR/IP/m, maximal 4
- Flexi-Pack 15EUR/m
- SSD 120GB 15EUR/m
- IPv4 Subnetze: relativ teuer, siehe Extra-Optionen in den Server-Angeboten
- Gbit-Port teuer: 39EUR/m
- Fragen: 0911 234226-927
- bei 2 Servern mit 2 NICs Direktverbindung moeglich? nicht gratis, 2. nic deaktiviert.
- unterschiedliches RZ möglich? ja, bei best. angeben: 1 falkenstein, 1 nuernberg!
2x 149 EUR Einrichtung bei EX6S, srsly? ja!
- Platten: Hersteller/Typ? 3tb st barracuda st3000dm001 (neu, desktop) oder st3300651as (alt, desktop) / st const es.2 st33000650ns (neu, raid/enterprise edition)
Policy: reallocated sectors: bei mehreren austausch, bei 1 evtl. diskussion
- kostenlos 2. ipv6-netzwerk auf 2. ip vom 1. ipv6 netzwerk geroutet (virtualisierung)
Software / Misc.
ssh fingerprints
s1: 93:cb:fe:98:d4:75:cf:d7:f2:1a:b0:78:5b:12:cc:fb (rsa) df:cd:9d:e5:99:c7:8f:0e:0a:73:2d:5c:06:e8:d5:df (dsa)
s2: a8:38:df:56:bd:9e:41:aa:6f:e6:08:58:fb:5b:73:06 (rsa) 73:9b:6a:75:31:f7:54:4c:1f:c5:af:f2:30:16:be:72 (dsa) - derzeit == xen.moinmo.in
IPv4
https SNI (== wer älteres supporten will/muss, zahlt extra?)
http: reverse Proxy auf Dom0, der auf diese 1 IP Port 80 / 443 listened und auf die internen IPs der VMs dispatched (kann dann intern auch ein Port > 1024 sein)
- geht das fuer https? Verschiedene Sites/VMs/Zertifikate?
- nginx und apache können das. geht dann ganz gut.
- smtp/pop3s/imaps?
- SNI nicht spezifiziert, aber brauchen wir nicht.
- ssh?
- aktuell sind es drei
- off. IP auf Dom0, rest priv. IPs und NAT/Proxy
Redundanz / Backup / Lastverteilung
2. Maschine?
Hetzner: nur 1 Interface mit 100Mbit/s Switchport, Gbit kostet (viel) extra, daher:
- kein drbd weil zuviel Traffic auf dem einzigen/langsamen Interface? DRBD-Traffic: Sicherheit? ipsec / ssl / ssh? (drbd selbst kann das nicht)
- drbd off-line und über nacht synchronisieren
- snapshot + inplace rsync? Alle .cow-Dateien der VMs auf eine snapshotbare LV legen und dann den Snapshot inplace rsyncen? Geht das auch direkt mit einer LV pro VM?
- backup und daraus als disaster recovery die kopie basteln
- in den VMs dateiweise rsyncen - potentiell unvollständig / include/exclude aufwändig zu maintainen
Idee: bei zwei Servern S1 und S2 laufen einige VMs produktiv auf S1, einige auf S2 - Backup findet jeweils auf den anderen Server statt. Notbetrieb ist dann bei Ausfall einer Maschine auf jeweils dem anderen möglich (Aenderung IP im DNS notwendig).
Konfiguration
RAM/Disk-Zuteilung
Pro Maschine
GB RAM |
GB Disk |
Usage |
1 |
8 md2/sda2/sdb2 |
Dom0 & NAT |
- |
8 md3/sda3/sdb3 |
initial als swap benutzt |
0.5 |
2 |
web-revproxy (nginx) |
0.5 |
2 |
dns recursor |
1 |
2+64 |
db (postgresql/mysql/ldap) |
1 |
2+2 |
mail relay für systeme und user, virusscanner |
Aktiv s1
GB RAM |
GB Disk |
Usage |
4 |
500 |
web-wiki/python (moin-farm, mercurial-repos+webui) |
Aktiv s2
GB RAM |
GB Disk |
Usage |
2 |
30 |
web-zope |
2 |
100 |
web-fcgi (php/perl/"danger zone") |
1 |
100 |
web-static (wofür?) |
2 |
100 |
mail storage pop3s/imaps |
1 |
2+2 |
mx antispam/virusscanner |
0.5 |
20 |
news |
1 |
50 |
shell-user (ssh, screen, irssi, ...) |
2 |
50 |
test32 (zum spielen |
2 |
50 |
test64 (zum spielen |
1 |
4 |
backup, bacula director |
nach Bedarf: VPS für Kunden (vgl. Hetzner: 8EUR/m 0.5GB RAM, 13EUR/m 1GB RAM, 20EUR/m 2GB RAM, Platte ist genug da)
Partitionierung sda:
GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sda: 5860533168 sectors, 2.7 TiB Logical sector size: 512 bytes Disk identifier (GUID): F9AECD72-3B32-454D-91D7-D737EB16F77C Partition table holds up to 128 entries First usable sector is 34, last usable sector is 5860533134 Partitions will be aligned on 2048-sector boundaries Total free space is 1162092 sectors (567.4 MiB) (die Seagate ist etwas groesser als 3TB) Number Start (sector) End (sector) Size Code Name 1 2048 10239 4.0 MiB EF02 BIOS boot partition (mit Reserven, falls GRUB da mal mehr braucht) 2 10240 16787455 8.0 GiB FD00 Linux RAID (dom0, grosszuegig bemessen, dass nix vollaeuft) 3 16787456 33564671 8.0 GiB FD00 Linux RAID (initial swap, alternativ anderer einsatz, wenn noetig) 4 33564672 5859373056 2.7 TiB FD00 Linux RAID (LVM PV, End-Sektor: nicht ganz am Ende, falls Ersatzplatte nur exakt 3TB gross)
Dann GPT-Strukturen auf sdb kopieren:
sgdisk -R /dev/sdb /dev/sda sgdisk -G /dev/sdb # neue UUID
Netz
- Routing zwischen VM, keine Bridge
- OSPF auf Router/Dom0, liefert Routen für Systeme auf anderem Server
- Dienste welche auf mehreren Servern laufen bekommen mehrere Adressen; einmal Anycast, also das nächste verfügbare, einmal normal
- OpenVPN oder IPSec zwischen Servern
- Benchmarks sind weder geliefert noch zitiert, also keine Aussage. 1GBit/s habe ich durch OpenVPN noch nicht gejagt, aber der Großteil ist sowieso die Crypto, was identisch ist.
- IPv6-only wo möglich, NAT64 für Zugriff von/nach aussen
Adressen
- IPv6 ULA
- fd2d:9e42:4fdd::/48
- IPv4
- 10.185.0.0/16
Anycast
fd2d:9e42:4fdd::/64. Allokation /112
s1 / nb.thinkmo.de
- IPv4
- 85.10.192.104
- IPv6
- 2a01:4f8:a0:2ffe::/64. Geroutet auf 2a01:4f8:a0:20a1::2
- IPv6 onlink
- 2a01:4f8:a0:20a1::/64 (verwendbar: x::2...). Gateway 2a01:4f8:a0:20a0::1 /59.
- IPv6 ULA
- fd2d:9e42:4fdd:1::/64. Allokation /112
- IPv4 NAT44
- 10.185.1.0/24
- IPv4 NAT64
- 10.185.254.0/23
s2 / fs.thinkmo.de
- IPv4
- 188.40.39.195
- IPv6
- 2a01:4f8:100:1ffa::/64. Geroutet auf: 2a01:4f8:100:13e5::2
- IPv6 onlink
- 2a01:4f8:100:13e5::/64 (verwendbar: x::2...). Gateway 2a01:4f8:100:13e0::1 /59.
- IPv6 ULA
- IPv4 NAT44
- IPv4 NAT64
Vorsicht: bis neuer Server angeschafft wird, ist s2 provisorisch der alte produktive moinmoin-Server bei Hetzner in Falkenstein.
Netze
Public
Netz zur Kommunikation von und zur Aussenwelt. Dieses Netz ist komplett gebridgt, IPv6-only und verwendet SLAAC mit den öffentlichen Adressen.
Systeme bekommen automatisch eine öffentliche Adresse. Zugriff per IPv4 wird mittels NAT64 ermöglicht.
Privat
Netz zur Kommunikation zwischen eigenen Systemen. Es ist nur interne Kommunikation möglich. Dieses Netz ist komplett geroutet und verwendet ULA Adressen.
Systeme bekommen manuell eine oder mehrere ULA Adressen zugewiesen. Die Routen dazu werden per OSPF zwischen den Hosts verteilt.
VMs
dns1.thinkmo.de
smtprelay1.thinkmo.de
httprelay1.thinkmo.de
Hosting von ...
- WEDV: eigene Website + div. Kunden + div. Free-Wikis aktuell auf thinkmo.de (kostet 77EUR/m)
- *.moinmo.in (derzeit separater Hetzner-Server, kostet 69EUR/m)
- Jochen Schnuerle: div. eigene Projekte + div. Kunden
TODO
Bereitstellung EX6S Nürnberg durch Hetzner
DNS IPv4 + IPv6
s1.thinkmo.de (CNAME nb.thinkmo.de) (neu)
s2.thinkmo.de (CNAME fs.thinkmo.de) (derzeit == xxx.moinmo.in)
- s2 (test.moinmo.in hat kein ipv6 - brauchen wir das zum Testen?)
Plattentest mit Rescue-System
SMART Anfangsdaten festhalten
smartctl -t long sda OK sdb OK
SMART-Logs/Daten prüfen / mit Anfangsdaten vergleichen
alle Partitionen komplett mit Nullen überschreiben (Vorbereitung drbd)
SMART-Logs/Daten prüfen / mit Anfangsdaten vergleichen
memtester (generell: auf ECC-Fehler im RAM achten)
- TW: Installation Grundsystem
GPT Partitionierung (gdisk), Alignment prüfen
- sda1/sdb1 bios boot partition
- sd[ab][234] fd00 linux raid
MD devices anlegen, --bitmap=internal
Debian Squeeze xen-amd64
interfaces / sshd
md4 resync abwarten vor reboot, bitmap noch hzfg.
- TW: ggf. "LARA" Remote Console anfordern:
- BIOS-Settings checken
- Monitoring-Werte im BIOS festhalten / vergleichen mit lm-sensors
etckeeper + mercurial
lvm2, drbd8-utils inst.
default-release squeeze
- spaeter: kernel, xen, drbd aus wheezy, openssl (aes cpu) (fuer erste tests will ich gleiche sw-versionen haben wie auf dem anderen hetzner-server, sonst passt irgendwas nicht zusammen und kann nicht getestet werden)
- Netz
ipsec tunnel via ipv4, hmac_sha256 / aes256, kernel 3.2 AES_NI in hardware
- Paketfilter
- Spoofing-Schutz für öffentliche Systeme
- Verhindern das unverschlüsselte Daten über das Ethernet-Device gehen
- Routing zwischen Maschinen
Quagga mit OSPF
- Routen filtern
Routing für private Systeme
Xen vif-route überprüfen
NAT64
- Umzug Mail
- MX-Einträge aller Domains auf mx.thinkmo.de ändern (nicht kritisch)
ns1.thinkmo.de und ns.waldi.eu.org geändert.
- Andere externe?
Clients müssen Mails per Submission (Port 587) einliefern
- Nicht mehr aktive Mailboxen archivieren (nicht kritisch)
Mail-Einträge in LDAP importieren
- dovecot
konfigurieren
cron: doveadm purge
cron: doveadm expunge (nicht kritisch)
- Mails synchronisieren
- Testen
UUCP
- MX-Einträge aller Domains auf mx.thinkmo.de ändern (nicht kritisch)