Storage Architecture
Purpose
This page documents the physical disks, Proxmox storage pools, logical-volume layout, filesystem mounts, and intended storage roles within the Bytek homelab.
The storage architecture separates:
The main design goal is to prevent application data, operating-system disks, and backups from competing for the same physical storage role.
Storage Overview
local-lvm
Operating systems and infrastructure services
User-data NVMe
4 TB
user-data
Large application and user-data disks
Backup HDD
4 TB
pve-backup
Proxmox VZDump backups
Physical Disk Inventory
/dev/nvme1n1
931.5 GiB
NVMe SSD
Proxmox operating system and local-lvm
/dev/nvme0n1
3.6 TiB
NVMe SSD
user-data LVM-thin storage
/dev/sda
3.6 TiB
WDC HDD
Dedicated Proxmox backup storage
Linux device names such as /dev/sda can change between boots or hardware changes.
Permanent references should use:
/dev/disk/by-id/ paths for physical-device operations.
Proxmox storage IDs for normal VM and backup management.
System NVMe
Physical Device
/dev/nvme1n1
Approximate capacity
931.5 GiB
Partition table
GPT
Primary volume group
pve
Partition Layout
/dev/nvme1n1p1
1007 KiB
Boot support partition
/dev/nvme1n1p2
1 GiB
EFI system partition
/dev/nvme1n1p3
930.5 GiB
Proxmox LVM physical volume
Logical Volumes
pve-root
96 GiB
Proxmox root filesystem
pve-swap
8 GiB
Proxmox swap
pve-data
794.3 GiB
Proxmox LVM-thin pool
Proxmox Storage
The pve-data thin pool appears in Proxmox as:
local-lvm
Storage type: LVM-thin
Intended Use
The system NVMe stores:
Current Workloads
The system NVMe currently stores operating-system disks for services such as:
Storage Policy
Use local-lvm for:
Avoid using local-lvm for:
User-Data NVMe
Physical Device
/dev/nvme0n1
Approximate capacity
3.6 TiB
Device purpose
Large application and user data
LVM volume group
lvm1
Thin pool
data
LVM-Thin Layout
The user-data NVMe contains:
lvm1-data_tmeta
lvm1-data_tdata
lvm1-data
These components represent:
Proxmox Storage
The thin pool appears in Proxmox as:
user-data
Storage type: LVM-thin
Volume group: lvm1
Thin pool: data
Configured chunk size: 256 KiB
Intended Use
The user-data NVMe stores:
Current Major Workload
Nextcloud has a separate virtual data disk on user-data.
/mnt/nextcloud-data
Nextcloud data directory
/mnt/nextcloud-data/ncdata
The Nextcloud operating system remains on local-lvm, while user files remain on user-data.
This separation makes it easier to:
Thin Provisioning
The local-lvm and user-data storage pools use LVM-thin provisioning.
A thin-provisioned virtual disk does not immediately consume its full nominal capacity.
For example, a 500 GB virtual disk initially consumes only the physical blocks that have actually been written.
Important Consequence
The sum of all nominal virtual-disk sizes may exceed the physical capacity of the thin pool.
This is safe only when actual usage is monitored.
If the thin pool reaches full physical allocation, affected VMs may experience:
Thin-Pool Monitoring
Review Proxmox storage usage using:
pvesm status
Review LVM-thin usage using:
lvs -a -o vg_name,lv_name,segtype,lv_attr,lv_size,data_percent,metadata_percent
Monitor both:
Suggested operational thresholds:
These thresholds are operational recommendations and should be adjusted based on growth rate and workload importance.
Backup HDD
Physical Device
/dev/sda
Partition
/dev/sda1
Approximate usable capacity
3.6 TiB
Filesystem
ext4
Partition table
GPT
Stable WWN
0x5000cca097c44d7e
Permanent Mount
/mnt/pve/pve-backup
Proxmox storage ID
pve-backup
Proxmox content type
VZDump backup files
Mount method
Filesystem UUID through /etc/fstab
The filesystem UUID is used instead of /dev/sda1 because Linux device letters can change.
Mount Options
The backup filesystem uses:
noatime to reduce unnecessary metadata writes.
Mount-Point Protection
The Proxmox storage uses mount-point validation.
This prevents Proxmox from treating the empty directory /mnt/pve/pve-backup as valid storage when the HDD is not mounted.
Without this protection, a failed HDD mount could cause backups to be written to the Proxmox root filesystem.
That could fill the root filesystem and disrupt the hypervisor.
Backup-HDD Intended Use
The backup HDD stores:
The backup HDD must remain dedicated to backups.
Prohibited Backup-HDD Uses
Do not use the backup HDD for:
Mixing active workloads with backups would:
Storage Placement Rules
local-lvm
Application OS disk
local-lvm
Nextcloud user data
user-data
Vikunja database and files
Current VM OS disk unless growth requires separation
BookStack database and files
Current VM OS disk unless growth requires separation
Plex configuration and metadata
local-lvm or a dedicated application disk
Plex media
Future dedicated media storage
Game-server executable files
Dedicated game-server disk or user-data
Game world and save data
user-data with backup enabled
Proxmox backup archives
pve-backup
Short-term snapshots
Same thin pool as the source disk
Future Plex Storage
The RTX 2060 Plex VM should not use the backup HDD for media.
Recommended placement:
local-lvm.
Plex configuration and metadata on NVMe-backed storage.
Plex transcode directory on temporary fast storage.
Movies and television content on future dedicated media storage.
Music content on future shared media storage if Navidrome is deployed.
A temporary media disk may be created on user-data for initial testing.
Long-term media storage should ideally use:
Media capacity planning must account for continued Nextcloud growth on user-data.
Future Game-Server Storage
A dedicated game-server VM should use:
local-lvm.
Game data or world-save disk on user-data.
Backup enabled for unique save data.
Application-level save backups where supported.
Steam-installed server binaries can usually be downloaded again.
Unique game-world data, configuration files, allowlists, bans, and mods require backup.
Storage Expansion Principles
Before adding physical storage, decide whether the new disk is intended for:
Avoid adding unrelated physical disks into an existing unmirrored LVM volume group merely to increase capacity.
Safer future expansion patterns include:
Failure-Domain Considerations
System NVMe Failure
Expected impact:
Recovery would require:
pve-backup.
User-Data NVMe Failure
Expected impact:
local-lvm may continue working.
Backups on the HDD may remain available.
Backup HDD Failure
Expected impact:
Complete Host Failure
Expected impact:
This is the primary reason a future offsite or separate-host backup is required.
Snapshot Policy
Proxmox snapshots are used as short-term rollback points.
Recommended snapshot use cases:
Snapshots are not backups because:
Delete unnecessary snapshots after the associated change has been validated.
Avoid snapshots with RAM unless restoring the exact running state is required.
Storage Validation
Confirm Proxmox Storage
Use:
pvesm status
Expected storage IDs include:
local
local-lvm
user-data
pve-backup
Confirm Backup Mount
Use:
findmnt /mnt/pve/pve-backup
The source should be /dev/sda1.
Confirm Backup Capacity
Use:
df -h /mnt/pve/pve-backup
Confirm Physical Devices
Use:
lsblk -e7 -o NAME,PATH,SIZE,TYPE,FSTYPE,PTTYPE,MOUNTPOINTS,MODEL,SERIAL,WWN
Confirm Thin-Pool Utilization
Use:
lvs -a -o vg_name,lv_name,segtype,lv_attr,lv_size,data_percent,metadata_percent
Confirm Storage Configuration
Use:
cat /etc/pve/storage.cfg
Do not store credentials or secrets in the documentation when recording command output.
Disk-Health Monitoring
The backup HDD should be monitored using SMART.
Stable backup-HDD identifier:
/dev/disk/by-id/wwn-0x5000cca097c44d7e
Useful checks:
smartctl -H /dev/disk/by-id/wwn-0x5000cca097c44d7e
smartctl -A /dev/disk/by-id/wwn-0x5000cca097c44d7e
smartctl -x /dev/disk/by-id/wwn-0x5000cca097c44d7e
Important attributes include:
Pending or uncorrectable sectors require immediate review.
NVMe health should also be reviewed periodically using the appropriate NVMe SMART tools.
Capacity Review Checklist
Perform a storage review when:
Review:
Current Limitations
The current storage architecture does not provide disk redundancy.
The system NVMe, user-data NVMe, and backup HDD are independent single devices.
The architecture protects against some logical failures through backups, but does not provide uninterrupted operation after a physical disk failure.
The local backup HDD is in the same:
Future priorities include:
Document Control
local-lvm
Application-data storage: 4 TB NVMe on user-data
Backup storage: 4 TB HDD on pve-backup
Storage redundancy: None
Offsite backup: Not configured
Recovery tested: Partial
Known limitations: Single-device storage tiers and one physical host