Mit dem Performance Tool iPerf kann man die Geschwindigkeit im IP Netzwerk messen.
Die Installation von iPerf3 ist einfach.
sudo apt install iperf3
Auf dem Server wird iPerf als Prozess gestartet und warten auf Verbindungen.
iperf3 -s
Mit dem Performance Tool iPerf kann man die Geschwindigkeit im IP Netzwerk messen.
Die Installation von iPerf3 ist einfach.
sudo apt install iperf3
Auf dem Server wird iPerf als Prozess gestartet und warten auf Verbindungen.
iperf3 -s
Mit Ubuntu LTS 20.04 wird das Kernel Modul für Wireguard ausgeliefert. Eigentlich ist Wiregaurd erst in Kernel 5.6 enthalten, jedoch verwendet Ubuntu 20.04 den Long Term Kernel 5.4. Das Kernel Modul für Wireguard wurde extra von Kernel 5.6 in 5.4 zurück portiert und ist somit sofort nutzbar.
In diesem Artikel beschreibe ich die Einrichtung von Wireguard für den Client und Server.
Wir installieren die Wiregard Tools und einen Programm zur Erzeugung von QR-Codes.
sudo apt-get install wireguard-tools qrencode
Für die Konfiguration legen wir zwei Verzeichnisse an.
sudo mkdir -p /etc/wireguard /root/wireguard
Systemd erlaubt es einen Dienst wie Apache im Fehlerfall automatisch neu zu starten. Dafür bietet Systemd ein Drop-In Replacement von Konfiguration an.
Die Erweiterung eine bestehenden Konfiguration ist recht einfach.
Wir legen ein Verzeichnis mit dem Names des Service (apache2.service) an.
sudo mkdir /etc/systemd/system/apache2.service.d/
In diesem Verzeichnis wird eine neue Konfigruationsdatei angelegt.
sudo vim /etc/systemd/system/apache2.service.d/restart.conf
Der Inhalt der Konfiguration steuter den Neustart (Restart=on-failure) vom Dienst im Fehlerfall. Der Neustart erfolgt nach einer Wartezeit von 5 Sekunden (RestartSec=5s) mit maximal 10 Versuchen (StartLimitBurst=10). Wird der Dienst manuell gestoppt, so erfolgt kein automatischer Neustart (RemainAfterExit=no).
Wir wollen unter Linux eine Freigabe für Dateien einrichten, damit von Windows oder Linux daraug zugeriffen werden kann.
Dafür brauchen wir den Samba Server, welchen wir zuerst installieren müssen.
sudo apt install samba
Wir richten den Benutzer „Otto“ ein, welche Teil der Gruppe „sambashare“ wird, sich aber nicht an dem Linux anmelden darf. Ein Home-Verzeichnis (/home/otto) braucht der Benutzer nicht. Diese Verzeichnis legen wir auf seine zukünftiges Freigabeverzeichnis.
sudo useradd -M -d /mnt/data/nas -s /usr/sbin/nologin -G sambashare otto
Damit der Benutzer „Otto“ auf seine Freigabe zugreifen kann, müssen wir noch ein Kennwort vergeben. Der Benutzer muss in Linux hinterlegt sein, sonst gibt es jetzt einen Fehler.
sudo smbpasswd -a otto
Die Freigabe mit dem Namen „nas“ für Benutzer „Otto“ und Gruppe „sambashare“ auf Verzeichnis „/mnt/data/nas“ wird in der Datei „smb.conf“ hinzugefügt.
sudo vim /etc/samba/smb.conf
[nas] comment = NAS black box path = /mnt/data/nas read only = no browsable = yes force create mode = 0600 force directory mode = 0700 valid users = otto @sambashare |
Nun noch ein Neustart der Samba Dienste „smbd“ und Netbios Dienste „nmbd“.
sudo systemctl restart smbd nmbd
Btrfs (B-tree FS) ist ein neuen Dateisystem für Linux und möchte den gleichen Funktionsumfang wie ZFS bieten. Ein Vorteil von Btrfs ist, dass es Teil jedes aktuellen Linux Kernel ist. Ziel ist es, einen Überblick der wichtigen Kommandos zu erhalten.
sudo apt install btrfs-tools
RAID 1 (Spieglung) ist mit Btrfs sehr einfach möglich. Man gibt einfach die Partitionen der Festplatten (sdb1,sdc1) an.
sudo mkfs.btrfs -m raid1 -d raid1 -L "BTRFS_RAID" /dev/sdb1 /dev/sdc1
Damit ist die Spieglung der Festplatten erstellt. Die BlockID kann man sich mit ganz einfach anzeigen lassen.
sudo blkid
Die UUID von dem RAID1 tragen wir in die Startdatei ein.
sudoedit /etc/fstab
UUID=2f633613-45b4-36cf-b4be-90a1748f4753 /mnt/data btrfs defaults,subvol=/,compress,autodefrag,inode_cache 0 0 |
Es gibt von Check_mk RAW eine offizielle Version auf dem Docker Hub.
Die Installation von Check_mk ist damit sehr einfach.
sudo docker container run -dit -p 8080:5000 --name monitoring \ -v /omd/sites -v /etc/localtime:/etc/localtime \ -e CMK_SITE_ID=mysite -e MAIL_RELAY_HOST='mailrelay.mydomain.com' \ --restart always checkmk/check-mk-raw:1.6.0-latest |
Das Kennwort für den Zugang wird automatisch generiert. Zu sehen ist es in den Logs.
sudo docker logs monitoring
Mit dem Benutzer und Kennwort kann man sich zu Check_mk verbinden.
http://localhost:8080/mysite/check_mk/
Das Image basiert auf Debian. Das kann man im Container überprüfen.
sudo docker exec -it monitoring bash
Auf der CheckMK Seite kann man sich das Docker Image auch laden.
wget https://checkmk.com/support/1.6.0p9/check-mk-raw-docker-1.6.0p9.tar.gz
Nach dem Download wird das Image in Docker geladen.
sudo docker load -i check-mk-raw-docker-1.6.0p9.tar.gz
Das Docker Image hat den Namen „checkmk/check-mk-raw:1.6.0p9“ und entspricht dem Image vom Docker Hub.
Weitere Informationen gibt es auf den offiziellen Seiten.
Quelle: Docker Hub, Mathias Kettner, CMD Docker
Mit GlusterFS kann man einen Hochverfügbaren Speicher aufbauen. Für den Versuch brauchen wir drei Server mit Ubuntu 18.04 (bionic). Ubuntu ist auf Laufwerk /dev/sda1 installiert und eine Datenpartition /dev/sdb1.
Wir erstellen eine GPT Partitionstabelle.
sudo parted /dev/sdb mklabel gpt
Legen ein Primäre Patition an.
sudo parted -a opt /dev/sdb mkpart primary ext4 0% 100%
Formatieren diese mit dem Dateisystem Ext4.
sudo mkfs.ext4 /dev/sdb1
Legen zwei Verzeichnisse an.
sudo mkdir /mnt/{data,gluster}
Fügen den Mount hinzu.
echo "/dev/sdb1 /mnt/data ext4 defaults 0 0" | sudo tee -a /etc/fstab
Unsere drei Server können wir in der Hosts Datei hinterlegen.
sudoedit /etc/hosts
192.168.56.101 hostA 192.168.56.102 hostB 192.168.56.103 hostC |
Das Distributed Replicated Block Device (DRBD) ist ein verteiltes Blockdevice mit Spiegelung (RAID1) auf zwei unterschiedliche Server. Für die Installation verwenden wir zwei Server (hostA,hostB) mit Ubuntu 18.04 (bionic) auf Laufwerk (/dev/sda1) und einer Datenplatte (/dev/sdb1).
Wir setzten jeweil den Hostnamen auf hostA und hostB.
echo 'hostA' |sudo tee /etc/hostname
Wir können die Hostnamen auf beiden Servern hinterlegen.
sudo vim /etc/hosts
192.168.56.104 hostA 192.168.56.109 hostB |
Die Installation von DRBD ist einfach.
sudo apt-get install drbd-utils
Jetzt sollen wir das Kernel Modul laden.
sudo modprobe drbd
Das DRBD Modul sollte erfolgreich geladen sein.
lsmod |grep drbd
Nach einem Neustart soll das Modul automatisch geladen werden.
echo 'drbd' | sudo tee -a /etc/modules
Beispiele für die Konfiguration liegen hier:
– /etc/drbd.d/global_common.conf
– /usr/share/doc/drbd-utils/examples/drbd.conf.example.gz
Mit dem Cockpit hat man die Möglichkeit, die Auslastung eines Server zu prüfen. Über zusätzliche Module kann man auch Docker steuern.
Der Cockpit ist Teil von Ubuntu 18.04 (bionic).
sudo apt install -t bionic-backports cockpit cockpit-docker
Damit der Benutzer „USER“ auch Zugriff auf Docker erhält, muss er in die Gruppe von Docker hinzugefügt werden.
sudo usermod -aG docker USER
Der Zugriff auf das Cockpit erfolgt per Internet unter Port 9090.
http://localhost:9090/
Quelle: UbuntuBackports
Kommt Docker in einer Umgebung mit HTTP Proxy Server zum Einsatz, so muss der Proxy vor dem Start von Docker in den Umgebungsvariablen gesetzt werden.
Dazu erweitern wir Systemd von Docker um ein Drop-In.
Wir legen ein Verzeichnis an in dem das Drop-In hinterlegt werden soll.
sudo mkdir /etc/systemd/system/docker.service.d
Wir erzeugen eine Drop-In für die Proxy Einstellungen.
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service] Environment="HTTP_PROXY=http://otto:pass123@proxy-server:8080/" |
Der Aufbau von der Proxy URL lautet http://[user]:[password]@[hostname]:[port]/.
Diese Werte können gesetzt werden.
HTTP_PROXY „http://127.0.0.1:8080“
HTTPS_PROXY „https://127.0.0.1:8080“
NO_PROXY „*.test.example,*.example“