Files
proxmox/docs/archive/fixes/MIGRATION_STORAGE_FIX.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- Organized 252 files across project
- Root directory: 187 → 2 files (98.9% reduction)
- Moved configuration guides to docs/04-configuration/
- Moved troubleshooting guides to docs/09-troubleshooting/
- Moved quick start guides to docs/01-getting-started/
- Moved reports to reports/ directory
- Archived temporary files
- Generated comprehensive reports and documentation
- Created maintenance scripts and guides

All files organized according to established standards.
2026-01-06 01:46:25 -08:00

221 lines
5.9 KiB
Markdown

# Migration Storage Fix Guide
**Date**: $(date)
**Issue**: Container migrations failing with "migration aborted" errors
**Containers**: 1504, 2503, 2504, 6201
**Target Node**: pve
## Problem Summary
Containers are failing to migrate to pve with the following errors:
```
WARN: Migrating CT 2504 failed: migration aborted
WARN: Migrating CT 1504 failed: migration aborted
WARN: Migrating CT 2503 failed: migration aborted
WARN: Migrating CT 6201 failed: migration aborted
TASK ERROR: Some guests failed to migrate 2504, 1504, 2503, 6201
```
## Root Causes
1. **Storage Configuration Mismatch**: Source containers use `local-lvm` storage, but target nodes may not have compatible storage configured
2. **Storage Inactive**: Target nodes may have storage defined but not active
3. **Volume Group Mismatch**: Source uses volume group "pve", target nodes may use different volume groups
4. **Storage Type Incompatibility**: LVM thin storage on source may not match target storage type
## Solution
### Step 1: Diagnose Storage Issues
Run the comprehensive diagnostic script to check all nodes:
```bash
./scripts/diagnose-and-fix-migration-storage.sh
```
This script will:
- Check storage status on all nodes (ml110, pve, pve2)
- Find current container locations
- Check what storage each container is using
- Attempt to fix storage issues
- Migrate containers to target node
### Step 2: Fix Storage Configuration (if needed)
If storage issues are detected, run the storage fix script:
```bash
./scripts/fix-migration-storage.sh
```
This script will:
- Ensure `thin1` storage is available and active on target nodes
- Create thin pools if needed
- Configure storage properly for Proxmox
### Step 3: Manual Migration (if scripts fail)
If automated scripts fail, you can migrate manually:
#### Option A: Migrate with Storage Conversion
```bash
# Connect to source node (ml110)
ssh root@192.168.11.10
# For each container, stop and migrate
for vmid in 1504 2503 2504 6201; do
# Stop container
pct stop $vmid
# Migrate to pve (Proxmox will handle storage conversion)
pct migrate $vmid pve --restart
done
```
#### Option B: Migrate to Specific Storage
```bash
# Connect to source node
ssh root@192.168.11.10
# Migrate with target storage specification
for vmid in 1504 2503 2504 6201; do
pct stop $vmid
# Try with thin1 storage
pvesh create /nodes/ml110/lxc/$vmid/migrate --target pve --storage thin1 --online 0
done
```
#### Option C: Backup and Restore
If direct migration fails, use backup/restore:
```bash
# On source node (ml110)
for vmid in 1504 2503 2504 6201; do
# Create backup
vzdump $vmid --storage local --compress gzip
# Restore on target node (pve)
# Note: This requires manual transfer of backup files
done
```
## Storage Configuration Details
### Source Node (ml110)
- **IP**: 192.168.11.10
- **Storage**: `local-lvm` (LVM thin)
- **Volume Group**: `pve`
- **Status**: Active
### Target Node (pve)
- **IP**: 192.168.11.11
- **Preferred Storage**: `thin1` (LVM thin)
- **Alternative**: `local` (directory storage)
### Target Node (pve2)
- **IP**: 192.168.11.12
- **Preferred Storage**: `thin1` (LVM thin)
- **Alternative**: `local` (directory storage)
## Verification Commands
### Check Storage Status
```bash
# On each node
ssh root@192.168.11.10 "pvesm status" # ml110
ssh root@192.168.11.11 "pvesm status" # pve
ssh root@192.168.11.12 "pvesm status" # pve2
```
### Check Container Locations
```bash
# Check where containers are
ssh root@192.168.11.10 "for vmid in 1504 2503 2504 6201; do echo -n \"\$vmid: \"; pvesh get /nodes/ml110/lxc/\$vmid/status/current 2>/dev/null | jq -r '.status' && echo \" (ml110)\" || pvesh get /nodes/pve/lxc/\$vmid/status/current 2>/dev/null | jq -r '.status' && echo \" (pve)\" || echo \"not found\"; done"
```
### Check Container Storage
```bash
# On the node where container is located
ssh root@192.168.11.10 "for vmid in 1504 2503 2504 6201; do echo -n \"\$vmid: \"; pct config \$vmid | grep '^rootfs:' | awk '{print \$2}'; done"
```
## Troubleshooting
### Issue: Storage not found on target node
**Solution**: Run the storage fix script or manually create storage:
```bash
# On target node (pve)
ssh root@192.168.11.11
# Check available volume groups
vgs
# Create thin pool if needed
lvcreate -L 500G -n thin1 pve
lvconvert --type thin-pool pve/thin1
# Add to Proxmox
pvesm add lvmthin thin1 --thinpool thin1 --vgname pve --content images,rootdir --nodes pve
```
### Issue: Migration fails with "storage migration failed"
**Solution**: Try migrating to `local` storage instead (slower but more compatible):
```bash
pct migrate <VMID> pve --storage local --restart
```
### Issue: Container already on target node but wrong storage
**Solution**: Move storage after migration:
```bash
# Stop container
pct stop <VMID>
# Change rootfs storage
pct set <VMID> --rootfs thin1:8,size=100G
# Start container
pct start <VMID>
```
## Expected Results
After successful migration:
- All containers (1504, 2503, 2504, 6201) should be on `pve` node
- Containers should be using `thin1` storage (or compatible storage)
- Containers should be in "stopped" or "running" status
- No migration errors in logs
## Next Steps
After successful migration:
1. Verify all containers are on correct node
2. Verify container storage configuration
3. Start containers if needed: `pct start <VMID>`
4. Verify container functionality
5. Update documentation with new locations
## Scripts Available
1. **`diagnose-and-fix-migration-storage.sh`**: Comprehensive diagnostic and migration tool
2. **`fix-migration-storage.sh`**: Storage configuration fix tool
3. **`repair-thin-storage.sh`**: Repair thin storage pools (thin1-thin3)
## Related Documentation
- `docs/STORAGE_MIGRATION_ISSUE.md`: Original storage migration issue documentation
- `docs/MIGRATION_STATUS_UPDATE.md`: Migration status updates
- `docs/COMPLETE_NEXT_STEPS_STATUS.md`: Next steps after migration