Skip to contentSkip to conversation

problem of lvm on suse

linux-lvm [email protected] 1 participant 1 message Oct 27, 2003

lore
Share & tools
lore
#0 lore raw

Hi,

I have tried both the sorting order of our devices, in /proc/paritions.
It still does not work.

When I did pvscan with debug option , it gave the
following: This is with our devices on top of /proc/partitions.

<1> pv_read_all_pv -- calling stat with "/dev/pseudo_device1" <22> pv_read -- CALLED with /dev/pseudo_device1
<333> pv_check_name -- CALLED with "/dev/pseudo_device1" <4444> lvm_check_chars -- CALLED with name: "/dev/pseudo_device1" <4444> lvm_check_chars -- LEAVING with ret: 0
<333> pv_check_name -- LEAVING with ret: 0
<22> pv_read -- going to read /dev/pseudo_device1
<333> lvm_check_dev -- CALLED
<4444> lvm_check_partitioned_dev -- CALLED
<55555> lvm_get_device_type called
<55555> lvm_get_device_type leaving with 1
<4444> lvm_check_partitioned_dev -- LEAVING with ret: TRUE <333> lvm_check_dev -- LEAVING with ret: 1
<333> pv_copy_from_disk -- CALLED

<333> pv_copy_from_disk -- LEAVING ret = 0x8054508

<333> pv_create_name_from_kdev_t -- CALLED with 253:129

<4444> lvm_check_dev -- CALLED
<55555> lvm_check_partitioned_dev -- CALLED
<666666> lvm_get_device_type called
<666666> lvm_get_device_type leaving with 1
<55555> lvm_check_partitioned_dev -- LEAVING with ret: TRUE <4444> lvm_check_dev -- LEAVING with ret: 1
<4444> lvm_dir_cache -- CALLED
<4444> lvm_dir_cache -- LEAVING with ret: 147
<333> pv_create_name_from_kdev_t -- LEAVING with dev_name: /dev/pseudo_device1 <333> system_id_check_exported -- CALLED
<333> system_id_check_exported -- LEAVING with ret: 0
<22> pv_read -- LEAVING with ret: 0
<22> pv_get_size -- CALLED with /dev/pseudo_device1 and 0xbffff570 <333> lvm_dir_cache -- CALLED
<333> lvm_dir_cache -- LEAVING with ret: 147
<333> lvm_dir_cache_find -- CALLED with /dev/pseudo_device1 <4444> pv_check_name -- CALLED with "/dev/pseudo_device1"
<55555> lvm_check_chars -- CALLED with name: "/dev/pseudo_device1" <55555> lvm_check_chars -- LEAVING with ret: 0
<4444> pv_check_name -- LEAVING with ret: 0
<4444> lvm_dir_cache -- CALLED
<4444> lvm_dir_cache -- LEAVING with ret: 147

<333> lvm_dir_cache_find -- LEAVING with entry: 21

<333> lvm_check_partitioned_dev -- CALLED
<4444> lvm_get_device_type called
<4444> lvm_get_device_type leaving with 1
<333> lvm_check_partitioned_dev -- LEAVING with ret: TRUE

<333> lvm_partition_count -- CALLED for 0xfd81

<4444> lvm_get_device_type called
<4444> lvm_get_device_type leaving with 1
<333> lvm_partition_count -- LEAVING with ret: 16
<22> pv_get_size -- BEFORE llseek 0:0
<22> pv_get_size -- part[0].sys_ind: 8E part[0].nr_sects: 79950 <22> pv_get_size -- first == 1
<22> pv_get_size -- part_i == part_i_tmp
<22> pv_get_size -- LEAVING with ret: 79950

<22> pv_check_and_add_paths -- CALLED with pv_list=(nil) and pv_new=0x8054508

<22> pv_check_and_add_paths -- LEAVING with rc=0
<22> pv_check_volume -- CALLED dev_name: "/dev/pseudo_device1" pv: 8054508 <333> pv_check_name -- CALLED with "/dev/pseudo_device1"
<4444> lvm_check_chars -- CALLED with name: "/dev/pseudo_device1" <4444> lvm_check_chars -- LEAVING with ret: 0
<333> pv_check_name -- LEAVING with ret: 0
<333> pv_check_new -- CALLED
<333> pv_check_new -- LEAVING with ret: 0
<333> vg_check_name -- CALLED with VG: vg
<4444> lvm_check_chars -- CALLED with name: "vg"
<4444> lvm_check_chars -- LEAVING with ret: 0
<333> vg_check_name -- LEAVING with ret: 0
<22> pv_check_volume -- LEAVING with ret: 1
<1> pv_read_all_pv: allocating for /dev/pseudo_device1 vg

now when the 1st scsi device corresponding the above pseudo device (ie its path) was scanned the foll was the output:

<1> pv_read_all_pv -- calling stat with "/dev/sds1" <22> pv_read -- CALLED with /dev/sds1
<333> pv_check_name -- CALLED with "/dev/sds1" <4444> lvm_check_chars -- CALLED with name: "/dev/sds1" <4444> lvm_check_chars -- LEAVING with ret: 0 <333> pv_check_name -- LEAVING with ret: 0
<22> pv_read -- going to read /dev/sds1
<333> lvm_check_dev -- CALLED
<4444> lvm_check_partitioned_dev -- CALLED <55555> lvm_get_device_type called
<55555> lvm_get_device_type leaving with 1
<4444> lvm_check_partitioned_dev -- LEAVING with ret: TRUE <333> lvm_check_dev -- LEAVING with ret: 1
<333> pv_copy_from_disk -- CALLED

<333> pv_copy_from_disk -- LEAVING ret = 0x805bda0

<333> pv_create_name_from_kdev_t -- CALLED with 65:33

<4444> lvm_check_dev -- CALLED
<55555> lvm_check_partitioned_dev -- CALLED
<666666> lvm_get_device_type called
<666666> lvm_get_device_type leaving with 1
<55555> lvm_check_partitioned_dev -- LEAVING with ret: TRUE <4444> lvm_check_dev -- LEAVING with ret: 1
<4444> lvm_dir_cache -- CALLED
<4444> lvm_dir_cache -- LEAVING with ret: 147
<333> pv_create_name_from_kdev_t -- LEAVING with dev_name: /dev/sds1 <333> system_id_check_exported -- CALLED
<333> system_id_check_exported -- LEAVING with ret: 0 <22> pv_read -- LEAVING with ret: 0
<22> pv_get_size -- CALLED with /dev/sds1 and 0xbffff570 <333> lvm_dir_cache -- CALLED
<333> lvm_dir_cache -- LEAVING with ret: 147
<333> lvm_dir_cache_find -- CALLED with /dev/sds1
<4444> pv_check_name -- CALLED with "/dev/sds1"
<55555> lvm_check_chars -- CALLED with name: "/dev/sds1" <55555> lvm_check_chars -- LEAVING with ret: 0
<4444> pv_check_name -- LEAVING with ret: 0
<4444> lvm_dir_cache -- CALLED
<4444> lvm_dir_cache -- LEAVING with ret: 147

<333> lvm_dir_cache_find -- LEAVING with entry: 59

<333> lvm_check_partitioned_dev -- CALLED
<4444> lvm_get_device_type called
<4444> lvm_get_device_type leaving with 1
<333> lvm_check_partitioned_dev -- LEAVING with ret: TRUE

<333> lvm_partition_count -- CALLED for 0x4121

<4444> lvm_get_device_type called
<4444> lvm_get_device_type leaving with 1
<333> lvm_partition_count -- LEAVING with ret: 16
<22> pv_get_size -- BEFORE llseek 0:0
<22> pv_get_size -- part[0].sys_ind: 8E part[0].nr_sects: 79950 <22> pv_get_size -- first == 1
<22> pv_get_size -- part_i == part_i_tmp
<22> pv_get_size -- LEAVING with ret: 79950

<22> pv_check_and_add_paths -- CALLED with pv_list=0x8054a60 and pv_new=0x805bda 0

<22> pv_check_and_add_paths -- identical UUIDs for device 253:129 and 65:33 <22> pv_check_and_add_paths -- initializing default path
<22> pv_check_and_add_paths -- adding path at position 0
<22> pv_check_and_add_paths -- path count is 2
<22> pv_check_and_add_paths -- LEAVING with rc=1

Regards
Aditya

----- Original Message -----
From: "Heinz J . Mauelshagen" <[email protected]>
To: <[email protected]>
Cc: <mailto:[email protected];; <[email protected]>
Sent: Friday, October 24, 2003 4:01 PM
Subject: [linux-lvm] Re: Problem of LVM on Suse

Quoted 11 lines · On Thu, Oct 23, 2003 at 06:50:29PM -0600, [email protected] wrote:
Quoted 10 lines

Hi,

I am facing a problem in using LVM bundled with Suse Enterprise server 8 ,connected to storage area newtork
System configuration:
A storage area network is connected to a server with OS Suse Enterprise server 8.
So there are multiple scsi devices whose physical disk is identical.

We are creating a Pseudo device file asscociated with identical scsi

devices

Quoted 8 lines
Quoted 8 lines

using a driver that we have created.
eg : /dev/pseudo-device -> /dev/sda , /dev/sdb

Now using the bundled LVM on such pseudo device is a problem. problem details:
pvcreate /dev/pseudo-device
[result] ok.

Quoted 5 lines
Quoted 5 lines

pvscan
[result] it shows the scsi device associated with this pseudo device ie /dev/sda and not our pseudo device.

If LVM bypasses our pseudo device then the purpose of creating this

device

Quoted 3 lines
Quoted 3 lines

and associating it with scsi is futile.

The irony is, LVM works fine on RH 2.1 kernel = 2.4.9-e.3 and also with

RH

Quoted 2 lines
Quoted 2 lines

7.2
However the above mention problem is observed on Suse Enterprise server

8

Quoted 26 lines
Quoted 4 lines

,RH 2.1 kernel =2.4.9-e.25, RH 7.3 and RH 8.0.

Would request you to clarify the following :
1>Could you please tell me how this problem can be rectified ?

Change the sort-order (as you suggested below)

Quoted 9 lines

2>Is it that Lvm that is bundled with the OS can't be used for the above mentioned purpose ?

3>If it can't be , then what design feature
of the current LVM prevents it from supporting the above task?

4> Can any change in our product help us to solve this problem?

Quoted 7 lines

5>Moreover I think LVM on RedHat is working just by chance. I think pvscan depends on the order of the devices in the /proc/partitions , and hence when our pseudo devices are at the end of the /proc/paritions , pvscan shows our devices as active else it shows scsi as active.

Is my inference correct?

Yes.

Quoted 17 lines

LVM2 is much more suitable to cover such vendor-specific configurations, because it has configurable device name filters. LVM1 needs code changes to support additional device name spaces.

Quoted 3 lines

Regards
Aditya Vasudevan

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

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

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

Quoted 8 lines

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

                                                       FAX 924446 

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

Quoted 6 lines

_______________________________________________
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/