Mal eben schnell HA

2 Nov 2020 Lesezeit: 3 Minuten

Ich stehe ja total auf diesen ganzen HA Kram in "good old standard" manier. Darunter zu finden ist dann auch Pacemaker als Tooling, welches man für seine Failover oder eben HA Cluster in größeren Dimensionen nutzen kann.

In diesem Beitrag beschreibe ich, wie man sich fix ein HA Setup bauen kann, bei dem N Knoten eine (virtuelle) IP-Adresse hin und her reichen. Nutzen kann man das zum Beispiel bei identisch eingerichteten Webserver, als klassisches Failover, oder - wie in meinem Fall - um damit einen Kubernetes Cluster anzusprechen und somit die Master verfügbar zu halten.

installation der notwendigen Software (Debian)

apt install --assume-yes pacemaker corosync pcs

start and enable services

systemctl start pcsd pacemaker corosync
systemctl enable pacemaker corosync pcsd

set password for user hacluster

Mit diesem Benutzer wird das pairing versucht. Das bedeutet, das in den nächsten Schritten die Nodes versuchen werden sich mit diesem Benutzernamen und Kennwort gegenüber den anderen Teilnehmenden Knoten zu authentifizieren.

echo "d3fcCfcjumK3zPvnVFpp" | passwd hacluster --stdin
passwd hacluster

setup the cluster

Jetzt geht es ans eingemachte: Wir setzen den Cluster auf. Wir beginnen nach einer frischen Installation damit, das wir zunächst

  • den vorhandenen Cluster ansprechen
  • dann die die Hosts authentifizieren
  • später dann das Setup auf den Hosts starten
  • den Cluster starten und enablen
pcs cluster auth -u hacluster -p d3fcCfcjumK3zPvnVFpp
pcs host auth server1 server2 server3 -u hacluster
pcs cluster setup superdupercluster server1 server2 server3
pcs cluster start --all
pcs cluster enable --all

create cluster ressource for failover IP

jetzt wo wir einen funktionieren Cluster haben, werden wir die gewünschte virtuelle IP-Adresse einrichten, damit wir unserem Ziel näher kommen.

pcs resource create cluster_ip ocf:heartbeat:IPaddr2 ip=111.222.333.444 cidr_netmask=24 op monitor interval=30s

Optional - Loadbalancing

Richtig cool ist eigentlich, das wir einen rudimentären Loadbalancer haben (können). Die nun vorhandene virtuelle IP-Adresse wird im Cluster geclont und auf mehreren Knoten bereitgestellt.

pcs resource clone cluster_ip clone-max=2 clone-node-max=2 globally-unique=true
pcs resource update cluster_ip clusterip_hash=sourceip

check status

Zu guter letzt wollen wir natürlich wissen wie es unserem Cluster geht. Das erfahren wir durch

pcs status

Quellen und Links


Einfaches Backupskript - lazy admin style

15 Mär 2020 Lesezeit: ~1 Minute

Ein einfaches Skript um Dateien/Ordner zu sichern und diese in begrenzter Anzahl vorzuhalten ist etwas, das ich immer brauche. Es gibt diverse Tools - manchmal braucht man es aber nicht so umfangreich.

Ich nutze gern das nachfolgende Skript unter Bash dazu. Die Kommandos zur Sicherung tausche ich immer wieder aus und natürlich gibt es einen Timestamp- am Ende wird ein wenig aufgeräumt.

Quick and Dirty - ich mag es.

#!/bin/bash

DATE=`date +%Y%m%d-%H%M%S`
DST=/Pfad/zum/BackupOrdner
SRC=/Pfad/zu/den/Daten

tar czvf $DST/Backup-$DATE.tgz
if [ $? -ne 0 ]; then
echo "Da hat was nicht geklappt"
exit 1
fi

find $DST -type f -mtime +60 -name "*.tgz" -exec rm -f {} \;
if [ $? -ne 0 ]; then
echo "Da hat was nicht geklappt"
exit 1
fi
exit 0

Firmware und BIOS Update bei Lenovo unter Linux

3 Feb 2020 Lesezeit: ~1 Minute

Softwareupdates sind wichtig. Firmwareupdates ebenso - grade in einer Zeit wo so viel Beta-Ware ausgeliefert wird. Wer Lenovo unter Windows betreibt nutzt dazu vermutlich einfach Systemupdate. Wer Lenovo unter Linux Benutzt muss einen anderen Weg gehen.

Hier hat sich das Tool fwupd als brauchbar erwiesen. Damit ich nicht immer suchen muss schreibe ich hier mal die Schritte auf, welche ich gehe um mein System aktuell zu halten:

sudo dnf install fwupd.x86_64
sudo fwupdmgr get-devices
for d in system-manufacturer system-product-name bios-release-date bios-version
do
echo "${d^} : " $(sudo dmidecode -s $d)
done
sudo fwupdmgr refresh
fwupdmgr get-updates
sudo fwupdmgr update

Quellen und Links: