RHEL6: DM Multipath device partitioning

Latest response

Hi All

 

Has anyone expereniced any issues with trying to partition a DM multipath disk device under RHEL6?

 

At the moment, I'm noting that some of the individual devices paths will not pick up partition table changes made on against either the multipath device or (as Redhat has previously suggested) against another one of the paths.

 

partprobe, kpartx and partx all fail to propergate out partition information to the other paths....Reboot seems to be the only sure way, which is not ideal on a production system.

 

Seems a lot less reliable that partitioning a DM multipath device under RHEL5.

 

Appreciate your thoughts and suggestions.

 

Cheers

 

Jason

Responses

Hi Jason,

 

That's quite curious indeed. It sounds like you've seen this article, since you've run kpartx and partx. Just wondering whether you're running something like 'partx -va /dev/mapper/mpath0' or 'partx -va /dev/sdb'?

 

I'd be curious to hear what others in the community have done when faced with this too.

 

Cheers,

Rohan

Hey,

 

I used kpartex, and its updated my partitions tables. Little bit curious about your issue.

 

rgds,

 

Shyfur

Have you checked /var/log/messages to see if there are any device-mapper or multipath errors when you run kpartx?

 

Regards,

John Ruemker, RHCA

Software Maintenance Engineer

Global Support Services

Red Hat, Inc.

 

 

I have not experienced the specific situation you are currently in, but I have been in a situation where we provided SAN devices (which were incorrect) and had them removed and then re-added as different devices.  Which REALLY messes up the multipath "status".  Here are a few things from my process that might be relevant to your troubleshooting.  I wonder if multipath -f <device> would help the OS recognize the changes (-f can have negative effects on your system - test this on a non-prod system for your use case).

DISCLAIMER: please research and validate these commands and the impact of running them.

 

# tail -f /var/log/messages

# multipath -ll

# echo "- - -" > /sys/class/scsi_host/host#/scan

# rescan-scsi-bus.sh

 

 

#! /bin/sh

# return all offline scsi devices to the running state

for d in /sys/block/sd*/device/state; do if [ `cat $d` = "offline" ]; then echo running > $d; fi; done

 

Enable additional logging in the lpfc driver:

# echo 0x1f > /sys/module/lpfc/lpfc_log_verbose

 

Enable extra logging for the scsi-subsystem:

# echo 7 > /sys/module/scsi_mod/scsi_logging_level

Hi Rohan

 

Have tried several combinations of using partx or kpartx against the individual paths as well as the mpath device. Neither produces reliable results.

 

Regards

Jason

Hi Everyone

 

Thanks to Redhat this issue now appears to be resolved.

 

After creating the partition on one of the direct paths, "blockdev --flushbufs <PATH>" has to be run on the other direct path's of the multipath device to flush the extra cache buffers and make updated partition table visible.

 

Thanks to everyone for your suggestions.

 

Regards

 

 

Jason 

Great to hear, Jason. I'm glad you were able to get this resolved.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.