RHVH Ovirt
RHVH Ovirt
Red Hat documentation is pretty thorough on the subject of multipath, which is a lovely failover mechanism for connections between remote volumes provided by SANs and the host.[1][2]
There is even this KCS that discusses the matter a little more: Internal disk device is being detected as multipath device
In setting up my bare metal servers for RHVH, after adding all my disks to the system as basically single RAID 0 disks, I found that the base image for RHVH had particular settings for creating a single path multipath entry for these. I guess I could have just used the multipath device names and created filesystems from those, but it seems a bit odd to me. Reading around in the docs suggests that if you have one path you shouldn’t use multipath at all, which kinda seems obvious. I’ll be using a cloud replication strategy, so local disks in RAID 0 seems sufficient for this use case. As you can see, my root filesystem is on another disk as well. If these fail and this host fails, I have other systems available. This is also my home lab and I don’t care about rebuild/down time if one of these disks goes out.
So how do we fix this?
[root@host-a ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931G 0 disk
└─36842b2b04ff9d90025ab58e52a9663bc 253:7 0 931G 0 mpath
sdb 8:16 0 931G 0 disk
└─36842b2b04ff9d90025ab90d07fd7775b 253:9 0 931G 0 mpath
sdc 8:32 0 931G 0 disk
└─36842b2b04ff9d90025ab90f78228beb1 253:10 0 931G 0 mpath
sdd 8:48 0 931G 0 disk
└─36842b2b04ff9d90025ab910f8391d6c7 253:5 0 931G 0 mpath
sde 8:64 0 931G 0 disk
└─36842b2b04ff9d90025abddda04ad4d15 253:8 0 931G 0 mpath
sdf 8:80 0 931G 0 disk
└─36842b2b04ff9d90025abddf306245003 253:6 0 931G 0 mpath
sdg 8:96 1 59.6G 0 disk
├─sdg1 8:97 1 1G 0 part /boot
└─sdg2 8:98 1 58.6G 0 part
├─rhvh-pool00_tmeta 253:0 0 1G 0 lvm
│ └─rhvh-pool00-tpool 253:2 0 40.9G 0 lvm
│ ├─rhvh-rhvh--4.3.7.1--0.20191211.0+1 253:3 0 13.9G 0 lvm /
│ ├─rhvh-pool00 253:11 0 40.9G 0 lvm
│ ├─rhvh-var_log_audit 253:12 0 2G 0 lvm /var/log/audit
│ ├─rhvh-var_log 253:13 0 8G 0 lvm /var/log
│ ├─rhvh-var 253:14 0 15G 0 lvm /var
│ ├─rhvh-tmp 253:15 0 1G 0 lvm /tmp
│ ├─rhvh-home 253:16 0 1G 0 lvm /home
│ └─rhvh-var_crash 253:17 0 10G 0 lvm /var/crash
├─rhvh-pool00_tdata 253:1 0 40.9G 0 lvm
│ └─rhvh-pool00-tpool 253:2 0 40.9G 0 lvm
│ ├─rhvh-rhvh--4.3.7.1--0.20191211.0+1 253:3 0 13.9G 0 lvm /
│ ├─rhvh-pool00 253:11 0 40.9G 0 lvm
│ ├─rhvh-var_log_audit 253:12 0 2G 0 lvm /var/log/audit
│ ├─rhvh-var_log 253:13 0 8G 0 lvm /var/log
│ ├─rhvh-var 253:14 0 15G 0 lvm /var
│ ├─rhvh-tmp 253:15 0 1G 0 lvm /tmp
│ ├─rhvh-home 253:16 0 1G 0 lvm /home
│ └─rhvh-var_crash 253:17 0 10G 0 lvm /var/crash
└─rhvh-swap 253:4 0 6G 0 lvm [SWAP]
Reading this statement, "If you have previously created a multipath device without using the find_multipaths parameter and then you later set the parameter to yes, you may need to remove the WWIDs of any device you do not want created as a multipath device from the /etc/multipath/wwids file."[3] we come to understand that since we have only one path to each of these devices, we can set find_multipaths yes in our configuration file while also removing the stored wwid.
Let’s back up the wwid file where these are stored. Then remove the entries corresponding to the drives we want to remove from multipath.
[root@host-a ~]# cp /etc/multipath/wwids{,.bk}
[root@host-a ~]# cat /etc/multipath/wwids.bk
# Multipath wwids, Version : 1.0
# NOTE: This file is automatically maintained by multipath and multipathd.
# You should not need to edit this file in normal circumstances.
#
# Valid WWIDs:
/36842b2b04ff9d90025ab912284b3a47e/
/36842b2b04ff9d90025ab913085928cb2/
/36842b2b04ff9d90025ab90d07fd7775b/
/36842b2b04ff9d90025ab58e52a9663bc/
/36842b2b04ff9d90025ab910f8391d6c7/
/36842b2b04ff9d90025ab90f78228beb1/
/36842b2b04ff9d90025abddda04ad4d15/
/36842b2b04ff9d90025abddf306245003/
[root@host-a ~]# cat /etc/multipath/wwids
# Multipath wwids, Version : 1.0
# NOTE: This file is automatically maintained by multipath and multipathd.
# You should not need to edit this file in normal circumstances.
#
# Valid WWIDs:
/36842b2b04ff9d90025ab912284b3a47e/
/36842b2b04ff9d90025ab913085928cb2/
We can also see these registered by multipath prior to reboot:
[root@host-a ~]# multipath -ll
36842b2b04ff9d90025ab90d07fd7775b dm-9 DELL ,PERC 6/i
size=931G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:2:1:0 sdb 8:16 active ready running
36842b2b04ff9d90025ab910f8391d6c7 dm-5 DELL ,PERC 6/i
size=931G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:2:3:0 sdd 8:48 active ready running
36842b2b04ff9d90025abddda04ad4d15 dm-8 DELL ,PERC 6/i
size=931G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:2:4:0 sde 8:64 active ready running
36842b2b04ff9d90025abddf306245003 dm-6 DELL ,PERC 6/i
size=931G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:2:5:0 sdf 8:80 active ready running
36842b2b04ff9d90025ab90f78228beb1 dm-10 DELL ,PERC 6/i
size=931G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:2:2:0 sdc 8:32 active ready running
36842b2b04ff9d90025ab58e52a9663bc dm-7 DELL ,PERC 6/i
size=931G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:2:0:0 sda 8:0 active ready running
Normally we would edit /etc/multipath.conf but the RHVH image has things configured a little differently, and we see that this file is managed by vdsm.
# head -8 /etc/multipath.conf
# VDSM REVISION 1.8
# This file is managed by vdsm.
#
# The recommended way to add configuration for your storage is to add a
# drop-in configuration file in "/etc/multipath/conf.d/<mydevice>.conf".
# Settings in drop-in configuration files override settings in this
# file.
Instead, we can add our own .conf file to get picked up and parsed after /etc/multipath.conf. Here we will change the settings as needed.
# cat /etc/multipath/conf.d/my.conf
defaults {
find_multipaths yes
}
Now after a reboot we can see the following:
[root@host-a ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931G 0 disk
sdb 8:16 0 931G 0 disk
sdc 8:32 0 931G 0 disk
sdd 8:48 0 931G 0 disk
sde 8:64 0 931G 0 disk
sdf 8:80 0 931G 0 disk
sdg 8:96 1 59.6G 0 disk
├─sdg1 8:97 1 1G 0 part /boot
└─sdg2 8:98 1 58.6G 0 part
├─rhvh-pool00_tmeta 253:0 0 1G 0 lvm
│ └─rhvh-pool00-tpool 253:2 0 40.9G 0 lvm
│ ├─rhvh-rhvh--4.3.7.1--0.20191211.0+1 253:3 0 13.9G 0 lvm /
│ ├─rhvh-pool00 253:5 0 40.9G 0 lvm
│ ├─rhvh-var_log_audit 253:6 0 2G 0 lvm /var/log/audit
│ ├─rhvh-var_log 253:7 0 8G 0 lvm /var/log
│ ├─rhvh-var 253:8 0 15G 0 lvm /var
│ ├─rhvh-tmp 253:9 0 1G 0 lvm /tmp
│ ├─rhvh-home 253:10 0 1G 0 lvm /home
│ └─rhvh-var_crash 253:11 0 10G 0 lvm /var/crash
├─rhvh-pool00_tdata 253:1 0 40.9G 0 lvm
│ └─rhvh-pool00-tpool 253:2 0 40.9G 0 lvm
│ ├─rhvh-rhvh--4.3.7.1--0.20191211.0+1 253:3 0 13.9G 0 lvm /
│ ├─rhvh-pool00 253:5 0 40.9G 0 lvm
│ ├─rhvh-var_log_audit 253:6 0 2G 0 lvm /var/log/audit
│ ├─rhvh-var_log 253:7 0 8G 0 lvm /var/log
│ ├─rhvh-var 253:8 0 15G 0 lvm /var
│ ├─rhvh-tmp 253:9 0 1G 0 lvm /tmp
│ ├─rhvh-home 253:10 0 1G 0 lvm /home
│ └─rhvh-var_crash 253:11 0 10G 0 lvm /var/crash
└─rhvh-swap 253:4 0 6G 0 lvm [SWAP]
[root@host-a ~]# multipath -ll
[root@host-a ~]#
Notes
Location of gluster install logs when installing RHV ovirt engine from the GUI:
-rw-r--r--. 1 root root 26K Jan 18 15:03 /var/log/cockpit/ovirt-dashboard/gluster-deployment.log