Symptom & Boot Diagnostics
After converting a VMware VM virtual disk to QCOW2 and importing into OLVM, the VM fails to boot, hanging at the initial ramdisk stage:
[ 14.209124] dracut-initqueue[412]: Warning: dracut-initqueue timeout - starting timeout scripts
[ 14.891002] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Root Cause Analysis
VMware guests utilize SCSI drivers (mptspi or pvscsi). OLVM KVM hypervisors require Linux guest virtio_blk and virtio_net drivers compiled into the initramfs image. If the virtio modules are not included prior to migration, the kernel cannot mount the root filesystem on /dev/vda1.
Step-by-Step Migration Runbook
Step 1: Inject Virtio Drivers into Guest (Before Shutdown)
On the running VMware guest node, update dracut configuration:
# Add virtio modules to dracut configuration
echo 'add_drivers+=" virtio_blk virtio_net virtio_pci virtio_scsi "' > /etc/dracut.conf.d/virtio.conf
# Rebuild initramfs for current kernel
dracut -f -v /boot/initramfs-$(uname -r).img $(uname -r)
Step 2: Convert VMDK Disk Image to QCOW2
On the migration host or staging storage server:
# Convert flat vmdk file to qcow2 format with preallocation
qemu-img convert -p -f vmdk -O qcow2 -o preallocation=metadata \
/storage/vmware/guest_disk-flat.vmdk \
/storage/olvm/guest_disk.qcow2
Step 3: OLVM Host Memory & Swappiness Tuning
Configure KVM host kernel parameters to prevent guest memory starvation:
# Set host swappiness to 10
sysctl -w vm.swappiness=10
# Disable Transparent Huge Pages (THP) on OLVM hypervisor nodes
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
Sanitized Log Verification
Run the DBPros collector script locally to sanitize host telemetry before submitting diagnostic bundles:
node ./scripts/collector/dbpros-sanitize-collect.js --input-log /var/log/messages
Need an expert virtualization migration audit? Book an Async Virtualization & OS Health Audit.