Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Hi Luciano,
I swapped the order in lvm.conf's filter,
preceding all with a reject of md4.
(also discarded md0, which is /boot, and md2 which is swap (not
on LV!) )
# df /boot
Filesystem 1K-blocks Used Available Use% Mounted
on
/dev/md0 101018 30523 65279 32% /boot
# swapon -s
Filename Type Size
Used Priority
/dev/md2 partition 2530104 0
-1
# cd /etc/lvm
# rcsdiff lvm.conf
=================================================================
==
RCS file: lvm.conf,v
retrieving revision 1.2
diff -r1.2 lvm.conf
54c54
< filter = [ "a|^/dev/sd[ab][1-9]?$|", "a|^/dev/md[0-9]$|",
"a|^/dev/drbd[0-9]$|", "r|.*|" ]
---
> filter = [ "r/md4/", "a|^/dev/drbd[0-3]$|",
"a|^/dev/md[135]$|", "r|.*|" ]
# drbdadm state r0
Primary/Unknown
# drbdadm dstate r0
UpToDate/DUnknown
# drbdadm sh-dev r0
/dev/drbd0
# pvcreate -ff /dev/drbd0
Physical volume "/dev/drbd0" successfully created
# pvscan
PV /dev/md5 VG vgrh lvm2 [9.54 GB / 3.91 GB free]
PV /dev/md3 VG vgdata lvm2 [27.94 GB / 9.44 GB free]
PV /dev/md1 VG vg00 lvm2 [9.54 GB / 3.91 GB free]
PV /dev/drbd0 lvm2 [30.74 GB]
Total: 4 [77.76 GB] / in use: 3 [47.02 GB] / in no VG: 1 [30.74
GB]
Wow, was this owe to the filter or that I used -ff this time on
pvcreate?
# pvdisplay -m /dev/drbd0
--- NEW Physical volume ---
PV Name /dev/drbd0
VG Name
PV Size 30.74 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID L8I98d-aRlp-zlRe-o83m-kqyL-AbmD-svsL0W
# vgcreate -s 8m vgdrbd /dev/drbd0
Volume group "vgdrbd" successfully created
# lvcreate -L 2g -n lv_fiddle vgdrbd
Logical volume "lv_fiddle" created
# mkfs.ext3 -q /dev/vgdrbd/lv_fiddle
# mount /dev/vgdrbd/lv_fiddle /mnt/tmp1
# df /mnt/tmp1
Filesystem 1K-blocks Used Available Use% Mounted
on
/dev/mapper/vgdrbd-lv_fiddle
2064208 68680 1890672 4% /mnt/tmp1
Great,
now let me check if complete deactivation and reactivation
(which will later be handled by the Heartbeat resource scripts)
also works.
# umount /mnt/tmp1
# vgchange -a n vgdrbd
0 logical volume(s) in volume group "vgdrbd" now active
# drbdadm secondary r0
# drbdadm detach r0
# drbdadm state r0
Unconfigured
# pvs
/dev/drbd0: open failed: Wrong medium type
PV VG Fmt Attr PSize PFree
/dev/md1 vg00 lvm2 a- 9.54G 3.91G
/dev/md3 vgdata lvm2 a- 27.94G 9.44G
/dev/md5 vgrh lvm2 a- 9.54G 3.91G
Oops, I wonder if "Wrong medium type" only disappears when drbd
is completely shut down on this node?
# service drbd stop
Stopping all DRBD resources.
# pvs
PV VG Fmt Attr PSize PFree
/dev/md1 vg00 lvm2 a- 9.54G 3.91G
/dev/md3 vgdata lvm2 a- 27.94G 9.44G
/dev/md5 vgrh lvm2 a- 9.54G 3.91G
# pvscan
PV /dev/md5 VG vgrh lvm2 [9.54 GB / 3.91 GB free]
PV /dev/md3 VG vgdata lvm2 [27.94 GB / 9.44 GB free]
PV /dev/md1 VG vg00 lvm2 [9.54 GB / 3.91 GB free]
Total: 3 [47.02 GB] / in use: 3 [47.02 GB] / in no VG: 0 [0 ]
Yeah.
And back online...
# service drbd start
Starting DRBD resources: [ d(r0) s(r0) n(r0) ].
..........
***************************************************************
DRBD's startup script waits for the peer node(s) to appear.
- In case this node was already a degraded cluster before the
reboot the timeout is 120 seconds. [degr-wfc-timeout]
- If the peer was available before the reboot the timeout will
expire after 0 seconds. [wfc-timeout]
(These values are for resource 'r0'; 0 sec -> wait forever)
To abort waiting enter 'yes' [ -- ]:[ 10]:[ 11]:[ 12]:yes[
13]:
# pvscan
PV /dev/md5 VG vgrh lvm2 [9.54 GB / 3.91 GB free]
PV /dev/md3 VG vgdata lvm2 [27.94 GB / 9.44 GB free]
PV /dev/md1 VG vg00 lvm2 [9.54 GB / 3.91 GB free]
Total: 3 [47.02 GB] / in use: 3 [47.02 GB] / in no VG: 0 [0 ]
# drbdadm disconnect r0
# drbdadm attach r0
Failure: (124) Device is attached to a disk (use detach first)
Command 'drbdsetup /dev/drbd0 disk /dev/md4 /dev/md4 internal
--set-defaults --create-device --on-io-error=detach' terminated
with exit code 10
# drbdadm dstate r0
UpToDate/DUnknown
# pvscan
PV /dev/md5 VG vgrh lvm2 [9.54 GB / 3.91 GB free]
PV /dev/md3 VG vgdata lvm2 [27.94 GB / 9.44 GB free]
PV /dev/md1 VG vg00 lvm2 [9.54 GB / 3.91 GB free]
Total: 3 [47.02 GB] / in use: 3 [47.02 GB] / in no VG: 0 [0 ]
# drbdadm state r0
Secondary/Unknown
# drbdadm primary r0
# pvscan
PV /dev/md5 VG vgrh lvm2 [9.54 GB / 3.91 GB free]
PV /dev/md3 VG vgdata lvm2 [27.94 GB / 9.44 GB free]
PV /dev/md1 VG vg00 lvm2 [9.54 GB / 3.91 GB free]
PV /dev/drbd0 VG vgdrbd lvm2 [30.73 GB / 28.73 GB free]
Total: 4 [77.75 GB] / in use: 4 [77.75 GB] / in no VG: 0 [0 ]
# vgchange -a y vgdrbd
1 logical volume(s) in volume group "vgdrbd" now active
# lvs vgdrbd
LV VG Attr LSize Origin Snap% Move Log Copy%
lv_fiddle vgdrbd -wi-a- 2.00G
Great, seems to work now.
Such a tiny mistake after all prevented it and stole me hours.
Many thanks for your help!
Regards
Ralph
> -----Original Message-----
> From: Luciano Rocha [mailto:strange at nsk.no-ip.org]
> Sent: Wednesday, March 12, 2008 5:15 PM
> To: Grothe, Ralph
> Cc: drbd-user at lists.linbit.com
> Subject: Re: [DRBD-user] Why isn't DRBD recognized as valid LVM
PV?
>
>
> On Wed, Mar 12, 2008 at 04:27:55PM +0100,
> Ralph.Grothe at itdz-berlin.de wrote:
> > Hello DRBD Users,
> <snip>
> >
> > I first thought to have found the reason in a misconfigured
> > lvm.conf filter.
> > But then the default "match all", which I had commented out,
> > should have matched any drbd[0-9] anyway.
> >
> > # grep -B3 '^ *filter' /etc/lvm/lvm.conf
> > # By default we accept every block device:
> > #filter = [ "a/.*/" ]
> >
> > filter = [ "a|^/dev/sd[ab][1-9]?$|", "a|^/dev/md[0-9]$|",
> > "a|^/dev/drbd[0-9]$|", "r|.*|" ]
>
> Could you try a filter that finds only the drbd devices? And
> others, if
> you have other PVs, but not /dev/md4 (actually, just inserting
"r|md4"
> at the very beginning should be enough).
>
> Then, pvcreate /dev/drbd...; pvscan; and vgcreate.
>
> --
> lfr
> 0/0
>