Einstieg - So wird das Leben leichter
- Webspace - Erste Schritte um mit dem Webspace zu arbeiten
- Datenbank - Erste Schritte um mit der Datenbank zu arbeiten.
- Protokolle - Eine Sammlung der im Internet am häufigsten verwendeten Protokolle und ihre Funktion.
Inhalt
- Apache2 - Webserver
- Bind9 - DNS-Server
- chmod - Rechte ändern
- DNS - Domain Name System
- Dovecot - IMAP/POP3-Server
- dpkg - Paketverwaltung
- DRBD - Distributed Replicated Block Device
-
- /etc/hosts - lokale Auflösung von Domainnamen
- /etc/resolv.conf - Einstellungen zur Namensauflösung
- IPMI - Intelligent Platform Management Interface
- isc-dhcp-server - DHCP-Server
- KVM - Kernel-based Virtual Maschine
- mdadm - Software-Raid unter Linux
- MySQL - Datenbankserver
- Networking - Netzwerkeinrichtung
- NTPD - Zeitserver
- OpenVPN - VPN-Server
- PAM - Plugable Authentification Method
- PHP - PHP Scriptparser
- Postfix - SMTP-Mailserver
- Greylisting mit Postgrey
- globaler Spamfilter mit amavis-new, spamassasin, clamav
- Samba - Windows Freigabeserver
-
- Fibre Channel - Setup mit QLE2462
-
- SVN - Subversion Server
- tftpd - TFTP-Server
- vsftpd - FTP-Server
Aktiv/Passiv - Failovercluster
Hardware-Support
Sicherheit
Corosync/Pacemaker
Für die Clusterverwaltung setzen wir auf ein Setup mit Corosync und Pacemaker. Die Konfiiguration ist auf jedem Node quasi identisch. Es muss lediglich die Node-ID angepasst werden.
Installation
apt-get install corosync pacemaker
Damit Corosync starten kann muss es in den defaults aktiviert werden.
vim /etc/default/corosync -> start=yes
Konfiguration
Für jeden Node ist die Node-ID anzupassen. Des Weiteren sollte das Netz angepasst werden über das sich der Cluster unterhalten soll.
# Please read the openais.conf.5 manual page totem { version: 2 # How long before declaring a token lost (ms) token: 3000 # How many token retransmits before forming a new configuration token_retransmits_before_loss_const: 10 # How long to wait for join messages in the membership protocol (ms) join: 60 # How long to wait for consensus to be achieved before starting a new round of membership configuration (ms) consensus: 3600 # Turn off the virtual synchrony filter vsftype: none # Number of messages that may be sent by one processor on receipt of the token max_messages: 20 # Limit generated nodeids to 31-bits (positive signed integers) clear_node_high_bit: yes # Disable encryption secauth: on # How many threads to use for encryption/decryption threads: 1 # Optionally assign a fixed node id (integer) nodeid: 1 # This specifies the mode of redundant ring, which may be none, active, or passive. rrp_mode: none interface { # The following values need to be set based on your environment ringnumber: 0 bindnetaddr: 192.168.2.0 mcastaddr: 226.94.1.1 mcastport: 5405 } } amf { mode: enabled } service { # Load the Pacemaker Cluster Resource Manager use_mgmtd: yes ver: 0 name: pacemaker } aisexec { user: root group: root } logging { fileline: off to_stderr: yes to_logfile: no to_syslog: yes syslog_facility: daemon debug: off timestamp: on logger_subsys { subsys: AMF debug: off tags: enter|leave|trace1|trace2|trace3|trace4|trace6 } }
Damt sich die Nodes unterhalten können muss noch ein Schlüssel angelegt werden. Dieser wird per SCP auf alle Nodes übertrgen.
corosync-keygen
scp /etc/corosync/authkey root@node:/etc/corosync
Setup testen
Anschließend kann ein Testlauf gestartet werden. Dazu wird Corosync auf allen Nodes gestartet. Nun kann per crm_mon -n geprüft werden, ob alle Nodes im Cluster laufen. Es sollten alle Nodes mit Status „online“ angezeigt werden.
Quorum
Für ein anständiges Quorum und damit einem echten Failover sind mindestens drei Nodes nötig. Der dritte Node kann dafür auch permanent in den Standby geschickt werden. Somit wird er nie Resourcen übernehmen und wird nur seine Stimme fürs Quorum zur Verfügung stellen.
crm(live)node# standy
Alternativ kann das Quorum auch deaktiviert werden, sollten nur zwei Nodes zur Verfügung stehen. Sollte es kein eindeutiges Quorum geben (2-Nodecluster mit aktiviertem Quorum), so werden dennoch keine Resourcen beim Failover übernommen.
Das Quorum kann wie folgt deaktiviert werden:
crm(live)configure# property no-quorum-policy=ignore
STONITH
Mit STONITH (shot the other node into the head) kann ein Rechner hardware- oder softwaretechnisch buchstäblich aus dem Verkehr gezogen werden. Für den Anfang soll diese Funktion nicht genutzt werden. Wie folgt kann STONITH deaktiviert werden.
crm(live)configure# property stonith-enabled=false