Pi 5 NAS Setup¶
Hardware¶
| Component | Specification |
|---|---|
| Board | Raspberry Pi 5 (4GB RAM) |
| Storage HAT | Radxa Penta SATA HAT (JMB585 PCIe-to-SATA) |
| Drives | 4× Kingston 894GB 2.5" SATA SSD |
| RAID | RAID 5 (~2.6TB usable, single-drive redundancy) |
| Filesystem | ext4 on mdraid |
| OS | OpenMediaVault 7 (Sandworm) on SD card |
| Network | Gigabit Ethernet (Management VLAN) |
| Power | 12V 5A (60W) DC adapter via barrel jack |
⚠️ Read Pi NAS Power Supply Gotcha first. The official Pi 5 USB-C PSU cannot power this setup. The HAT needs its own 12V supply and back-feeds power to the Pi through GPIO.
Why This Setup¶
The Pi 5 + Radxa SATA HAT is a genuine PCIe SATA solution (not USB). The JMB585 controller connects via the Pi 5's native PCIe bus, giving real SATA performance. Over Gigabit Ethernet, the NAS saturates the link at ~115 MB/s — more than enough for a homelab Proxmox cluster.
Limitations to be honest about:
- 4GB RAM means ZFS is off the table (ZFS wants ~1GB per TB). Use mdraid + ext4 instead.
- Cannot boot from the SATA drives — the bootloader doesn't power the HAT during boot. SD card boot is required.
- Single Gigabit Ethernet — fine for a homelab, but won't scale if you need multi-client high-throughput.
Installation¶
Enable PCIe¶
Add to /boot/firmware/config.txt:
Reboot. Verify with lspci — you should see the JMB585 SATA controller.
Install OMV 7¶
Start with a fresh Raspberry Pi OS Lite (64-bit) flashed to an SD card. Critical: create a username other than "admin" (reserved for OMV) and do not configure WiFi — use wired Ethernet only.
# Update system
sudo apt-get update && sudo apt-get upgrade -y
# Pre-install script
sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/preinstall | sudo bash
sudo reboot
# Install OMV (takes 15-30 minutes)
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
Access the web interface at http://<nas-ip> with admin / openmediavault. Change the password immediately.
RAID 5 Setup¶
- Storage → Disks: Verify all 4 SSDs are detected
- Install the RAID plugin: System → Plugins → search
openmediavault-md→ install - Storage → Software RAID: Create RAID 5 with all 4 drives
- Storage → File Systems: Create ext4 on the RAID array, mount it
- Wait — initial RAID sync takes 2-6 hours in the background. Performance will be degraded during sync.
Network Shares¶
NFS (for Proxmox):
- Storage → Shared Folders → create a folder on the RAID array
- Services → NFS → Shares → add the folder, restrict to the Management VLAN subnet
SMB (for workstations):
- Services → SMB/CIFS → Shares → add folders for media, backups, ISOs
Integration with Proxmox¶
On both Proxmox nodes:
- Datacenter → Storage → Add → NFS
- Enter NAS IP, export path, select content types (ISOs, templates, backups)
Both nodes now share the same storage pool. Container templates, ISOs, and backup files are accessible from either node.
Troubleshooting: Drives Not Detected¶
If lspci shows the Broadcom bridge and Ethernet but no SATA controller:
- Check power — Is the 12V barrel jack connected and powered?
- Check PCIe config — Are the
dtparam=pciex1lines in config.txt? - Check the ribbon cable — Reseat the FFC cable (contacts face down on both ends, latch fully closed)
- Check
dmesg | grep -i pcie— Look for errors during boot
If dmesg shows PCIe devices but no SATA, the ribbon cable is likely the issue. These are fiddly — it took me multiple attempts to get it seated correctly.