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