[linux-lvm] Problems binding raw devices to PV's

Heinz J . Mauelshagen mauelshagen at sistina.com
Tue Jan 15 09:17:05 UTC 2002


Andrew,
happy new year and sorry for this late answer.

On Thu, Dec 20, 2001 at 01:16:52PM -0700, Andrew Patterson wrote:
> In your message on you write:
> > 
> > Hi Andrew,
> > 
> > I admit that the oops shouldn't happen but what's the use of binding
> > raw devices to PVs anyway?
> 
> We are using this feature to monitor LUN's in a volume group to decide
> whether to fail-over a server in a high-availabilty solution.  We try
> and read the PV header on a LUN to see if it has failed. To do this we
> need raw access to bypass the buffer cache.  Is there another way to
> bypass the buffer-cache without using raw?

No, not that I am aware of.

Heinz

> 
> Andrew
> 
> > 
> > Regards,
> > Heinz
> > 
> > On Wed, Dec 19, 2001 at 05:54:12PM -0700, Andrew Patterson wrote:
> > > 
> > > We are having problems when running vgchange to activate volume groups
> > > that have raw devices bound to it's PV's. We are currently using
> > > LVM 1.0.1-rc4 running on Linux kernel 2.4.14. 
> > > 
> > > Andrew
> > > 
> > > Reproducing problem:
> > > --------------------
> > > 1. Establish raw device <--> scsi disk device bindings using raw
> > >    utility
> > > 2. Create 1 vg with 2 pv's (problem not seen with only 1 pv)
> > > 3. Deactivate vg with vgchange
> > > 4. When you re-activate the vg with vgchange, something is corrupted
> > >    such that the raw mappings appear to have been changed.
> > > 5. The next attempt to change back the raw binding causes segfault in
> > >    the raw utility, accompanied by a kernel stack trace on the
> > >    console/syslog
> > > 6. The next attempt to change back the raw binding causes the system
> > >    to completely lock up/wedge.
> > > 
> > > Capture showing problem:
> > > ------------------------
> > > jerry# 
> > > jerry# 
> > > jerry# raw /dev/raw2 8 16
> > > /dev/raw/raw2:	bound to major 8, minor 16
> > > jerry# raw /dev/raw3 8 32
> > > /dev/raw/raw3:	bound to major 8, minor 32
> > > jerry# raw /dev/raw3 8 48
> > > /dev/raw/raw4:	bound to major 8, minor 48
> > > jerry# raw /dev/raw4 8 64
> > > /dev/raw/raw5:	bound to major 8, minor 64
> > > jerry# raw /dev/raw5 8 80
> > > /dev/raw/raw6:	bound to major 8, minor 80
> > > jerry# raw /dev/raw6 8 96
> > > /dev/raw/raw7:	bound to major 8, minor 96
> > > jerry# raw /dev/raw8 8 112
> > > /dev/raw/raw8:	bound to major 8, minor 112
> > > jerry# raw /dev/raw9 8 128
> > > /dev/raw/raw9:	bound to major 8, minor 128
> > > jerry# 
> > > jerry# 
> > > jerry# raw -qa
> > > /dev/raw/raw2:	bound to major 8, minor 16
> > > /dev/raw/raw3:	bound to major 8, minor 32
> > > /dev/raw/raw4:	bound to major 8, minor 48
> > > /dev/raw/raw5:	bound to major 8, minor 64
> > > /dev/raw/raw6:	bound to major 8, minor 80
> > > /dev/raw/raw7:	bound to major 8, minor 96
> > > /dev/raw/raw8:	bound to major 8, minor 112
> > > /dev/raw/raw9:	bound to major 8, minor 128
> > > jerry# pvcreate /dev/sdf
> > > pvcreate -- physical volume "/dev/sdf" successfully created
> > > 
> > > jerry# pvcreate /dev/sdg
> > > pvcreate -- physical volume "/dev/sdg" successfully created
> > > 
> > > jerry# vgcreate testVG1 /dev/sdf /dev/sdg
> > > vgcreate -- INFO: using default physical extent size 4.00 MB
> > > vgcreate -- INFO: maximum logical volume size is 255.99 Gigabyte
> > > vgcreate -- doing automatic backup of volume group "testVG1"
> > > vgcreate -- volume group "testVG1" successfully created and activated
> > > 
> > > jerry# raw -qa
> > > /dev/raw/raw2:	bound to major 8, minor 16
> > > /dev/raw/raw3:	bound to major 8, minor 32
> > > /dev/raw/raw4:	bound to major 8, minor 48
> > > /dev/raw/raw5:	bound to major 8, minor 64
> > > /dev/raw/raw6:	bound to major 8, minor 80
> > > /dev/raw/raw7:	bound to major 8, minor 96
> > > /dev/raw/raw8:	bound to major 8, minor 112
> > > /dev/raw/raw9:	bound to major 8, minor 128
> > > jerry#
> > > jerry#
> > > jerry# vgchange -an testVG1
> > > vgchange -- volume group "testVG1" successfully deactivated
> > > 
> > > jerry# raw -qa
> > > /dev/raw/raw2:	bound to major 8, minor 16
> > > /dev/raw/raw3:	bound to major 8, minor 32
> > > /dev/raw/raw4:	bound to major 8, minor 48
> > > /dev/raw/raw5:	bound to major 8, minor 64
> > > /dev/raw/raw6:	bound to major 8, minor 80
> > > /dev/raw/raw7:	bound to major 8, minor 96
> > > /dev/raw/raw8:	bound to major 8, minor 112
> > > /dev/raw/raw9:	bound to major 8, minor 128
> > > jerry#
> > > jerry#
> > > jerry# vgchange -ay testVG1
> > > vgchange -- volume group "testVG1" successfully activated
> > > 
> > > jerry# raw -qa
> > > /dev/raw/raw2:	bound to major 8, minor 16
> > > /dev/raw/raw3:	bound to major 8, minor 32
> > > /dev/raw/raw4:	bound to major 8, minor 48
> > > /dev/raw/raw5:	bound to major 8, minor 64
> > > /dev/raw/raw6:	bound to major 8, minor 96      <------ CHANGED/WRONG
> > > /dev/raw/raw7:	bound to major 8, minor 80      <------ CHANGED/WRONG
> > > /dev/raw/raw8:	bound to major 8, minor 112
> > > /dev/raw/raw9:	bound to major 8, minor 128
> > > jerry#
> > > jerry#
> > > jerry# raw /dev/raw6 0 0
> > > Segmentation fault
> > > 
> > > >>>>>>>>>> THIS APPEARED ON CONSOLE/SYSLOG >>>>>>>>>>>>>>>>>>
> > > Dec 19 15:53:32 jerry kernel: invalid operand: 0000
> > > Dec 19 15:53:32 jerry kernel: CPU:    0
> > > Dec 19 15:53:32 jerry kernel: EIP:    0010:[<c01396a2>]    Not tainted
> > > Dec 19 15:53:32 jerry kernel: EFLAGS: 00010202
> > > Dec 19 15:53:32 jerry kernel: eax: 00000001   ebx: 000000d8   ecx: c1e72de8
> >    
> > > edx: 00000001
> > > Dec 19 15:53:32 jerry kernel: esi: c1e72de0   edi: c03f5880   ebp: f2e41f88
> >    
> > > esp: f2e41f60
> > > Dec 19 15:53:32 jerry kernel: ds: 0018   es: 0018   ss: 0018
> > > Dec 19 15:53:32 jerry kernel: Process raw (pid: 506, stackpage=f2e41000)
> > > Dec 19 15:53:32 jerry kernel: Stack: 000000d8 c03f5968 c03f5880 c0207f16 
> > > c1e72de0 f3858d20 bffffcd0 0000ac00
> > > Dec 19 15:53:32 jerry kernel:        ffffffe7 00000000 00000006 00000000 
> > > 00000000 00000000 00000000 c01415a7
> > > Dec 19 15:53:32 jerry kernel:        f638d920 f3858d20 0000ac00 bffffcd0 
> > > f2e40000 bffffde4 bffffd1c 00000004
> > > Dec 19 15:53:32 jerry kernel: Call Trace: [<c0207f16>] [<c01415a7>]
> > > [<c0106d6f>]
> > > Dec 19 15:53:32 jerry kernel:
> > > Dec 19 15:53:32 jerry kernel: Code: 0f 0b 8b 56 04 8b 06 89 50 04 89 02 8b 
> > 5e 
> > > 30 8d 46 30 39 c3
> > > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> > > 
> > > jerry#
> > > jerry#
> > > jerry# raw /dev/raw7 8 96
> > > >>>>>>>>>>>> SYSTEM LOCKED-UP COMPLETELY >>>>>>>>>>>>>>>>>>>
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > _______________________________________________
> > > linux-lvm mailing list
> > > linux-lvm at sistina.com
> > > http://lists.sistina.com/mailman/listinfo/linux-lvm
> > > read the LVM HOW-TO at http://www.sistina.com/lvm/Pages/howto.html
> > 
> > linux-lvm mailing list
> > linux-lvm at sistina.com
> > http://lists.sistina.com/mailman/listinfo/linux-lvm
> > read the LVM HOW-TO at http://www.sistina.com/lvm/Pages/howto.html
> 
> 
> 
> _______________________________________________
> linux-lvm mailing list
> linux-lvm at sistina.com
> http://lists.sistina.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://www.sistina.com/lvm/Pages/howto.html

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Heinz Mauelshagen                                 Sistina Software Inc.
Senior Consultant/Developer                       Am Sonnenhang 11
                                                  56242 Marienrachdorf
                                                  Germany
Mauelshagen at Sistina.com                           +49 2626 141200
                                                       FAX 924446
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-




More information about the linux-lvm mailing list