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

blockcopy to iscsi disk on the host fail at the first time

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • rhel-10.0.beta
    • iscsi-initiator-utils
    • None
    • No
    • None
    • rhel-sst-storage-io
    • ssg_filesystems_storage_and_HA
    • 3
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None

      Description of problem:

      blockcopy to iscsi disk on the host fail at the first time

      Version-Release number of selected component (if applicable):

       iscsi-initiator-utils-6.2.1.9-21.gita65a472.el10.x86_64

      How reproducible:

      100%

      Steps to Reproduce:

      1. Prepare a iscsi server on one host with script as below:

      # cat iscisi_server.sh 
      dd if=/dev/zero of=/var/tmp/emulated-iscsi count=3072 bs=1024K
      targetcli /backstores/fileio/ create device.emulated-iscsi /var/tmp/emulated-iscsi
      targetcli /iscsi/ create iqn.2021-04.com.virtemulated:emulated-iscsi.target
      targetcli /iscsi/iqn.2021-04.com.virtemulated:emulated-iscsi.target/tpg1/luns/ create /backstores/fileio/device.emulated-iscsi
      targetcli /iscsi/iqn.2021-04.com.virtemulated:emulated-iscsi.target/tpg1/ set attribute authentication=0 demo_mode_write_protect=0 generate_node_acls=1 cache_dynamic_acls=1
      targetcli / saveconfig
      

      On the rhel 10 host with iscsi-initiator-utils-6.2.1.9-21.gita65a472.el10.x86_64, try to login the iscsi target:

      # iscsiadm -m discovery -t sendtargets -p ${IP_of_iscsi_server}
      ${IP_of_iscsi_server}:3260,1 iqn.2021-04.com.virtemulated:emulated-iscsi.target
      # iscsiadm --mode node --login --targetname iqn.2021-04.com.virtemulated:emulated-iscsi.target ${IP_of_iscsi_server}
      Logging in to [iface: default, target: iqn.2021-04.com.virtemulated:emulated-iscsi.target, portal: ${IP_of_iscsi_server},3260]Login to [iface: default, target: iqn.2021-04.com.virtemulated:emulated-iscsi.target, portal: ${IP_of_iscsi_server},3260] successful.
      # lsblk
      NAME                             MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
      ......
      sdb                                8:16   0     3G  0 disk 
      

      2.  On the rhel 10 host, prepare a vm with disks as below:

      # qemu-img create /var/lib/libvirt/images/test.raw 3G
      Formatting '/var/lib/libvirt/images/test.raw', fmt=raw size=3221225472
      
      # virsh dumpxml rhel --xpath //disk 
      <disk type="file" device="disk">
        <driver name="qemu" type="qcow2"/>
        <source file="/var/lib/libvirt/images/RHEL-10.0-20240907.1-x86_64-ovmf.qcow2.1"/>
        <target dev="sda" bus="sata"/>
        <address type="drive" controller="0" bus="0" target="0" unit="0"/>
      </disk>
      <disk type="file" device="disk">
        <driver name="qemu" type="raw"/>
        <source file="/var/lib/libvirt/images/test.raw"/>
        <backingStore/>
        <target dev="sdb" bus="scsi"/>
        <address type="drive" controller="0" bus="0" target="0" unit="1"/>
      </disk>
      
      # virsh start rhel
      Domain 'rhel' started
      

      3. Prepare a xml as below, and try blockcopy to copy the disk to the iscsi disk on the host:

      # cat disk.xml
      <disk type="block" device="disk">
        <driver name="qemu" type="raw"/>
        <source dev="/dev/sdb">
        </source>
        <target dev="sdb" bus="scsi"/>
      </disk>
      
      # virsh blockcopy rhel sdb --xml disk.xml --finish --transient-job --reuse-external --verbose --wait  
      Block Copy: [ 1.04 %]
      Copy failed
      

      But the 2nd time to execute the same cmd will pass

      # virsh blockcopy rhel sdb --xml disk.xml --finish --transient-job --reuse-external --verbose --wait  
      Block Copy: [100.00 %]
      Successfully copied
      

      Actual results:

      blockcopy to iscsi disk on the host fail at the first time

      Expected results:

      blockcopy should succeed

      Additional info:

      1) with another backend scsi_debug, the operation will pass
      # modprobe scsi_debug dev_size_mb=3072

      2) on another rhel9 host with iscsi-initiator-utils-6.2.1.9-1.gita65a472.el9.x86_64,  with the same steps, the operation will pass

              cleech@redhat.com Chris Leech
              yalzhang@redhat.com Yalan Zhang
              Chris Leech Chris Leech
              Zhaojuan Guo Zhaojuan Guo
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: