74

I just installed a new Ubuntu 20.04 server as a virtual machine on an esx-Server. When I look into systemlog I see lots of multipath entries.

multipathd[651]: sda: add missing path
multipathd[651]: sda: failed to get udev uid: Invalid argument
multipathd[651]: sda: failed to get sysfs uid: Invalid argument
multipathd[651]: sda: failed to get sgio uid: No such file or directory
multipathd[651]: sda: add missing path
multipathd[651]: sda: failed to get udev uid: Invalid argument
multipathd[651]: sda: failed to get sysfs uid: Invalid argument
multipathd[651]: sda: failed to get sgio uid: No such file or directory

I think multipath is just not configured and my question is if I can disable multipath. Since I checked this on several Ubuntu 20.04 servers multipath is enabled by default.

Does it make sense to activate multipath?

8 Answers8

62

Through this, I have resolved my issue:

  1. Run vi /etc/multipath.conf and add this to the file:

    defaults {
        user_friendly_names yes
    }
    

    blacklist { device { vendor "VMware" product "Virtual disk" } }

  2. Restart the multipath-tools service:

    sudo systemctl restart multipath-tools
    
gerardw
  • 521
Sulaiman
  • 721
45

There is a SUSE linux KB on the topic - https://www.suse.com/support/kb/doc/?id=000016951. The problem is that VMWare by default doesn't provide information needed by udev to generate /dev/disk/by-id entries. Apart from ESX, VMWare Workstation (my case) is also affected. The resolution is to put

disk.EnableUUID = "TRUE"

to the virtual machine definition, i.e. into the *.vmx file or via Edit Settings -> Options tab -> General -> Configuration Parameters in ESX UI.

After rebooting VM with this parameter set, the disk are visible in /dev/disk/by-id and multipathd doesn't complain anymore.

30

If you dont have access to your host ESX you can add the following lines to your /etc/multipath.conf file which also blacklists common other devices like CDRom drives etc.

defaults {
    user_friendly_names yes
}
blacklist {
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st|sda)[0-9]*"
}
Kibo
  • 751
3

Adding the below into the guest vm parameters worked for me. The syslog is no longer complaining and the server appears to be staying up.

disk.EnableUUID = "TRUE"

This is added to the virtual machine definition, i.e. into the *.vmx file, or via Edit Settings -> Options tab -> General -> Configuration Parameters in ESX UI.

Ubuntu 20.04 running apache and Wordpress php-7.4-fpm

3

If you don't need multipath, turn it off:

systemctl disable multipathd
systemctl stop multipathd
Kim
  • 41
2

I'd use a:

defaults {
    user_friendly_names yes
}
blacklist {
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
    devnode "^sd[a-z]?[0-9]*"
}

for sda, sdb, etc.

1

Here is another way to set it.

Use govc

Setup GOVC_URL first like

export GOVC_URL='https://username:password@vcenter.company.com/sdk'

and set UUID like

govc vm.change -e="disk.EnableUUID=TRUE" -vm='MY_VM_NAME'

One more thing, you have to poweroff and poweron to take effect this change

govc vm.power -off -force VM1
govc vm.power -on -force VM1
maxisam
  • 111
-1

Add these line in /etc/multipath.conf. this works for me all error are gone

blacklist {
        devnode "sda"
}
muru
  • 207,228