159 lines
4.0 KiB
Markdown
159 lines
4.0 KiB
Markdown
|
|
# Storage Fix Complete - pve and pve2
|
|||
|
|
|
|||
|
|
**Date**: $(date)
|
|||
|
|
**Status**: ✅ Storage Fixed and Ready
|
|||
|
|
|
|||
|
|
## Summary
|
|||
|
|
|
|||
|
|
Storage configuration has been fixed on both pve and pve2 nodes to enable:
|
|||
|
|
- ✅ Starting all stopped VMs
|
|||
|
|
- ✅ Migrating existing VMs
|
|||
|
|
|
|||
|
|
## Storage Status After Fix
|
|||
|
|
|
|||
|
|
### pve2 (192.168.11.12)
|
|||
|
|
- ✅ **thin1**: Active (51.98% used) - **Ready for stopped VMs**
|
|||
|
|
- ✅ **thin2**: Active (0% used) - Available for new VMs
|
|||
|
|
- ✅ **thin3**: Active (0% used) - Available for new VMs
|
|||
|
|
- ✅ **local**: Active (directory storage) - Available for migrations
|
|||
|
|
|
|||
|
|
**Stopped VMs on pve2 (all use thin1, now ready to start):**
|
|||
|
|
- 100: proxmox-mail-gateway
|
|||
|
|
- 101: proxmox-datacenter-manager
|
|||
|
|
- 102: cloudflared
|
|||
|
|
- 103: omada
|
|||
|
|
- 104: gitea
|
|||
|
|
- 105: nginxproxymanager
|
|||
|
|
- 130: monitoring-1
|
|||
|
|
- 5000: blockscout-1
|
|||
|
|
- 6200: firefly-1
|
|||
|
|
|
|||
|
|
### pve (192.168.11.11)
|
|||
|
|
- ✅ **local**: Active (directory storage) - **Ready for migrations**
|
|||
|
|
- ⚠️ **local-lvm**: Disabled (configured for ml110 only)
|
|||
|
|
- ⚠️ **thin1-thin6**: Disabled (no volume groups available)
|
|||
|
|
|
|||
|
|
**Note**: pve has no volume groups, so LVM thin storage is not available. Migrations should use `local` (directory storage) which is active and ready.
|
|||
|
|
|
|||
|
|
## What Was Fixed
|
|||
|
|
|
|||
|
|
### pve2
|
|||
|
|
1. ✅ Enabled `thin1` storage (was disabled, now active)
|
|||
|
|
2. ✅ Enabled `thin2` storage (was disabled, now active)
|
|||
|
|
3. ✅ Enabled `thin3` storage (was disabled, now active)
|
|||
|
|
4. ✅ Verified all stopped VMs can now start (all use thin1)
|
|||
|
|
|
|||
|
|
### pve
|
|||
|
|
1. ✅ Verified `local` storage is active and ready for migrations
|
|||
|
|
2. ℹ️ No volume groups available, so LVM thin storage cannot be configured
|
|||
|
|
|
|||
|
|
## Next Steps
|
|||
|
|
|
|||
|
|
### Starting Stopped VMs on pve2
|
|||
|
|
|
|||
|
|
All stopped VMs on pve2 can now be started:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Start all stopped VMs
|
|||
|
|
ssh root@192.168.11.12
|
|||
|
|
for vmid in 100 101 102 103 104 105 130 5000 6200; do
|
|||
|
|
pct start $vmid
|
|||
|
|
done
|
|||
|
|
|
|||
|
|
# Or start individually
|
|||
|
|
pct start 100
|
|||
|
|
pct start 101
|
|||
|
|
# ... etc
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Migrating VMs to pve
|
|||
|
|
|
|||
|
|
When migrating VMs to pve, use `local` storage:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# From source node (e.g., ml110)
|
|||
|
|
ssh root@192.168.11.10
|
|||
|
|
|
|||
|
|
# Migrate with local storage
|
|||
|
|
pct migrate <VMID> pve --storage local
|
|||
|
|
|
|||
|
|
# Or using API
|
|||
|
|
pvesh create /nodes/ml110/lxc/<VMID>/migrate --target pve --storage local --online 0
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Migrating VMs to pve2
|
|||
|
|
|
|||
|
|
When migrating VMs to pve2, you can use:
|
|||
|
|
- `thin1` (if available space)
|
|||
|
|
- `thin2` or `thin3` (available)
|
|||
|
|
- `local` (directory storage)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Migrate to pve2 with thin1
|
|||
|
|
pct migrate <VMID> pve2 --storage thin1
|
|||
|
|
|
|||
|
|
# Or with thin2/thin3
|
|||
|
|
pct migrate <VMID> pve2 --storage thin2
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Storage Capacity
|
|||
|
|
|
|||
|
|
### pve2
|
|||
|
|
- **thin1**: 237GB total, 123GB used, 114GB available (51.98% used)
|
|||
|
|
- **thin2**: 237GB total, 0GB used, 237GB available (0% used)
|
|||
|
|
- **thin3**: 237GB total, 0GB used, 237GB available (0% used)
|
|||
|
|
- **local**: 230GB total, 127MB used, 230GB available (0.05% used)
|
|||
|
|
|
|||
|
|
### pve
|
|||
|
|
- **local**: 564GB total, 2.9GB used, 561GB available (0.53% used)
|
|||
|
|
|
|||
|
|
## Verification Commands
|
|||
|
|
|
|||
|
|
### Check Storage Status
|
|||
|
|
```bash
|
|||
|
|
# pve2
|
|||
|
|
ssh root@192.168.11.12 "pvesm status"
|
|||
|
|
|
|||
|
|
# pve
|
|||
|
|
ssh root@192.168.11.11 "pvesm status"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Check Stopped VMs
|
|||
|
|
```bash
|
|||
|
|
# pve2
|
|||
|
|
ssh root@192.168.11.12 "pct list | grep stopped"
|
|||
|
|
|
|||
|
|
# pve
|
|||
|
|
ssh root@192.168.11.11 "pct list | grep stopped"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Start a VM
|
|||
|
|
```bash
|
|||
|
|
# On the node where VM is located
|
|||
|
|
pct start <VMID>
|
|||
|
|
|
|||
|
|
# Check status
|
|||
|
|
pct status <VMID>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Scripts Available
|
|||
|
|
|
|||
|
|
1. **`scripts/fix-storage-pve-pve2.sh`**: Fix storage on both nodes
|
|||
|
|
2. **`scripts/migrate-containers-to-pve-local.sh`**: Migrate containers to pve using local storage
|
|||
|
|
3. **`scripts/diagnose-and-fix-migration-storage.sh`**: Comprehensive diagnostic tool
|
|||
|
|
|
|||
|
|
## Notes
|
|||
|
|
|
|||
|
|
- pve2 has thin storage pools ready for use
|
|||
|
|
- pve uses directory storage (`local`) which is slower but works without LVM setup
|
|||
|
|
- All stopped VMs on pve2 can now start successfully
|
|||
|
|
- Migrations to pve should use `local` storage
|
|||
|
|
- Migrations to pve2 can use `thin1`, `thin2`, `thin3`, or `local`
|
|||
|
|
|
|||
|
|
## Related Documentation
|
|||
|
|
|
|||
|
|
- `docs/MIGRATION_STORAGE_FIX.md`: Complete migration guide
|
|||
|
|
- `docs/MIGRATION_QUICK_REFERENCE.md`: Quick reference
|
|||
|
|
- `docs/STORAGE_MIGRATION_FIX_SUMMARY.md`: Implementation summary
|
|||
|
|
|