4 Replies Latest reply on Jan 20, 2012 8:25 AM by walbercorps

    scsi_id does not return any identifier

    pkotla Lurker

      Hello,

       

      I use VMware Server 1.0.5 on OEL 5.1 (32bit, kernel 2.6.18-53). All guests run OEL 5.1 as well. The box is used for testing Oracle. I cannot use scsi_id to get an identifier so that udev could be setup later. scsi_id does not return any output nor any error.

       

      VM configuration shows (I omitted network/floppy/powerType/memory/uuid entries):

       

      config.version = "8"

      virtualHW.version = "4"

      scsi0.present = "TRUE"

      scsi0.virtualDev = "lsilogic"

      scsi0:0.present = "TRUE"

      scsi0:0.fileName = "RAC1.vmdk"

      scsi0:0.writeThrough = "TRUE"

      displayName = "RAC1"

      guestOS = "other26xlinux"

      scsi0:0.redo = ""

      ide1:0.startConnected = "TRUE"

      disk.locking = "FALSE"

      diskLib.dataCacheMaxSize = "0"

      diskLib.dataCacheMaxReadAheadSize = "0"

      diskLib.dataCacheMinReadAheadSize = "0"

      diskLib.dataCachePageSize = "4096"

      diskLib.maxUnsyncedWrites = "0"

      scsi1.present = "TRUE"

      scsi1.virtualDev = "lsilogic"

      scsi1.sharedBus = "VIRTUAL"

      scsi1:1.present = "TRUE"

      scsi1:1.fileName = "/u01/VM/shared/ocr.vmdk"

      scsi1:1.mode = "independent-persistent"

      scsi1:1.deviceType = "disk"

      scsi1:1.redo = ""

       

      The log files shows only:

      Jul 07 13:01:24: vcpu-0| SCSI DEVICE (scsi1:1): INQUIRY request with EVDP set

       

      I use (/dev/sdb maps to scsi1:1 from the above):

       

      # fdisk -l /dev/sdb

      Disk /dev/sdb: 1073 MB, 1073741824 bytes

      255 heads, 63 sectors/track, 130 cylinders

      Units = cylinders of 16065 * 512 = 8225280 bytes

         Device Boot      Start         End      Blocks   Id  System

      /dev/sdb1               1         130     1044193+  83  Linux

       

       

      # scsi_id -g -v -s /block/sdb

       

       

      # cat /etc/scsi_id.config

      options=-g

       

      sg_inq from sg_utils gives an error

      # sg_inq -p=83 -h /dev/sdb

      VPD INQUIRY, page code=0x83:

          inquiry cdb: 12 01 83 00 fc 00

      inquiry:  Fixed format, current;  Sense key: Illegal Request

      Additional sense: Invalid field in cdb

        Info fld=0x0

        Sense Key Specific: Error in Command byte 256

      VPD INQUIRY, page code=0x83: failed

       

       

      What could be wrong here?

       

      Have a nice day,

       

      Pawel

        • 1. Re: scsi_id does not return any identifier
          andreyd Lurker

          Hi,

           

          I have the same problem on OEL 5.2.

           

          # scsi_id -g -a -x  -p 0x83 -s /block/sdb

          ID_VENDOR=VMware

          ID_MODEL=Virtual_disk

          ID_REVISION=1.0

          ID_SERIAL=

          ID_TYPE=disk

          ID_BUS=scsi

           

          Didn't find solution yet.

           

          Thanks.

           

          andrey

          • 2. Re: scsi_id does not return any identifier
            BeachSandInToes Lurker

            Hey there,

             

            We are running into the same issue. scsi_id (-g -a -x -p 0x83 -s) seems to work fine but scsi_id (-g -v -s ) isn't returning a UUID. According to vmware and Oracle docs, this should work.

             

            scsi_id -g -a -x -p 0x83 -s /block/sdb

             

            ID_VENDOR=VMware

            ID_MODEL=Virtual_disk

            ID_REVISION=1.0

            ID_SERIAL=

            ID_TYPE=disk

            ID_BUS=scsi

             

             

             

            scsi_id -g -v -s /block/sdb

            No result

             

             

             

            Thanks!

             

             

            Beach

             

             

            FYI - details

            <code># grep -v ^# /etc/scsi_id.config

            vendor="ATA",options=-p 0x80

            options=-g</code>

             

             

             

            <code># for i in `cat /proc/partitions | awk '{print $4}' |grep sd`; do echo "### $i: `scsi_id -g -u -s /block/$i`"; done

            </code>

             

             

            sda:

            sda1:

            sda2:

            sda3:

            sdb:

            sdb1:

            sdc:

            sdc1:

            sdd:

            sdc1:

            sde:

            sde1:

            • 3. Re: scsi_id does not return any identifier
              jcwuerfl Hot Shot

              1. Start the vSphere Client, and log in to a vCenter Server.
                 2. Select Virtual Machines and Templates and click the Virtual Machines tab.
                 3. Right-click the Windows 2008 virtual machine for which you are enabling the disk UUID attribute, and select Power > Power Off.
                    The virtual machine powers off.
                 4. Right-click the virtual machine, and click Edit Settings.
                 5. Click the Options tab, and select the General entry in the settings column.
                 6. Click Configuration Parameters.
                    The Configuration Paramters window appears.
                 7. Click Add Row.
                 8. In the Name column, enter disk.EnableUUID.
                 9. In the Value column, enter TRUE.
                10. Click OK and click Save.
                11. Power on the virtual machine.

              1 person found this helpful
              • 4. Re: scsi_id does not return any identifier
                walbercorps Lurker

                Hi guys!

                 

                After many days trying solve this problem, testing all proposed possibilities that I saw in the Internet, I finally propose a workarround:

                1. Create one VM machine and add a hard disk.
                2. Add a second hard disk as existing one, using the previous disk.
                3. Close the VM machine and open its configuration file (.vmx) in a text editor.
                4. Insert the following parameters:
                  disk.locking="FALSE"
                  disk.EnableUUID = "TRUE"
                  diskLib.dataCacheMaxSize="0"
                  diskLib.dataCacheMaxReadAheadSize = "0"
                  diskLib.dataCacheMinReadAheadSize = "0"
                  diskLib.dataCachePageSize = "4096"
                  diskLib.maxUnsyncedWrites = "0"
                5. Also it is necessary include other parameter about the hard disks. Change this parameters (scsi1, scsi1.1 and scsi1.2) according with the defined SCSI IDs of the hard disks in the VM:
                  scsi1.present = "TRUE"
                  scsi1.virtualDev = "lsilogic"
                  scsi1:1.fileName = "Disco_02.vmdk"
                  scsi1:1.mode = "independent-persistent"
                  scsi1:1.present = "TRUE"
                  scsi1:1.writeThrough = "TRUE"
                  scsi1:2.fileName = "Disco_02.vmdk"
                  scsi1:2.mode = "independent-persistent"
                  scsi1:2.present = "TRUE"
                  scsi1:2.writeThrough = "TRUE"
                6. Install all needed Multipath packages (if not installed yet) and include the following lines ant /etc/multipath.conf:
                  blacklist {
                          devnode "^sda"
                  }
                  defaults {
                          user_friendly_names yes
                          getuid_callout          "/sbin/blkid -o value -s UUID /dev/%n"
                  }
                7. The lines above will ignore the sda disk because certainly it will be a LVM disk. They will change the method off get the SCSI ID, too. In fact, it won't get the SCSI ID but the Volume ID, so the disks need to be formatted:
                  mkfs.ext3 /dev/sdb
                  mkfs.ext3 /dev/sdc
                8. Initialize the Multipath:
                  modprobe dm_multipath
                  service multipathd start
                  chkconfig multipathd on
                  multipath -F
                  multipath -v2
                9. List the Multipaths:
                  multipath -ll

                 

                Good luck to everybody!

                 

                Walberkley