Skip to contentSkip to conversation

LVM2 in a cluster and lvchange.

linux-lvm tester7 A. 2 participants 2 messages Sep 17, 2003 – Sep 18, 2003

lore
Share & tools
lore

tester7 A.

author
#0 lore raw

Hi,

I would like to use the LVM in a 2-node cluster. I know that LVM is not CLVM, which will be released next year or so, but I would like to use LVM2 for it.

What I did was follows:

node1:
pvcreate /dev/sdo
vgcreate vg10 /dev/sdo
lvcrete -n test -L20G vg10
mkreiserfs /dev/vg10/test

Now, I tried to access the newly created LV from node2:
node2# pvscan ---------------> is this necesarry?
PV /dev/sdo VG vg10 lvm2 [68.36 GB / 48.36 GB free]
Total: 1 [48.36 GB] / in use: 1 [48.36 GB] / in no VG: 0 [0 ]
node2# vgscan ---------------> is this necesarry?
Reading all physical volumes. This may take a while... Found volume group "vg10" using metadata type lvm2
node2# lvscan ---------> it found the lv, but
inactive '/dev/vg10/test' [20.00 GB] next free (default)
node2# mount /dev/vg10/test /opt ---> can not be accessable.
mount: special device /dev/vg10/test does not exist
node2# lvscan -D ------> read from the disk,
inactive '/dev/vg10/test' [20.00 GB] next free (default)
node2# mount /dev/vg10/test /opt ---> still not accessable.
mount: special device /dev/vg10/test does not exist
node2# lvscan -D -b ---> same with -b option.
inactive '/dev/vg10/test' [20.00 GB] next free (default)
node2# mount /dev/vg10/test /opt
mount: special device /dev/vg10/test does not exist
node2# lvchange -ay /dev/vg10/test ----> changing it to active node. (it is active in node1)
node2# mount /dev/vg10/test /opt --------> now works.

Again, after extending the lv from node1, even tough lv size is shown correctly in node2, it can not be accessable, unless 'doing lvchange -an /dev/vg10/test ; lvchange -ay /dev/vg10/test'

node1# lvextend -L+10G /dev/vg10/test
Extending logical volume test to 30.00 GB
Logical volume test successfully resized

node2:~ # lvdisplay
--- Logical volume ---

 LV Name                /dev/vg10/test
 VG Name                vg10
 LV UUID                zUjDCv-L774-opXv-fZz8-zZpT-omKv-csr8JM
 LV Write Access        read/write
 LV Status              available
 # open                 0
 LV Size                30.00 GB
 Current LE             7680
 Segments               1
 Allocation             next free (default)
 Read ahead sectors     0
 Block device           254:1

node2:~ # resize_reiserfs /dev/vg10/test
resize_reiserfs 3.6.2 (2002)
/dev/vg10/test already is of the needed size. Nothing to be done --------> means that block devices tools did not see the extended size yet.

node2:~ # lvchange -an /dev/vg10/test ; lvchange -ay /dev/vg10/test node2:~ # resize_reiserfs /dev/vg10/test
resize_reiserfs 3.6.2 (2002)
ReiserFS report:

blocksize             4096
block count           7864320 (5242880)
free blocks           7855869 (5234509)
bitmap block count    240 (160)

Syncing..done ------------------> now it sees the extended size...

My question is that 'doing lvchange -an /dev/vg10/test ; lvchage -ay /dev/vg10/test' in the other node make the kernel recognize the lv changes. Is there any better way or command, becase making inactive temporaryly does not make me feel right.

TIA

_________________________________________________________________
The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail

#1 lore raw
Quoted 4 lines · On Thu, Sep 18, 2003 at 09:38:46AM +0900, tester7 A. wrote:

My question is that 'doing lvchange -an /dev/vg10/test ; lvchage -ay /dev/vg10/test' in the other node make the kernel recognize the lv changes. Is there any better way or command, becase making inactive temporaryly does not make me feel right.

Your other option is to poke around with dmsetup.

Currently:

dmsetup suspend vg10-test
lvchange -ay vg10/test

should work, but mixing dmsetup with the LVM2 tools like that is not supported and so it could break as a side-effect of changes in future releases.

Alasdair

Signature · 1 line
[email protected]