<div dir="ltr">I find a solution : <div>1. drbdadm sh-ll-dev drbd0  find drbd0&#39;s backend lv</div><div>2. map lv to dm-x ,   ls /sys/block/dm-x/holders    to find the frontend lv</div><div>3. dmsetup remove -f $frontlv</div>
<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/7 Digimer <span dir="ltr">&lt;<a href="mailto:lists@alteeve.ca" target="_blank">lists@alteeve.ca</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On 06/10/13 23:26, Mia Lueng wrote:<br>
&gt; I have built a drbd cluster. The storage setting is like the following:<br>
&gt;<br>
&gt; backend LV---&gt;drbd0---&gt;pv--&gt;vg--&gt;userlv<br>
&gt;<br>
&gt; That means I create a drbd device on a LV, and create a volume group on<br>
&gt; drbd device again.<br>
&gt;<br>
&gt; In /etc/lvm/lvm.conf, I add a filter so that pvscan do not probe for the<br>
&gt; backend LV.  This works fine on normal suitation.<br>
&gt;<br>
&gt; Now A is primary, and B is secondary.    Break the link of A&#39;s<br>
&gt; storage(fc san), HA cluster will detect the error and failover the<br>
&gt; resource from A to B. But the drbd resource  and filesystem can not be<br>
&gt; stopped on A, so A will be reboot (due to stop fail handle) and B will<br>
&gt; takeover all the resource. When A rejoin the cluster, the drbd resource<br>
&gt; can not be start as secondary automatically: the backend LV can not be<br>
&gt; attached to the drbd resource.<br>
&gt;<br>
&gt; vcs2:~ # lvs<br>
&gt;   LV       VG     Attr   LSize    Origin Snap%  Move Log Copy%  Convert<br>
&gt;   drbd0_lv drbdvg -wi-ao  800.00M<br>
&gt;   oralv    oravg  -wi-a- 1000.00M<br>
&gt; vcs2:~ # modprobe drbd<br>
&gt; vcs2:~ # drbdadm up drbd0<br>
&gt; 0: Failure: (104) Can not open backing device.<br>
&gt; Command &#39;drbdsetup 0 disk /dev/drbdvg/drbd0_lv /dev/drbdvg/drbd0_lv<br>
&gt; internal --set-defaults --create-device --on-io-error=pass_on<br>
&gt; --no-disk-barrier --no-disk-flushes&#39; terminated with exit code 10<br>
&gt; vcs2:~ # fuser -m /dev/drbdvg/drbd0_lv<br>
&gt; vcs2:~ # lvdisplay /dev/drbdvg/drbd0_lv<br>
&gt;   --- Logical volume ---<br>
&gt;   LV Name                /dev/drbdvg/drbd0_lv<br>
&gt;   VG Name                drbdvg<br>
&gt;   LV UUID                Np92C2-ttuq-yM16-mDf2-5TLE-rn5g-rWrtVq<br>
&gt;   LV Write Access        read/write<br>
&gt;   LV Status              available<br>
&gt;   # open                 1<br>
&gt;   LV Size                800.00 MB<br>
&gt;   Current LE             200<br>
&gt;   Segments               1<br>
&gt;   Allocation             inherit<br>
&gt;   Read ahead sectors     auto<br>
&gt;   - currently set to     1024<br>
&gt;   Block device           252:6<br>
&gt;<br>
&gt;<br>
&gt; My solution is:<br>
&gt; 1.restore the default configure of /etc/lvm/lvm.conf and run<br>
&gt; pvscan/vgchange -ay to active the lv on drbd0(now on the backend lv) and<br>
&gt; deactive it again.<br>
&gt; 2. change the lvm.conf to cluster config and run pvscan/vgchange -ay again<br>
&gt; 3. start drbd0 , attach the backend lv<br>
&gt; 4. run drbdadm verify drbd0 on primary node.<br>
&gt;<br>
&gt; It does work.<br>
&gt;<br>
&gt; Have anyone a better solution? Thanks.<br>
<br>
</div></div>I played with this same configuration and decided that the headache of<br>
LV under and over DRBD was not justified. I have instead used partition<br>
-&gt; drbd -&gt; lvm and life has been very much easier.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Digimer<br>
Papers and Projects: <a href="https://alteeve.ca/w/" target="_blank">https://alteeve.ca/w/</a><br>
What if the cure for cancer is trapped in the mind of a person without<br>
access to education?<br>
</font></span></blockquote></div><br></div>