Linux Mint auf ZFS Mirror booten
Linux Mint ZFS Mirror Installation: Schritt-für-Schritt Anleitung
Voraussetzungen
- USB-Stick mit Linux Mint ISO (mindestens 4GB)
- Zwei identische Festplatten für den ZFS Mirror
- Mindestens 4GB RAM (8GB empfohlen)
- Backups aller wichtigen Daten
- UEFI-fähiges System (empfohlen)
1. BIOS-Vorbereitung
- Starten Sie das BIOS/UEFI-Setup
- Aktivieren Sie UEFI-Boot
- Deaktivieren Sie Secure Boot
- Stellen Sie sicher, dass beide Festplatten erkannt werden
- Setzen Sie USB als ersten Boot-Device
2. Live-System vorbereiten
# System booten und Terminal öffnen
# ZFS Pakete installieren
sudo apt update
sudo apt install zfsutils-linux zfs-initramfs
# Optional: Performance-Monitoring Tools
sudo apt install htop iotop
3. Festplatten vorbereiten
# Identifizieren Sie Ihre Festplatten
ls -l /dev/disk/by-id/
# Ersetzen Sie in allen folgenden Befehlen YOUR_DISK1 und YOUR_DISK2
# mit Ihren tatsächlichen Disk-IDs, z.B.:
# ata-Samsung_SSD_850_EVO_1TB_S2RBNX0H123456B
DISK1=/dev/disk/by-id/YOUR_DISK1
DISK2=/dev/disk/by-id/YOUR_DISK2
# Partitionstabellen erstellen
sudo sgdisk --zap-all $DISK1
sudo sgdisk --zap-all $DISK2
# Partitionen erstellen
# 1. EFI (512M)
# 2. Boot (2G)
# 3. Root (Rest)
sudo sgdisk -n1:1M:+512M -t1:EF00 $DISK1
sudo sgdisk -n2:0:+2G -t2:BF01 $DISK1
sudo sgdisk -n3:0:0 -t3:BF01 $DISK1
# Partition-Layout auf zweite Platte kopieren
sudo sgdisk -R $DISK2 $DISK1
sudo sgdisk -G $DISK2
4. ZFS-Pools erstellen
# Boot-Pool erstellen
sudo zpool create -f -o ashift=12 \
-o autotrim=on \
-O acltype=posixacl \
-O canmount=off \
-O compression=lz4 \
-O devices=off \
-O normalization=formD \
-O relatime=on \
-O xattr=sa \
-O mountpoint=/boot \
bpool mirror \
${DISK1}-part2 \
${DISK2}-part2
# Root-Pool erstellen
sudo zpool create -f -o ashift=12 \
-o autotrim=on \
-O acltype=posixacl \
-O canmount=off \
-O compression=zstd \
-O dnodesize=auto \
-O normalization=formD \
-O relatime=on \
-O xattr=sa \
-O mountpoint=/ \
rpool mirror \
${DISK1}-part3 \
${DISK2}-part3
5. ZFS Datasets erstellen
# Datasets für Boot-Pool
sudo zfs create -o canmount=off -o mountpoint=none bpool/BOOT
sudo zfs create -o canmount=on -o mountpoint=/boot bpool/BOOT/mint
# Datasets für Root-Pool
sudo zfs create -o canmount=off -o mountpoint=none rpool/ROOT
sudo zfs create -o canmount=on -o mountpoint=/ rpool/ROOT/mint
# Datasets für Benutzer-Daten
sudo zfs create -o canmount=off -o mountpoint=none rpool/DATA
sudo zfs create -o canmount=on -o mountpoint=/home rpool/DATA/home
sudo zfs create -o canmount=on -o mountpoint=/root rpool/DATA/root
# Datasets für System-Daten
sudo zfs create -o canmount=on -o mountpoint=/var rpool/DATA/var
sudo zfs create -o canmount=on -o mountpoint=/var/log rpool/DATA/var_log
sudo zfs create -o canmount=on -o mountpoint=/var/spool rpool/DATA/var_spool
sudo zfs create -o canmount=on -o mountpoint=/var/tmp rpool/DATA/var_tmp
6. EFI-Partitionen vorbereiten
# EFI-Partitionen formatieren
sudo mkfs.fat -F 32 -n EFI ${DISK1}-part1
sudo mkfs.fat -F 32 -n EFI2 ${DISK2}-part1
# EFI-Partition mounten
sudo mkdir -p /boot/efi
sudo mount ${DISK1}-part1 /boot/efi
7. Linux Mint Installation
- Starten Sie den Linux Mint Installer
- Wählen Sie „Something else“ bei der Partitionierung
- WICHTIG: Markieren Sie die vorhandenen ZFS-Datasets, aber führen Sie KEINE Formatierung durch
- Wählen Sie das root Dataset (rpool/ROOT/mint) als / (ohne Formatierung)
- Setzen Sie den Bootloader auf die erste Festplatte (${DISK1})
- Führen Sie die Installation durch, aber BRECHEN SIE VOR DEM NEUSTART AB
8. Chroot und Systemkonfiguration
# In das neue System chrooten
sudo mount -o bind /dev /target/dev
sudo mount -o bind /proc /target/proc
sudo mount -o bind /sys /target/sys
sudo chroot /target
# ZFS in initramfs aufnehmen
echo "zfs" >> /etc/modules
# GRUB für ZFS konfigurieren
echo 'GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/mint"' >> /etc/default/grub
# Update initramfs und GRUB
update-initramfs -c -k all
update-grub
# GRUB auf beide Platten installieren
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=mint ${DISK1}
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=mint ${DISK2}
# ZFS Cache erstellen
zpool set cachefile=/etc/zfs/zpool.cache rpool
zpool set cachefile=/etc/zfs/zpool.cache bpool
# Chroot verlassen
exit
9. System starten
- Fahren Sie das System herunter
- Entfernen Sie den USB-Stick
- Starten Sie neu
10. Nach dem ersten Start
# ZFS Status überprüfen
zpool status
zfs list
# ZFS Trim aktivieren
sudo zpool trim rpool
sudo zpool trim bpool
# Automatische Snapshots einrichten (optional)
sudo apt install zfs-auto-snapshot
# ZFS Performance optimieren
echo "options zfs zfs_arc_max=$(( $(grep MemTotal /proc/meminfo | awk '{print $2}') * 1024 * 4 / 10 ))" > /etc/modprobe.d/zfs.conf
Wartung und Monitoring
Regelmäßige Überprüfungen
# Wöchentlicher Scrub
sudo zpool scrub rpool
sudo zpool scrub bpool
# Status überprüfen
zpool status -v
# Speicherplatz überprüfen
zfs list
Snapshots verwalten
# Manuellen Snapshot erstellen
sudo zfs snapshot rpool/DATA/home@datum
# Snapshots auflisten
zfs list -t snapshot
# Zu Snapshot zurückkehren
sudo zfs rollback rpool/DATA/home@datum
Troubleshooting
Pool importieren
# Falls der Pool nicht automatisch importiert wird
sudo zpool import -f rpool
sudo zpool import -f bpool
Boot-Probleme
- Von Live-System booten
- Pools importieren:
sudo zpool import -f rpool
sudo zpool import -f bpool
- Chroot durchführen und GRUB neu installieren
Wichtige Hinweise
- Erstellen Sie regelmäßig Backups
- Überwachen Sie den ZFS-Status regelmäßig
- Führen Sie System-Updates vorsichtig durch
- Behalten Sie genug freien Speicherplatz (mindestens 20%)