<div><br></div><div>I have a two-node active/passive cluster, with DRBD controlled by corosync/pacemaker. </div><div>All storage is based on LVM.</div><div><br></div><div><br></div><div>------------------------------------------------------------------------------------</div>
<div>a) How do I know, which node of the cluster is currently active? </div><div>   How can I check if a node is currently in use by the iSCSI-target daemon?</div><div><br></div><div>   I can try to deactivate a volume group using:</div>
<div><br></div><div>[root@node1 ~]# vgchange -an data</div><div>  Can&#39;t deactivate volume group &quot;data&quot; with 3 open logical volume(s)<span class="Apple-tab-span" style="white-space:pre">                </span></div><div><br>
</div><div>In which case, if I get a message like the above then I know that </div><div>node1 is the active node, but is there a better (non-intrusive)</div><div>way to check?</div><div><br></div><div>A better option seems to be &#39;pvs -v&#39;. If the node is active then it shows the volume names:</div>
<div>[root@node1 ~]# pvs -v</div><div>    Scanning for physical volume names</div><div>  PV         VG      Fmt  Attr PSize   PFree DevSize PV UUID</div><div>  /dev/drbd1 data    lvm2 a-   109.99g    0  110.00g c40m9K-tNk8-vTVz-tKix-UGyu-gYXa-gnKYoJ</div>
<div>  /dev/drbd2 tempdb  lvm2 a-    58.00g    0   58.00g 4CTq7I-yxAy-TZbY-TFxa-3alW-f97X-UDlGNP</div><div>  /dev/drbd3 distrib lvm2 a-    99.99g    0  100.00g l0DqWG-dR7s-XD2M-3Oek-bAft-d981-UuLReC</div><div><br></div><div>
where on the inactive node it gives errors:</div><div>[root@node2 ~]# pvs -v</div><div>    Scanning for physical volume names</div><div>  /dev/drbd0: open failed: Wrong medium type</div><div>  /dev/drbd1: open failed: Wrong medium type</div>
<div><br></div><div>Any further ideas/comments/suggestions?</div><div><br></div><div>------------------------------------------------------------------------------------</div><div><br></div><div>b) how can I gracefully failover to the other node ? Up to now, the only way I</div>
<div>   know is forcing the active node to reboot (by entering two subsequent &#39;reboot&#39;</div><div>   commands). This however breaks the DRBD synchronization, and I need to </div><div>   use a fix-split-brain procedure to bring back the DRBD in sync.</div>
<div><br></div><div>   On the other hand, if I try to stop the corosync service on the active node,</div><div>   the command takes forever! I understand that the suggested procedure should be</div><div>   to disconnect all clients from the active node and then stop services, </div>
<div>   is it a better approach to shut down the public network interface before</div><div>   stopping the corosync service (in order to forcibly close client connections)?</div><div><br></div><div>Thanks</div><div><br></div>
<div><br></div><div><br></div>