Skip to Main Content

Infrastructure Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

OVM2.1.2 with device-mapper-multipath is not finding the root partition

680720Apr 2 2009 — edited Aug 14 2009
We are using multipathing (with mpath as a installation option), FC disks, and we are booting from an external SAN. After OVM2.1.2 installation, the system is not booting because of not being able to mount the root partition. Grub loads initrd and kernel image successfuly from the /boot disk (it's a SAN disk too), but, when the kernel loads the multipathing module (included in OVM installation), and then, tries to mount the root partition, device-mapper is not working as expected.See the following extract of the server's output:

device-mapper: multipath round-robin: version 1.0.0 loaded
Waiting for driver initialization.
Can't have a partition outside the disk!
device-mapper: table: device 67:192 too small for target
device-mapper: table: 253:1: multipath: error getting device
device-mapper: ioctl: error adding target to table
device-mapper: reload ioctl failed: Invalid argument
...
device-mapper: table: 253:3: multipath: error getting device
device-mapper: ioctl: error adding target to table
device-mapper: reload ioctl failed: Invalid argument
Creating root device.
Mounting root filesystem.
mount: could not find filesystem '/dev/root'
...
unmounting old /sys
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!

Hardware details: ProLiant BL480c G1, with QLogic QMH2462 4Gb FC HBA and an external EVA8000 SAN. Every LUN is seen by 8 different paths.
We've installed an OEL5u2, OEL5u3, RH5u3 in the same machine/SAN disks: all of them were working OK. For testing purposes, I've reinstalled the OVM servers, but now I'm using direct-attached disks to store the /boot and / partitions. Device-mapper is still not working with the SAN disks (but, right now, the system boots). I've installed OEL5u3 device-mapper and device-mapper-multipath rpms. Although I understand is not a supported/certified configuration (because of the different kernel versions), mpath is now working. I conclude, then, that we are affected by a device-mapper bug, present in the OVM shipped versions.

Any ideas? Do you know where can i find an OVM2.1.2 compatibility matrix?

Thanks!!

Daniel Caballero

Comments

Avi Miller-Oracle
dcaba wrote:
I've installed OEL5u3 device-mapper and device-mapper-multipath rpms. Although I understand is not a supported/certified configuration (because of the different kernel versions), mpath is now working. I conclude, then, that we are affected by a device-mapper bug, present in the OVM shipped versions.
Weird. I'm using the same blades with the same HBAs against EMC FC SANs (CLARiiON and SYMMETRIX) and I'm not having any issues. If you have Oracle VM support, I urge you to raise an SR on this so that device-mapper-multipath in Oracle VM can be investigated and perhaps upgraded.
680720
Hello,

I closed this issue thanks to an SR I opened, but moving the root partition to local disks. Explanation:

- to install 5u3 multipath rpms was not enough to resolve the problem.
- support noticed OVM2.1.2 do not support booting from external multipath devices. OVM2.1 is based on a OEL 5 base (in turn, based on RH5 base), and, although it is not explicitly indicated in the documentation, this does not work.
- Technically, in oracle 5 base that uses a multipath root partition, some static information is stored in the initrd init scripts. This behavior changed in OEL 5u2, for example.

Regards,

Daniel Caballero
345771
Hi dcaba,

can you (or anybody else with experience on multipath SAN setup) please detail a bit more the steps you performed to TRY to implement SAN boot + multipath?

I'm trying to do the same right now. My system is as follows:
- Oracle VM Server 2.1.5
- C3000 Bladesystem enclosure
- BL460C Blades
- Qlogic QMH2462 HBA's
- Brocade FC Switches
- HP 2012FC SAN Storage

I have results similar to yours...

SAME AS YOU:
I get the following messages at system boot:
device-mapper: table: 253:26: multipath: error getting device
device-mapper: ioctl: error adding target to table

DIFFERENT FROM YOU:
my system boots correctly.

My problem is that e.g. if I shutdown the primary controller on my SAN disk array, I see that Paths are failing over. The system is still usable.

BUT AFTER FAILOVER, "/" FILE SYSTEM GETS TO BE "READ ONLY FILESYSTEM" (that's exactly the error message that I get if I try, for instance, to touch or edit whatever text file under "/root".

I'd like to know what I've "left behind". Something must definitely be incomplete, as if I type "mount", I get the following:
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
configfs on /sys/kernel/config type configfs (rw)
ocfs2_dlmfs on /dlm type ocfs2_dlmfs (rw)
/dev/mapper/mpath15p1 on /OVS type ocfs2 (rw,_netdev,heartbeat=local)
So it looks like JUST "/OVS" is mounted under "/dev/mapper". I would expect also "/", "/boot" etc. to be under "/dev/mapper/something", but they are under "/dev/sdaXXX"...

I'd like to, at least, get to the end of it correctly, before giving up. Here is what I do:

---------------------------------------------------------------------------
cd /etc
vi multipath.conf
### ADD THE FOLLOWING BLACKLIST AFTER"defaults user_friendly_names yes" SECTION
## Blacklist non-SAN devices
devnode_blacklist {
devnode "sd[a]$"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z]"
devnode "^cciss!c[0-9]d[0-9]*"
}

# add the following under "devices" (UNCOMMENT THE SECTION FIRST!!!)
# section:
# For MSA2012fc/MSA2212fc/MSA2012i
device
{
vendor "HP"
product "MSA2[02]12fc|MSA2012i"
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
hardware_handler "0"
path_selector "round-robin 0"
path_grouping_policy multibus
failback immediate
rr_weight uniform
no_path_retry 18
rr_min_io 100
path_checker tur
}

# Configuring QLogic HBA parameters
# To configure the QLogic HBA parameters for QLogic 2xxx family of HBAs, complete the following
# steps:
cd /etc
vi modprobe.conf

# ADD THE FOLLOWING LINE
options qla2xxx ql2xmaxqdepth=16 qlport_down_retry=10 ql2xloginretrycount=30

####
# Rebuild the initrd by executing the following commands:
####
# Backup the existing initrd image
mv /boot/initrd-2.6.18-8.1.15.3.1.el5xen.img /boot/initrd-2.6.18-8.1.15.3.1.el5xen.img.old

# then create the new one:
mkinitrd /boot/initrd-2.6.18-8.1.15.3.1.el5xen.img `uname -r`

# CHECK THAT the value for default parameter in /boot/grub/menu.lst file to boot with the
# new initrd image --> OK, SO I LEAVE THE FILE UNCHANGED

### CONFIGURES MULTIPATHD DAEMON
chkconfig --add multipathd
chkconfig multipathd on
/etc/init.d/multipathd start

### REBOOT THE HOST
------------------------------------------------------------------------------------------

What are the steps that I'm missing to see EVERYTHING under /dev/mapper? Or maybe it's OK to see / mounted under /dev/sdaXXX, and the error is somewhere else?

Thank you for eventually pointing me to a "check" procedure, or to a troubleshooting guide, or for any hints and ideas...

Edited by: rlomba on Aug 13, 2009 3:33 AM

Edited by: rlomba on Aug 13, 2009 3:36 AM
345771
UPDATE:

After changing a configuration on the HP 2012FC storage, reinstalling OracleVM Server, and performing again the above listed post-install actions (SPECIFIC FOR MY HARDWARE), I have now everything apparently working....

- It boots from SAN
- If I now type "mount", everything is under /dev/mapper (probably, a mix of issues prevented the previous installation to work)

STILL I HAVE A PROBLEM. After shutting down a Disk Array Controller, to test the path's failover, I get a "journal aborted" message on the system console, followed by a "remounting filesystem read-only".

Therefore, this is not exactly perfect. It's not usable.

Anyone that knows about specific settings to be used with the following hardware combination:
- Qlogic QMH2462 HBA's
- Brocade 4/12 SAN switches
- HP 2012FC SAN storage?

I guess right now, it's all a matter of vendor-specific settings... But the settings I'm already using (listed in the previous message) have been found on HP sources....

Any ideas?
345771
All, sorry for the "noise". It works.

I realized now that:
/etc/init.d/multipathd start
is not enough for correctly starting up the multipathd daemon. It just started the PID, but not the actual service/daemon (at least according to the output of "service multipathd status").

So I had to simply:
service multipathd start
So, hopefully it's going to be useful to somebody, sooner or later... The above listed "VMServer Version+HW configuration+parameters" looks like a working configuration for both SAN boot and multipathing.

I still haven't tested under load, but at least the system now is not complaining after a path failure, it's already a good result :-)

Thank you.
1 - 5
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Sep 11 2009
Added on Apr 2 2009
5 comments
6,336 views