# Pi 5 NAS — OMV Provisioning Runbook SSH into the Pi. The Pi should already be booted with Raspberry Pi OS Lite, Ethernet connected, Radxa Penta SATA Hat installed. --- ## 1. Update + Install OMV ```bash sudo apt update sudo apt upgrade -y wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash ``` This takes ~5 minutes. Reboot when done: ```bash sudo reboot ``` --- ## 2. Enable PCIe Port SSH back in after reboot. Drives won't show up until the PCIe port is enabled. ```bash sudo tee -a /boot/firmware/config.txt > /dev/null << 'EOF' # Radxa Penta SATA Hat — enable PCIe Gen 3 dtparam=pciex1 dtparam=pciex1_gen=3 EOF sudo reboot ``` --- ## 3. Verify Drives SSH back in and confirm all four drives are visible: ```bash lsblk ``` Expected output (one per drive bay): ``` sda sdb sdc sdd ``` If any are missing, check SATA cable seating on the Radxa hat and verify the PCIe lines were added to config.txt. --- ## 4. Standard Baseline (zvx user, sshpass, Tailscale) If the Pi wasn't flashed with the zvx user via Raspberry Pi Imager, create it now: ```bash sudo useradd -m -s /bin/bash -G sudo zvx echo "zvx:7redditGold" | sudo chpasswd ``` Install sshpass and Tailscale: ```bash sudo apt install -y sshpass curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up --ssh ``` --- ## 5. Configure OMV via Web UI Open a browser and go to the Pi's IP address. Default login: - **Username:** `admin` - **Password:** `openmediavault` Change the admin password immediately. ### Format Drives (ext4, no RAID) Each drive is used individually — no RAID array. 1. **Storage → Disks** — confirm all 4 drives appear 2. **Storage → File Systems** — for each drive: - Click **Create** - Select the drive (sda, sdb, sdc, sdd) - Type: **ext4** - Label them something useful (e.g., `bay1`, `bay2`, `bay3`, `bay4`) - Click **Save**, then **Mount** each one 3. **Apply** pending changes when prompted ### Create Shared Folders 1. **Storage → Shared Folders** — create a folder on each drive as needed, e.g.: - `share1` on `bay1` - `media` on `bay2` - `proxmox-storage` on `bay3` - `backup` on `bay4` - (adjust names/layout to your needs) 2. Set permissions: **Administrator: read/write, Users: read/write, Others: read-only** (or as desired) ### Enable SMB (Windows Shares) 1. **Services → SMB/CIFS → Settings** — toggle **Enabled**, click **Save** 2. **Services → SMB/CIFS → Shares** — click **Create** for each shared folder you want accessible from Windows: - Select the shared folder - **Public:** No - **Browseable:** Yes - Click **Save** 3. **Apply** pending changes ### Enable NFS (Proxmox CT Storage) 1. **Services → NFS → Settings** — toggle **Enabled**, click **Save** 2. **Services → NFS → Shares** — click **Create** for each folder Proxmox needs: - Select the shared folder (e.g., `proxmox-storage`) - **Client:** your Proxmox subnet, e.g., `192.168.1.0/24` - **Privilege:** Read/Write - **Extra options:** `subtree_check,insecure,no_root_squash` - Click **Save** 3. **Apply** pending changes `no_root_squash` is needed because Proxmox CTs write as root. `insecure` allows connections from ports >1024 which some NFS clients use. ### Create OMV User (for SMB access) 1. **Users → Users** — click **Create** - **Name:** `zvx` - **Password:** `7redditGold` - **Groups:** add to `users` 2. **Save** and **Apply** This user is for SMB authentication. The Linux `zvx` user created earlier is separate from the OMV web UI user system. --- ## 6. Connect from Windows From a Windows machine on the same network: ``` \\\share1 ``` Or map as a network drive. Authenticate with `zvx` / `7redditGold`. --- ## 7. Connect from Proxmox On the Proxmox host, add the NFS share as storage: **Datacenter → Storage → Add → NFS:** - **ID:** `nas-storage` (or whatever) - **Server:** NAS IP address (or Tailscale IP) - **Export:** `/export/proxmox-storage` (check exact path with `showmount -e ` from Proxmox) - **Content:** select what you'll store (Disk image, Container, ISO image, Snippets, Backups, etc.) Or via CLI on the Proxmox host: ```bash # Verify the NFS export is visible showmount -e # Add to Proxmox storage config pvesm add nfs nas-storage \ --server \ --export /export/proxmox-storage \ --content images,rootdir,vztmpl,backup,iso \ --options vers=4 ``` --- ## 8. Verification Checklist ```bash echo "=== Pi NAS Provisioning Check ===" echo "" echo "Hostname: $(hostname)" echo "User zvx: $(id zvx 2>/dev/null && echo 'OK' || echo 'MISSING')" echo "sshpass: $(which sshpass >/dev/null 2>&1 && echo 'OK' || echo 'MISSING')" echo "Tailscale: $(tailscale status --self 2>/dev/null | head -1 || echo 'NOT CONNECTED')" echo "Tailscale IP: $(tailscale ip -4 2>/dev/null || echo 'N/A')" echo "OMV: $(systemctl is-active openmediavault-engined 2>/dev/null || echo 'NOT RUNNING')" echo "PCIe: $(grep -q 'dtparam=pciex1' /boot/firmware/config.txt && echo 'ENABLED' || echo 'DISABLED')" echo "Drives: $(lsblk -d -n -o NAME | grep '^sd' | wc -l) detected" echo "SMB: $(systemctl is-active smbd 2>/dev/null || echo 'NOT RUNNING')" echo "NFS: $(systemctl is-active nfs-server 2>/dev/null || echo 'NOT RUNNING')" ```