wiki: audit fixes — broken links, wikilinks, frontmatter, stale content (66 files)
- Fixed 4 broken markdown links (bad relative paths in See Also sections) - Corrected n8n port binding to 127.0.0.1:5678 (matches actual deployment) - Updated SnapRAID article with actual majorhome paths (/majorRAID, disk1-3) - Converted 67 Obsidian wikilinks to relative markdown links or plain text - Added YAML frontmatter to 35 articles missing it entirely - Completed frontmatter on 8 articles with missing fields Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -86,5 +86,5 @@ Be specific when asking for help. Include your distro and version, what you trie
|
||||
|
||||
## See Also
|
||||
|
||||
- [[wsl2-instance-migration-fedora43]]
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [wsl2-instance-migration-fedora43](wsl2-instance-migration-fedora43.md)
|
||||
- [managing-linux-services-systemd-ansible](../process-management/managing-linux-services-systemd-ansible.md)
|
||||
|
||||
@@ -72,7 +72,7 @@ wsl --unregister FedoraLinux-43
|
||||
wsl --import FedoraLinux-43 D:\WSL\Fedora43 D:\WSL\Backups\FedoraLinux-43-YYYY-MM-DD.tar
|
||||
```
|
||||
|
||||
Then fix the default user — after import WSL resets to root. See [[wsl2-instance-migration-fedora43|WSL2 Instance Migration]] for the `/etc/wsl.conf` fix.
|
||||
Then fix the default user — after import WSL resets to root. See [WSL2 Instance Migration](wsl2-instance-migration-fedora43.md) for the `/etc/wsl.conf` fix.
|
||||
|
||||
## Gotchas
|
||||
|
||||
@@ -82,5 +82,5 @@ Then fix the default user — after import WSL resets to root. See [[wsl2-instan
|
||||
|
||||
## See Also
|
||||
|
||||
- [[wsl2-instance-migration-fedora43|WSL2 Instance Migration]]
|
||||
- [[wsl2-rebuild-fedora43-training-env|WSL2 Training Environment Rebuild]]
|
||||
- [WSL2 Instance Migration](wsl2-instance-migration-fedora43.md)
|
||||
- [WSL2 Training Environment Rebuild](wsl2-rebuild-fedora43-training-env.md)
|
||||
|
||||
@@ -97,5 +97,5 @@ alias clean='sudo dnf clean all'
|
||||
|
||||
## See Also
|
||||
|
||||
- [[Managing disk space on MajorRig]]
|
||||
- [[Unsloth QLoRA fine-tuning setup]]
|
||||
- Managing disk space on MajorRig
|
||||
- Unsloth QLoRA fine-tuning setup
|
||||
|
||||
@@ -199,5 +199,5 @@ D:\WSL\
|
||||
|
||||
## See Also
|
||||
|
||||
- [[wsl2-instance-migration-fedora43|WSL2 Instance Migration]]
|
||||
- [[wsl2-backup-powershell|WSL2 Backup via PowerShell]]
|
||||
- [WSL2 Instance Migration](wsl2-instance-migration-fedora43.md)
|
||||
- [WSL2 Backup via PowerShell](wsl2-backup-powershell.md)
|
||||
|
||||
@@ -152,6 +152,6 @@ find /var/www/html -type d -exec chmod 755 {} \;
|
||||
|
||||
## See Also
|
||||
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [[ssh-config-key-management]]
|
||||
- [[bash-scripting-patterns]]
|
||||
- [linux-server-hardening-checklist](../../02-selfhosting/security/linux-server-hardening-checklist.md)
|
||||
- [ssh-config-key-management](../networking/ssh-config-key-management.md)
|
||||
- [bash-scripting-patterns](../shell-scripting/bash-scripting-patterns.md)
|
||||
|
||||
@@ -131,5 +131,5 @@ If key auth isn't working and the config looks right, permissions are the first
|
||||
|
||||
## See Also
|
||||
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [linux-server-hardening-checklist](../../02-selfhosting/security/linux-server-hardening-checklist.md)
|
||||
- [managing-linux-services-systemd-ansible](../process-management/managing-linux-services-systemd-ansible.md)
|
||||
|
||||
@@ -168,5 +168,5 @@ Flatpak is what I prefer — better sandboxing story, Flathub has most things yo
|
||||
|
||||
## See Also
|
||||
|
||||
- [[linux-distro-guide-beginners]]
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [linux-distro-guide-beginners](../distro-specific/linux-distro-guide-beginners.md)
|
||||
- [linux-server-hardening-checklist](../../02-selfhosting/security/linux-server-hardening-checklist.md)
|
||||
|
||||
@@ -146,5 +146,5 @@ ansible-playbook -i inventory.ini manage-services.yml
|
||||
|
||||
## See Also
|
||||
|
||||
- [[wsl2-instance-migration-fedora43]]
|
||||
- [[tuning-netdata-web-log-alerts]]
|
||||
- [wsl2-instance-migration-fedora43](../distro-specific/wsl2-instance-migration-fedora43.md)
|
||||
- [tuning-netdata-web-log-alerts](../../02-selfhosting/monitoring/tuning-netdata-web-log-alerts.md)
|
||||
|
||||
@@ -204,5 +204,5 @@ Roles keep things organized and reusable across projects.
|
||||
|
||||
## See Also
|
||||
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [managing-linux-services-systemd-ansible](../process-management/managing-linux-services-systemd-ansible.md)
|
||||
- [linux-server-hardening-checklist](../../02-selfhosting/security/linux-server-hardening-checklist.md)
|
||||
|
||||
@@ -211,5 +211,5 @@ retry 3 10 curl -f https://example.com/health
|
||||
|
||||
## See Also
|
||||
|
||||
- [[ansible-getting-started]]
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [ansible-getting-started](ansible-getting-started.md)
|
||||
- [managing-linux-services-systemd-ansible](../process-management/managing-linux-services-systemd-ansible.md)
|
||||
|
||||
@@ -109,5 +109,5 @@ Reference: [mdadm — How to rebuild RAID array after fresh install (Unix & Linu
|
||||
|
||||
## See Also
|
||||
|
||||
- [[snapraid-mergerfs-setup]]
|
||||
- [[rsync-backup-patterns]]
|
||||
- [snapraid-mergerfs-setup](snapraid-mergerfs-setup.md)
|
||||
- [rsync-backup-patterns](../../02-selfhosting/storage-backup/rsync-backup-patterns.md)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "SnapRAID & MergerFS Storage Setup"
|
||||
domain: linux
|
||||
category: storage
|
||||
tags: [snapraid, mergerfs, storage, parity, raid, majorraid]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# SnapRAID & MergerFS Storage Setup
|
||||
|
||||
## Problem
|
||||
@@ -16,19 +25,24 @@ A combination of **MergerFS** for pooling and **SnapRAID** for parity. This is i
|
||||
### 2. Implementation Strategy
|
||||
|
||||
1. **Clean the Pool:** Use `rmlint` to clear duplicates and reclaim space.
|
||||
2. **Identify the Parity Drive:** Choose your largest drive (or one equal to the largest data drive) to hold the parity information. In my setup, `/mnt/usb` (sdc) was cleared of 4TB of duplicates to be repurposed for this.
|
||||
3. **Configure MergerFS:** Pool the data drives (e.g., `/mnt/disk1`, `/mnt/disk2`) into `/storage`.
|
||||
2. **Identify the Parity Drive:** Choose your largest drive (or one equal to the largest data drive) to hold the parity information.
|
||||
3. **Configure MergerFS:** Pool the data drives into a single mount point.
|
||||
4. **Configure SnapRAID:** Point SnapRAID to the data drives and the parity drive.
|
||||
|
||||
### 3. MergerFS Config (/etc/fstab)
|
||||
|
||||
On majorhome, the pool mounts three ext4 drives to `/majorRAID`:
|
||||
|
||||
```fstab
|
||||
# Example MergerFS pool
|
||||
/mnt/disk*:/mnt/usb-data /storage fuse.mergerfs defaults,allow_other,cache.files=off,use_ino,category.create=mfs,minfreespace=20G,fsname=mergerfsPool 0 0
|
||||
/mnt/disk1:/mnt/disk2:/mnt/disk3 /majorRAID fuse.mergerfs defaults,allow_other,cache.files=off,use_ino,category.create=mfs,minfreespace=20G,fsname=mergerfsPool 0 0
|
||||
```
|
||||
|
||||
Adjust the source paths and mount point to match your setup. Each `/mnt/diskN` is an individual ext4 drive mounted separately — MergerFS unions them into the single `/majorRAID` path.
|
||||
|
||||
### 4. SnapRAID Config (/etc/snapraid.conf)
|
||||
|
||||
> **Note:** SnapRAID is not yet active on majorhome — a 12TB parity drive purchase is deferred. The config below is the planned setup.
|
||||
|
||||
```conf
|
||||
# Parity file location
|
||||
parity /mnt/parity/snapraid.parity
|
||||
@@ -37,9 +51,11 @@ parity /mnt/parity/snapraid.parity
|
||||
content /var/snapraid/snapraid.content
|
||||
content /mnt/disk1/.snapraid.content
|
||||
content /mnt/disk2/.snapraid.content
|
||||
content /mnt/disk3/.snapraid.content
|
||||
|
||||
data d1 /mnt/disk1/
|
||||
data d2 /mnt/disk2/
|
||||
data d3 /mnt/disk3/
|
||||
|
||||
# Exclusions
|
||||
exclude /lost+found/
|
||||
|
||||
Reference in New Issue
Block a user