Skip to contentSkip to conversation

Question on shared storage volumes.

linux-lvm Sachin Sant 2 participants 2 messages Jul 10, 2003

lore
Share & tools
lore
#0 lore raw

I have a SCSI storage unit shared between two machines M1 and M2. On one of the machine M1 i create a volume group HA_VG , create a LV vol1 and filesystem using the LV vol1.

--- >vgcreate HA_VG /dev/sdd /dev/sde /dev/sdf
--- >lvcreate -i 3 -I 8 -L 100 -n vol1 HA_VG
--- >mkfs /dev/HA_VG/vol1
--- >mount /dev/HA_VG/vol1 /mnt

Now for some reason machine M1 dies and the VG is not exported. Using the second machine M2 if i try to forcefully import the vg , vgimport command coredumps.

--- >vgimport -f HA_VG /dev/sdd /dev/sde /dev/sdf
Segmentation fault

Should vgimport coredump here. I guess this is not the right way to recove the VG . [ I can recover the VG on machine M2 using vgscan / vgchange -a y HA_VG ]

I believe the problem might be with the following piece of code in vgimport.c

strncpy ( vg_name_this,

          pv_this[0]->vg_name,
          strlen ( pv_this[0]->vg_name) - strlen ( EXPORTED));

Here the difference between strlen will be calculated as -1 in the above senario.

May be the right way would be just print a error message instead of a core dump.

Just let me know your thoughts.

-Sachin

#1 lore raw

Sachin,

after M1 died, you should run "vgscan ; vgchange -ay HA_VG" on M2 to activate the VG there.

Quoted 20 lines · Sachin Sant

I have a SCSI storage unit shared between two machines M1 and M2. On one of the machine M1 i create a volume group HA_VG , create a LV vol1 and filesystem using the LV vol1.

--- >vgcreate HA_VG /dev/sdd /dev/sde /dev/sdf
--- >lvcreate -i 3 -I 8 -L 100 -n vol1 HA_VG
--- >mkfs /dev/HA_VG/vol1
--- >mount /dev/HA_VG/vol1 /mnt

Now for some reason machine M1 dies and the VG is not exported. Using the second machine M2 if i try to forcefully import the vg , vgimport command coredumps.

--- >vgimport -f HA_VG /dev/sdd /dev/sde /dev/sdf
Segmentation fault

Should vgimport coredump here. I guess this is not the right way to recove the VG . [ I can recover the VG on machine M2 using vgscan / vgchange -a y HA_VG ]

Quoted 6 lines

I believe the problem might be with the following piece of code in vgimport.c

strncpy ( vg_name_this,

          pv_this[0]->vg_name,
          strlen ( pv_this[0]->vg_name) - strlen ( EXPORTED));

Right, it shouldn't get there, because the VG wasn't exported.

Quoted 16 lines

Here the difference between strlen will be calculated as -1 in the above senario.

May be the right way would be just print a error message instead of a core dump.

Just let me know your thoughts.

-Sachin

_______________________________________________
linux-lvm mailing list
[email protected]
http://lists.sistina.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/

Signature · 15 lines
Regards,
Heinz    -- The LVM Guy --

*** Software bugs are stupid.
    Nevertheless it needs not so stupid people to solve them ***

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

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