Overview

One external drive, mounted once on the Proxmox host, shared with several containers (Samba, Jellyfin, Nextcloud, Immich) through bind mounts. The host owns the disk. Containers only see the folder you give them. This is the foundation for the next four posts.


Requirements

馃寪 Prerequisite: Before proceeding with the steps below, you must have Proxmox VE installed and fully optimized on your Mini PC. If you haven’t set up your hypervisor yet, please follow my step-by-step guide: Proxmox VE Installation.

  • The drive plugged into the mini PC

馃寪 Prerequisite: read the data on the drive first. Every command that formats a disk deletes everything on it. 鈿狅笍 Heads up: a single disk is not a backup. Keep a second copy of anything you cannot lose.


Procedure

Step 1 路 Identify the disk

lsblk -f

Find your partition (for example sdb1), its filesystem and its UUID. Always mount by UUID: /dev/sdX names can change after a reboot. If the disk is new and empty, create a filesystem. This erases the partition.

mkfs.ext4 -L hdd_data /dev/sdX1

Step 2 路 Create the mount point and protect it

mkdir -p /mnt/hdd_data
chattr +i /mnt/hdd_data

The immutable flag on the empty folder stops anything from writing to the system SSD if the disk is ever missing at boot.

Step 3 路 Mount it at boot

nano /etc/fstab

Add one line, with your own UUID:

UUID=YOUR_DISK_UUID /mnt/hdd_data ext4 defaults,nofail,x-systemd.device-timeout=10s 0 2

nofail lets Proxmox finish booting even if the drive is not there.

systemctl daemon-reload
mount -a
df -h /mnt/hdd_data