Playbook für die Nextcloud Notfalleinrichtung.

This commit is contained in:
2025-08-18 10:08:39 +02:00
parent 99a9fbc8ae
commit 3a876c13a9
24 changed files with 516 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
#!/usr/bin/env bash
set -euo pipefail
# Dauer des Tests (Default: 10 Minuten, Format z.B. "5m", "600")
DURATION="${1:-10m}"
# Verzeichnisse / Geräte für FileIO
NVME_MOUNT="~/test" # bitte anpassen
SATA_MOUNT="/mnt/nextcloud/test" # bitte anpassen
# Größe und Einstellungen für sysbench-FileIO
FILE_TOTAL_SIZE="1G"
FILE_NUM="4"
TEST_MODE="rndrw"
EXTRA_FLAGS="--file-extra-flags=direct"
echo "== Vorbereitung: FileIO Testdateien erstellen =="
sysbench fileio \
--file-total-size=${FILE_TOTAL_SIZE} \
--file-num=${FILE_NUM} \
--file-test-mode=${TEST_MODE} \
${EXTRA_FLAGS} \
--file-dir=${NVME_MOUNT} prepare &
sysbench fileio \
--file-total-size=${FILE_TOTAL_SIZE} \
--file-num=${FILE_NUM} \
--file-test-mode=${TEST_MODE} \
${EXTRA_FLAGS} \
--file-dir=${SATA_MOUNT} prepare &
wait
echo "== Vorbereitung fertig, starte Stresstest für ${DURATION} =="
# CPUStresstest
stress-ng \
--cpu 8 \
--cpu-method all \
--verify \
--timeout ${DURATION} \
--metrics-brief \
> stress-ng.log 2>&1 &
# FileIO auf NVMe
sysbench fileio \
--file-total-size=${FILE_TOTAL_SIZE} \
--file-num=${FILE_NUM} \
--file-test-mode=${TEST_MODE} \
${EXTRA_FLAGS} \
--file-dir=${NVME_MOUNT} \
--time=${DURATION} run \
> sysbench-nvme.log 2>&1 &
# FileIO auf SATASSD
sysbench fileio \
--file-total-size=${FILE_TOTAL_SIZE} \
--file-num=${FILE_NUM} \
--file-test-mode=${TEST_MODE} \
${EXTRA_FLAGS} \
--file-dir=${SATA_MOUNT} \
--time=${DURATION} run \
> sysbench-sata.log 2>&1 &
# Auf alle HintergrundJobs warten
wait
echo "== Stresstest abgeschlossen =="
echo "Ergebnisse:"
echo " - CPU (stress-ng): see stress-ng.log"
echo " - NVMe (sysbench): see sysbench-nvme.log"
echo " - SATA (sysbench): see sysbench-sata.log"
# Clean up FileIO Testdateien
echo "== Aufräumen: FileIO Testdateien löschen =="
sysbench fileio ${EXTRA_FLAGS} --file-dir=${NVME_MOUNT} cleanup
sysbench fileio ${EXTRA_FLAGS} --file-dir=${SATA_MOUNT} cleanup
echo "Fertig."