Ubuntu 20.04 multipath configuration

90,983

Solution 1

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.

Solution 2

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:

    /etc/init.d/multipath-tools restart
    

Solution 3

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]*"
}

Solution 4

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

Solution 5

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.

Share:
90,983
Thomas Aichinger
Author by

Thomas Aichinger

Updated on September 18, 2022

Comments

  • Thomas Aichinger
    Thomas Aichinger almost 2 years

    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?

    • Thomas Aichinger
      Thomas Aichinger about 4 years
      after I added "blacklist { devnode "sda" }" to /etc/multipath.conf the entries in syslog disapeared. I am still wondering why multipath is enabled by default.
    • BurninLeo
      BurninLeo about 4 years
      Works for me, thanks! I also encountered another problem after setting up Ubuntu 20.04 as VM (root partition only 4 GB large), so I guess a few setup routines are a bit buggy :(
    • Sven
      Sven about 4 years
      @BurninLeo As far as I know the 4GB root partition is meant to be that small. You can use lvm to grow it to whatever size you like. Its meant to keep most space available for you to create/extend partitions as needed.
  • Jo Liss
    Jo Liss almost 4 years
    This worked for me on VMware Fusion as well. (You need to right-click the VM file in the Finder and select Show Package Contents to see the .vmx file.)
  • simlev
    simlev almost 4 years
    I had to power off the VM, and then go to Edit Settings -> VM Options -> Advanced -> EDIT CONFIGURATION... in vSphere Client version 6.5.0.
  • simlev
    simlev almost 4 years
    Which is better between editing the VM configuration in ESXi and editing /etc/multipath.conf on the VM? Could you please elaborate on advantages and disadvantages of each solution?
  • Hagen von Eitzen
    Hagen von Eitzen over 3 years
    @simlev EnableUUID can cause problems in the context of cloning the guest system
  • ericx
    ericx almost 3 years
    blacklisting the type of drive feels more concise and makes for the sort of config that you can share around with chef or ansible.
  • James Hibbard
    James Hibbard over 2 years
    Thank you very much for posting this. It saved me lots of headaches! One small addition: I had to reboot the VM for these changes to take effect.
  • EdwardTeach
    EdwardTeach over 2 years
    Should that be /etc/init.d/multipath-tools restart, e.g. without service prefix? The former works for me, but not the latter.
  • Marc
    Marc over 2 years
    This change plus systemctl restart multipathd on Ubuntu 20 had no effect. The sdb log errors continue unabated.
  • Russell Fulton
    Russell Fulton over 2 years
    as posted this only covers sda. I changed this to 'sd.' and that shut up sdb too
  • Nikk
    Nikk over 2 years
    Didn't work for me.