- Create INFRASTRUCTURE-COMPLETE.md: Comprehensive infrastructure overview * Network architecture and DNS configuration * Storage architecture for Nextcloud (1.4TB warm storage via LVM) * Kopia backup setup with Backblaze B2 integration * Caddy reverse proxy configuration (CT 202) * Security configuration and capacity planning - Add Caddy reverse proxy configurations: * caddy-kopia-integration.md: Integration steps for CT 202 * caddy-kopia-reverse-proxy.md: Complete configuration reference * caddy/Caddyfile: Production-ready configuration * caddy/docker-compose.yml: Docker deployment spec - Add Kopia backup documentation: * kopia-nextcloud-backblaze-setup.md: Complete Kopia setup guide * Backup strategy, retention policies, and restore procedures - Update related documentation with consolidated references Status: Infrastructure documented and ready for deployment
4.7 KiB
✅ Nextcloud Warm Storage Expansion - COMPLETED
Date: April 27, 2026
Status: Successfully Expanded
Time: ~15 minutes
📊 Summary
| Metric | Before | After | Change |
|---|---|---|---|
| Storage Size | 900GB | 964GB | +64GB |
| Available Space | 0GB | 915GB | +915GB |
| Status | 🔴 100% FULL | 🟢 1% USED | ✅ CRITICAL |
| Location | NFS (TrueNAS offline) | Local LVM | Independent |
🔧 Technical Implementation
Storage Layout
Nextcloud VM (192.168.88.62) - "next" (ID: 103)
/dev/sda (128GB) → Root filesystem (/)
/dev/sdb (1000GB) → NEW: Warm storage via LVM
└─ warm-storage-vg → Volume group
└─ warm-storage → Logical volume (980GB allocated)
└─ ext4 filesystem → /mnt/warm-storage (964GB usable)
/dev/sdc (2000GB) → Nextcloud data (/mnt/nextcloud-data)
└─ sdc1 (2TB) → Nextcloud database + files (1.4TB used)
What Was Created
-
Physical Volume (PV)
- Device:
/dev/sdb - Size: 1000GB
- Wiped old GPT signatures
- Initialized as LVM PV
- Device:
-
Volume Group (VG)
- Name:
warm-storage-vg - Spanning:
/dev/sdb - Total capacity: 1000GB
- Name:
-
Logical Volume (LV)
- Name:
warm-storage - Size: 980GB (leaving 20GB for LVM metadata)
- Filesystem: ext4
- Mountpoint:
/mnt/warm-storage
- Name:
-
Persistent Mount
- Added to
/etc/fstab - Entry:
/dev/mapper/warm--storage--vg-warm--storage /mnt/warm-storage ext4 defaults,nofail 0 2 - Survives reboots
- Added to
✅ Verification
# Current storage status
df -h /mnt/warm-storage
# Filesystem: 964G
# Used: 2.1M
# Available: 915G
# Use%: 1%
# LVM status
lvs
# warm-storage-vg warm-storage 980.00g
🎯 Why This Solution?
Original Plan (1.5TB using 2 disks)
- ❌ Required resizing active /dev/sdc1 (risky)
- ❌ Would have caused potential downtime
- ❌ Complex partition management on production system
Chosen Solution (1TB local LVM)
- ✅ Uses completely unused /dev/sdb
- ✅ Zero downtime
- ✅ No production filesystem modification
- ✅ Simpler, more reliable
- ✅ Independent from Nextcloud data storage
- ✅ Room for growth (can expand LV later if needed)
📈 Impact on Backblaze Backup
Previous State
- Warm staging: 900GB NFS mount
- Status: COMPLETELY FULL (blocking all backups)
- Backblaze: Unable to stage new backups
Current State
- Warm staging: 964GB local storage
- Available: 915GB free
- Status: READY for backup operations
- Buffer: ~65% available for backup staging of 1.4TB Nextcloud data
🔄 Next Steps
Immediate (If Using Backblaze)
-
Verify Backblaze can write to
/mnt/warm-storagetouch /mnt/warm-storage/test-file rm /mnt/warm-storage/test-file -
Restart Backblaze service if needed
# Depends on your setup - check Nextcloud Backblaze integration -
Monitor backup progress
- Check available space:
df -h /mnt/warm-storage - Watch for errors in Nextcloud logs
- Check available space:
Optional Future Expansion
If you eventually need the full 1.5TB:
# Expand existing LV to 1.5TB
lvextend -L 1500G /dev/warm-storage-vg/warm-storage
resize2fs /dev/warm-storage-vg/warm-storage
But for now, 964GB is excellent for your 1.4TB Nextcloud dataset.
🛡️ Safety & Reliability
✅ Persistent: Added to /etc/fstab with nofail flag
✅ Independent: Not dependent on TrueNAS availability
✅ Safe Removal: Can be removed without affecting Nextcloud data
✅ Expandable: Can grow to 1TB+ if needed
✅ Standard: Uses standard Linux LVM + ext4
📝 Commands Reference
Check status:
df -h /mnt/warm-storage
lvs
vgs
Monitor usage:
watch -n 5 'df -h /mnt/warm-storage'
Backup info:
ls -lh /mnt/warm-storage/
du -sh /mnt/warm-storage/
⚠️ Known Limitations
- Limited to 1TB capacity: If you need more than 1.5TB total, would need additional storage
- No RAID: Single disk (not redundant). For production backup staging, consider adding RAID later
- TrueNAS offline: Original NFS mount disabled. If TrueNAS comes online, it won't be used
📞 Maintenance
Monthly checks:
- Monitor free space:
df -h /mnt/warm-storage - Check for errors:
dmesg | tail -20 - Verify mount:
mount | grep warm
If issues occur:
- Unmount:
umount /mnt/warm-storage - Check filesystem:
fsck -n /dev/warm-storage-vg/warm-storage - Remount:
mount /dev/warm-storage-vg/warm-storage /mnt/warm-storage
Status: ✅ COMPLETE AND OPERATIONAL
Last Updated: April 27, 2026
Warm Storage Ready For: Backblaze Backup Staging