# ✅ 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 1. **Physical Volume (PV)** - Device: `/dev/sdb` - Size: 1000GB - Wiped old GPT signatures - Initialized as LVM PV 2. **Volume Group (VG)** - Name: `warm-storage-vg` - Spanning: `/dev/sdb` - Total capacity: 1000GB 3. **Logical Volume (LV)** - Name: `warm-storage` - Size: 980GB (leaving 20GB for LVM metadata) - Filesystem: ext4 - Mountpoint: `/mnt/warm-storage` 4. **Persistent Mount** - Added to `/etc/fstab` - Entry: `/dev/mapper/warm--storage--vg-warm--storage /mnt/warm-storage ext4 defaults,nofail 0 2` - Survives reboots --- ## ✅ Verification ```bash # 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) 1. Verify Backblaze can write to `/mnt/warm-storage` ```bash touch /mnt/warm-storage/test-file rm /mnt/warm-storage/test-file ``` 2. Restart Backblaze service if needed ```bash # Depends on your setup - check Nextcloud Backblaze integration ``` 3. Monitor backup progress - Check available space: `df -h /mnt/warm-storage` - Watch for errors in Nextcloud logs ### Optional Future Expansion If you eventually need the full 1.5TB: ```bash # 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**: ```bash df -h /mnt/warm-storage lvs vgs ``` **Monitor usage**: ```bash watch -n 5 'df -h /mnt/warm-storage' ``` **Backup info**: ```bash ls -lh /mnt/warm-storage/ du -sh /mnt/warm-storage/ ``` --- ## ⚠️ Known Limitations 1. **Limited to 1TB capacity**: If you need more than 1.5TB total, would need additional storage 2. **No RAID**: Single disk (not redundant). For production backup staging, consider adding RAID later 3. **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