diff options
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2482.toml')
| -rw-r--r-- | gitlab/issues/target_missing/host_missing/accel_missing/2482.toml | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2482.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2482.toml new file mode 100644 index 00000000..709ba58e --- /dev/null +++ b/gitlab/issues/target_missing/host_missing/accel_missing/2482.toml @@ -0,0 +1,144 @@ +id = 2482 +title = "qemu-system-x86_64: Live Migration fails with BLOCK_JOB_ERROR" +state = "opened" +created_at = "2024-08-05T23:42:07.233Z" +closed_at = "n/a" +labels = ["Migration"] +url = "https://gitlab.com/qemu-project/qemu/-/issues/2482" +host-os = "Debian GNU/Linux 11 (bullseye)" +host-arch = "x86_64" +qemu-version = "QEMU emulator version 7.2.0" +guest-os = "Debian 11" +guest-arch = "x86_64" +description = """After disk migration is completed and RAM migration is being performed, migration status switches to 'pre-switchover'. +In the 'pre-switchover' migration state, block jobs status is still set to 'ready' instead of 'running' +on queried for block job status when 'offset' and 'length' diverged. Thus, It results in BLOCK_JOB_ERROR.""" +reproduce = """On source host +1. Add disk(s) that needed to be migrated by issuing 'blockdev-add' QMP command. +2. start blockdev-mirror operations to perform disk(s) transfer by issuing QMP command +3. start RAM migration. (send HMP commands - listed below +4. Migration status changed to 'pre-switchover'. While in 'pre-switchover', check for disk activity + +While RAM migration is happening, Migration status is changed to 'pre-switchover' +and observe that block jobs 'offset' and 'length' diverged. But, block job status is still set to 'ready' instead of 'running'. + +On destination host +1. Launch the VM in listening mode (-incoming) for migrations +2. start NBD server +3. add disks to NBD server. +4. set migration parameters by sending HMP commands""" +additional = """# On SOURCE Host, start all blockdev-add operations +# Issue QMP commands (blockdev-add) for all block devices ("drive-scsi-disk-0" and "drive-scsi-disk-1") of VM + +``` + { + "execute" => "blockdev-add", + "arguments" => { + "driver" => "raw", + "node-name" => "node_drive-scsi-disk-0", + "auto-read-only" => false, + "read-only" => false, + "file" => { + "driver" => "nbd", + "export" => "drive-scsi-disk-0", + "server" => { + "type" => "inet", + "host" => "2600:3c0f:17:14::21", + "port" => "37552", + }, + "tls-creds" => "tlscreds0" + } + } + } +``` + + { + "execute" => "blockdev-add", + "arguments" => { + "driver" => "raw", + "node-name" => "node_drive-scsi-disk-1", + "auto-read-only" => false, + "read-only" => false, + "file" => { + "driver" => "nbd", + "export" => "drive-scsi-disk-1", + "server" => { + "type" => "inet", + "host" => "2600:3c0f:17:14::21", + "port" => "37552", + }, + "tls-creds" => "tlscreds0" + } + } + } + +# On SOURCE Host, start all blockdev-mirror operations to start disk transfer +# i.e Issue QMP commands (blockdev-mirror) for each of those block devices ("drive-scsi-disk-0" and "drive-scsi-disk-1") + +``` + { + "execute" => "blockdev-mirror", + "arguments" => { + "device" => "drive-scsi-disk0", + "target" => "node_drive-scsi-disk-0", + "speed" => 100000000, + "sync" => "full", + } + } +``` + +``` + { + "execute" => "blockdev-mirror", + "arguments" => { + "device" => "drive-scsi-disk1", + "target" => "node_drive-scsi-disk-1", + "speed" => 100000000, + "sync" => "full", + } + } +``` + +# NBD server configuration on destination host by issuing QMP command +# Start NBD server +``` + { + "execute" => "nbd-server-start", + "arguments" => { + "addr" => { + "type" => "inet", + "data" => { + "host" => "2600:3c0f:17:14::21", + "port" => "37552" + } + }, + "tls-creds" => "tlscreds0" + } + } +``` + +# On DESTINATION Host +# Register incoming disks(2) with NBD server by issuing QMP commands to VM on the destination host +# Disk# 1 +``` + { + "execute" => "nbd-server-add", + "arguments" => { + "device" => "drive-scsi-disk0", + "writable" => true + } + } +``` +# Disk# 2 +``` + { + "execute" => "nbd-server-add", + "arguments" => { + "device" => "drive-scsi-disk1", + "writable" => true + } + } +``` + +# Wait for disks to finish the bulk of the data migration. +#""" |