Zum Inhalt

Hardware & Dateisystem

TR-004 RAID

Komponenten

  • Gehäuse: QNAP TR-004 (USB-C Anschluss)
  • Platten: 4x 4TB HDD
  • RAID-Level: RAID 5 (1 Platte Parität)
  • Nutzbare Kapazität: ~12 TB

TR-004 Vorbereitung

  1. RAID-Modus-Schalter auf "Software Controlled" oder "Individual" stellen
  2. Am NUC per USB-C anschließen
  3. Platten sollten als /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde erscheinen

Platten prüfen

# Alle Blockdevices anzeigen
lsblk

# Detailliert
sudo fdisk -l | grep -E "^Disk /dev/sd"

# Alte RAID-Signaturen prüfen
sudo mdadm --examine /dev/sdb /dev/sdc /dev/sdd /dev/sde

Partitionen erstellen

# GPT-Partitionstabelle + eine Partition pro Platte
for disk in sdb sdc sdd sde; do
    sudo parted /dev/$disk --script \
        mklabel gpt \
        mkpart primary 0% 100% \
        set 1 raid on
done

# Prüfen
lsblk /dev/sdb /dev/sdc /dev/sdd /dev/sde

Erwartete Ausgabe:

NAME   SIZE  TYPE
sdb    3.6T  disk
└─sdb1 3.6T  part
sdc    3.6T  disk
└─sdc1 3.6T  part
...

RAID 5 erstellen

# RAID 5 mit 4 Partitionen erstellen
sudo mdadm --create --verbose /dev/md0 \
    --level=5 \
    --raid-devices=4 \
    /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

# Mit 'y' bestätigen

# Status prüfen (Sync dauert mehrere Stunden!)
cat /proc/mdstat

RAID-Konfiguration persistieren

# Konfiguration in mdadm.conf speichern
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

# initramfs aktualisieren (wichtig für Boot!)
sudo update-initramfs -u

btrfs Dateisystem

Warum btrfs?

  • Checksums: Erkennt Bitrot automatisch
  • Kompression: Spart zusätzlich Speicherplatz
  • Subvolumes: Bessere Organisation
  • Scrub: Regelmäßige Integritätsprüfung

btrfs erstellen

sudo mkfs.btrfs -L backup-nas /dev/md0

Mount mit optimierten Optionen

# Verzeichnis erstellen
sudo mkdir -p /mnt/backup-nas

# UUID holen
BTRFS_UUID=$(sudo blkid -s UUID -o value /dev/md0)

# fstab-Eintrag mit optimierten Optionen
echo "UUID=$BTRFS_UUID  /mnt/backup-nas  btrfs  defaults,noatime,compress=zstd:3,space_cache=v2,nofail  0 0" | sudo tee -a /etc/fstab

# Mounten
sudo mount /mnt/backup-nas

Mount-Optionen erklärt:

Option Zweck
noatime Keine Zugriffszeit-Updates → weniger Schreiblast
compress=zstd:3 Transparente Kompression, Level 3
space_cache=v2 Schnellere Speicherplatz-Verwaltung
nofail System bootet auch wenn TR-004 nicht angeschlossen

Subvolume für Borg erstellen

# Subvolume für Borg-Repo
sudo btrfs subvolume create /mnt/backup-nas/@borg

# Ordner für den Mount
sudo mkdir -p /mnt/borg-repo

# UUID holen (falls nicht mehr gesetzt)
BTRFS_UUID=$(sudo blkid -s UUID -o value /dev/md0)

# Subvolume separat mounten
echo "UUID=$BTRFS_UUID  /mnt/borg-repo  btrfs  defaults,noatime,compress=zstd:3,space_cache=v2,subvol=@borg,nofail  0 0" | sudo tee -a /etc/fstab

sudo mount /mnt/borg-repo

Wartung: Monatlicher Scrub

# Cronjob für monatlichen Scrub
echo "0 3 1 * * root btrfs scrub start /mnt/backup-nas && btrfs scrub status /mnt/backup-nas >> /var/log/btrfs-scrub.log" | sudo tee /etc/cron.d/btrfs-scrub

sudo chmod 644 /etc/cron.d/btrfs-scrub