Comprehensive migration workflows, playbooks, and batch migration features for VM migrations.
File: playbooks.md
10 Complete Playbooks:
Each playbook includes:
Use when: Planning and executing specific migration scenarios
File: quick-reference.md
Quick command reference for:
Use when: Need quick syntax for common migration tasks
File: batch-features.md
Complete batch migration features:
Architecture:
Use when: Migrating multiple VMs, need automation, require custom workflows
File: batch-quick-reference.md
Quick reference for:
Use when: Need quick syntax for batch migration features
| Scenario | Recommended Guide | Features Used | Complexity |
|---|---|---|---|
| Single VM migration | Quick Reference | Basic conversion | Low |
| 5-10 VMs | Playbooks → Batch Quick Reference | Batch orchestration | Medium |
| 10+ VMs | Batch Features Guide | Full batch features | Medium-High |
| Production migration | Playbooks (#7-9) → Batch Features | Hooks, profiles, mapping | High |
| Cloud migration | Playbooks (#3-4, #10) | Platform-specific | Medium-High |
| Zero downtime | Playbooks (#9) | Live migration | High |
Goal: Migrate your first VM from VMware to KVM
# 1. Use Quick Reference for basic syntax
docs/guides/migration/quick-reference.md
# 2. Run simple migration
hyper2kvm local \
--vmdk /vms/source.vmdk \
--output-dir /vms/migrated \
--to-output vm.qcow2
# 3. Verify and boot
virsh define /vms/migrated/vm.xml
virsh start vm
Recommended: Quick Reference
Goal: Migrate 10+ VMs from vSphere to KVM
# 1. Follow Playbook 2 for planning
docs/guides/migration/playbooks.md - Playbook 2
# 2. Use Batch Features for automation
docs/guides/migration/batch-features.md
# 3. Create batch manifest
cat > migrations.json <<EOF
{
"migrations": [
{"vmdk": "/vms/vm1.vmdk", "to_output": "vm1.qcow2"},
{"vmdk": "/vms/vm2.vmdk", "to_output": "vm2.qcow2"}
]
}
EOF
# 4. Execute batch
hyper2kvm local \
--batch-manifest migrations.json \
--batch-parallel 4 \
--batch-continue-on-error
Recommended: Playbooks + Batch Features Guide
Goal: Zero-downtime production database migration
# 1. Follow Playbook 7 for database-specific steps
docs/guides/migration/playbooks.md - Playbook 7
# 2. Configure hooks for backup/restore
docs/guides/migration/batch-features.md - Pre/Post Hooks
# 3. Use migration profile
cat > db-profile.yaml <<EOF
profile:
name: "production-db"
regen_initramfs: true
fstab_mode: stabilize-all
libvirt_test: true
hooks:
pre_conversion: "./scripts/backup-db.sh"
post_conversion: "./scripts/verify-db.sh"
EOF
# 4. Execute with profile
hyper2kvm local \
--vmdk /vms/db-server.vmdk \
--profile db-profile.yaml
Recommended: Playbooks + Batch Features Guide
Scenario: VMDK files already accessible locally
Recommended:
Command:
hyper2kvm local --vmdk /path/to/vm.vmdk --output-dir /output
Scenario: Fetch VMs directly from ESXi/vCenter
Recommended:
Command:
hyper2kvm fetch-and-fix \
--host esxi.example.com \
--user root \
--identity ~/.ssh/id_rsa \
--remote /vmfs/volumes/datastore1/vm/vm.vmdk
Scenario: Import VMs from OVA/OVF packages
Recommended:
Command:
hyper2kvm ova \
--ova /path/to/vm.ova \
--output-dir /output
Scenario: Migrate from cloud providers
Recommended:
AWS Command:
hyper2kvm ami \
--ami ami-12345678 \
--region us-east-1 \
--output-dir /output
Azure Command:
hyper2kvm azure \
--vhd https://storage.blob.core.windows.net/vhds/vm.vhd \
--output-dir /output
Scenario: Migrate without stopping source VM
Recommended:
Command:
hyper2kvm live-fix \
--host source-vm.example.com \
--user root \
--identity ~/.ssh/id_rsa
Execute multiple migrations in parallel:
hyper2kvm local \
--batch-manifest migrations.json \
--batch-parallel 4 \
--batch-continue-on-error
Documentation: Batch Features Guide - Feature 1
Transform network/storage during migration:
mappings:
network:
"VM Network": "br0"
"Storage Network": "br1"
storage:
"datastore1": "/vms/pool1"
"datastore2": "/vms/pool2"
Documentation: Batch Features Guide - Feature 2
Reusable configuration templates:
profile:
name: "linux-server"
regen_initramfs: true
fstab_mode: stabilize-all
compress: true
libvirt_test: true
Documentation: Batch Features Guide - Feature 3
Automation at pipeline stages:
hooks:
pre_conversion: "./backup.sh"
post_conversion: "./verify.sh"
pre_fix: "./prepare.sh"
post_fix: "./cleanup.sh"
Documentation: Batch Features Guide - Feature 4
Import from existing libvirt domains:
hyper2kvm libvirt-import \
--domain-xml /etc/libvirt/qemu/vm.xml \
--output-dir /output
Documentation: Batch Features Guide - Feature 5
Files: Quick Reference Features: Basic conversion Time: 30 minutes
Files: Playbooks (#2) + Batch Features Features: Batch orchestration, parallel execution Time: 2-4 hours
Files: Playbooks (#7-9) + Batch Features Features: Profiles, hooks, mapping, validation Time: 4-8 hours
Files: Playbooks (#3, #4, #10) Features: Platform-specific converters Time: 2-4 hours
Files: Playbooks (#9) + Batch Features Features: Live migration, hooks, verification Time: 8+ hours
| Your Need | Recommended Guide |
|---|---|
| First migration | Quick Reference |
| Specific scenario | Playbooks (choose scenario) |
| Multiple VMs | Batch Quick Reference |
| Complex automation | Batch Features Guide |
| Production migration | Playbooks (#7-9) + Batch Features |
| Quick command lookup | Quick Reference or Batch Quick Reference |
4 comprehensive migration guides covering:
Total Documentation: ~15,000+ lines covering all migration scenarios
Last Updated: February 2026 Documentation Version: 2.1.0 Guides: 4 comprehensive migration guides
| Quick Navigation: Guides Hub | Documentation Hub | Operational Guides |