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

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
Zum Seitenanfang.

 

Copyright © 2018 Linetz – Hosting und IT-Dienstleistungen Hendrik Borgmeyer.