Skip to content

Case study · Storage

Storage platform: mdadm RAID1, SMB and a validated disk migration

OpenMediaVault provides the homelab's file storage and hosts its Docker services. Along the way the storage has been migrated to new hardware, recovered at the filesystem level and kept under SMART monitoring, with every change validated before services were reconnected.

← All projects

At a glance

Key facts

Platform
OpenMediaVault as a Proxmox VM
Redundancy
Two-disk mdadm RAID1 for critical data
Non-critical media
Separate single disk outside the mirror
Services
SMB shares; Docker host for infrastructure services
Health
SMART monitoring; RAID status and disk usage in Grafana
  • OpenMediaVault
  • mdadm
  • RAID1
  • SMB
  • SMART
  • Linux
01

Context

OpenMediaVault runs as a virtual machine on Proxmox. Its critical data lives on a two-disk mdadm RAID1 mirror and is shared over SMB. Non-critical media is kept on a separate disk outside the mirror, so the redundant capacity is spent where it matters.

The same VM is the Docker host for DNS, reverse proxy, monitoring and GPU workloads, so the storage platform is also the foundation the rest of the environment depends on.

02

Disk migration

When the storage moved to new hardware under a different host platform, the goal was to move the data without ever putting it into a state that could not be rolled back.

  • Identified disks by persistent identifiers rather than device names, which can change between hosts.
  • Verified that each expected RAID member was present before assembling anything.
  • Reassembled the array and checked its status.
  • Validated filesystem integrity.
  • Mounted read-only first and confirmed the expected data was present.
  • Only then mounted read-write and reconnected services.
03

Filesystem recovery

The platform has also needed filesystem-level recovery work. The approach was the same: confirm the state of the array first, validate the filesystem before mounting it read-write, and check the data before any service was pointed back at it.

04

Ongoing health

Disk health is monitored with SMART. RAID status and disk usage are surfaced in Grafana through Node Exporter, so a degraded array or a filling disk is visible on a dashboard rather than discovered when something fails.

05

Validation checklist

Every storage change on this platform is checked against the same list before it is considered done.

  • RAID status is healthy.
  • The filesystem mounts correctly.
  • The expected data is present.
  • Read and write behaviour is normal.
  • Services can access the storage as expected.

Scope

What this does not claim

  • Backup and migration work with validation has been done on this platform, but it is not presented as a mature automated backup strategy with scheduled jobs and routine restore testing.
  • RAID1 provides resilience against a single disk failure. It is not a backup, and this page does not treat it as one.

Further reading

Related technical write-ups

Articles on my blog that cover this work in more detail.