Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-139390

Migration fails with "plugin must set minimum block size between 1 and 64K" on storage with minimum_io_size > 64KiB

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • rhel-10.2
    • rhel-10.0
    • nbdkit
    • None
    • None
    • Important
    • 1
    • rhel-virt-tools
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • rhel-virt-tools-CY25-Sprint999
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • x86_64
    • None

      What were you trying to do that didn't work?

      An LVM storage class is configured in OpenShift Virtualization, with the thin pool chunk size set to 128 KiB:

      # lvs -o lv_name,vg_name,lv_attr,chunk_size  |egrep -i "thin-pool|chunk"
        LV                                   VG  Attr       Chunk
       thin-pool-1                          vg1 twi-aotz-- 128.00k

       

      The minimum_io_size for the LVs created on this VG is 128 KiB.

      # ls -laR /dev/vg1/ |grep dm
      lrwxrwxrwx.  1 root root    7 Jan  7 17:57 36426c69-4d59-4c14-8b89-4f1e780d5a28 -> ../dm-6
      lrwxrwxrwx.  1 root root    7 Jan  7 17:42 cb7533fb-1fb1-4ee7-b5ff-9bfafdb7dccf -> ../dm-4
      lrwxrwxrwx.  1 root root    7 Jan  7 17:57 e513dc69-4a95-42bd-b961-377baaee9687 -> ../dm-5
      
      # cat /sys/block/dm-{4,5,6}/queue/minimum_io_size
      131072
      131072
      131072

      If the VM is migrated using MTV to this LVM storage class, the migration is failing during nbdcopy in the file plugin with error "plugin must set minimum block size between 1 and 64K" :

      LANG=C 'nbdkit' '--exit-with-parent' '--foreground' '--pidfile' '/tmp/v2vnbdkit.mka09q/nbdkit2.pid' '--unix' '/tmp/v2v.Boqmfq/out0' '--threads' '16' '-D' 'nbdkit.backend.datapath=0' '--verbose' '--filter' 'count' 'file' 'dir=/var/tmp/v2v' 'cache=none'
      ....
      ....
      
      nbdcopy 'nbd+unix:///%5bOCP-PNQ-Datastore%5d%206b5b5468-003e-e6c5-278b-e43d1a0d4e10/nijin-rhel-9-10%5f2-000001.vmdk?socket=/tmp/v2v.Boqmfq/in0' 'nbd+unix:///nijin-rhel-9-10-sda?socket=/tmp/v2v.Boqmfq/out0
      ' '--requests=64' '--blkhash' '--flush' '–progress'
      .....
      .....
      nbdkit: file[2]: debug: extents disabled: lseek: SEEK_HOLE: Invalid argument
      nbdkit: file[2]: debug: newstyle negotiation: flags: export 0x5fd
      nbdkit: file[2]: debug: count: block_size
      nbdkit: file[2]: debug: file: block_size
      nbdkit: file[2]: error: plugin must set minimum block size between 1 and 64K
      nbdcopy: nbd+unix:///nijin-rhel-9-10-sda?socket=/tmp/v2v.Boqmfq/out0: nbd_connect_uri: recv: server disconnected unexpectedly
      nbdkit: vddk[6]: debug: client closed input socket, closing connection
      nbdkit: vddk[6]: debug: multi-conn: finalize
      nbdkit: vddk[6]: debug: cow: finalize
      nbdkit: vddk[6]: debug: blocksize: finalize
      nbdkit: vddk[6]: debug: count: finalize
      nbdkit: vddk[6]: debug: retry: finalize
      nbdkit: vddk[6]: debug: vddk: finalize
      nbdkit: file[2]: debug: count: close
      nbdkit: file[2]: debug: file: close
      virt-v2v: error: nbdcopy exited with non-zero error code 1
      

      The disk nijin-rhel-9-10-sda is the block device /dev/block0 inside the container, which corresponds to an LV on the OCP node which is having minimum_io_size of 128KiB:

      sh-5.2$ ls -l /var/tmp/v2v/
      total 0
      lrwxrwxrwx. 1 qemu qemu 11 Jan  7 18:44 nijin-rhel-9-10-sda -> /dev/block0

      What is the impact of this issue to you?

      Migration from VMware to OpenShift Virtualization is failing.

      Please provide the package NVR for which the bug is seen:

      MTV 2.10.1

      nbdkit-1.44.1-2.el10.x86_64

      virt-v2v-2.8.1-10.el10_1.x86_64

      How reproducible is this bug?:

      100%

      Steps to reproduce

      Reproduced with MTV while converting to LVM storage class with chunk size set to 128 KiB.  

      Expected results

      Migration should work if the output block device minimum_io_size is greater than 64KiB 

      Actual results

              rhn-eng-rjones Richard Jones
              rhn-support-nashok Nijin Ashok
              virt-maint virt-maint
              Ganesh Hubale Ganesh Hubale
              Votes:
              0 Vote for this issue
              Watchers:
              13 Start watching this issue

                Created:
                Updated: