Bug 616138

Summary: Ability to add new LUNs to registration for a node w/o needing to restart cluster
Product: Red Hat Enterprise Linux 5 Reporter: Perry Myers <pmyers>
Component: cmanAssignee: Ryan O'Hara <rohara>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: medium Docs Contact:
Priority: low    
Version: 5.7CC: cluster-maint, djansa, edamato
Target Milestone: rcKeywords: Documentation, TestOnly
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: cman-2.0.115-47.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 616114 Environment:
Last Closed: 2011-01-13 22:35:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 616114    
Bug Blocks:    

Description Perry Myers 2010-07-19 18:07:46 UTC
+++ This bug was initially created as a clone of Bug #616114 +++

Description of problem:
Presently LUN registration/reservation is done by either the unfencing functionality of fence-scsi during node startup (RHEL6) or the scsi-reserve init script during node startup (in RHEL5)

Because these scripts are only run at node startup, the set of LUNs that can be fenced via fence_scsi are fixed.

Need to be able to dynamically add new storage (LUNs) to a cluster w/o needing to restart the entire cluster or reboot nodes.

One possibility here is to restrict the use case to clusters where clvm is used to detect the available LUNs for fencing.  This way there is no static list of block devices that need to be edited in cluster.conf.

So the procedure for adding a new LUN to a running cluster node could be:

1. Add the LUN to all nodes in the cluster from storage management UI
2. Create a new VG and enable the cluster bit so that the VG is controlled by clvm
3. On each node in the cluster, run a command that registers that new LUN with the key for the specific host.  This would need to be repeated on each node in the cluster
4. Step 2 should be done quickly enough across all hosts so that the chances of fencing occurring while doing this storage addition are minimized

Once all nodes have the new LUN and have registered on that LUN, a fencing operation should automatically pick that LUN and issue the preempt and abort command on it.

--- Additional comment from rohara on 2010-07-19 13:54:00 EDT ---

Just run 'scsi_reserve start'. You can run this command at any time (assuming the cluster is up). It will get a new list of devices and issue a registration and reservation (if needed) command to all devices, including the new one.

--- Additional comment from pmyers on 2010-07-19 14:06:34 EDT ---

Ah, ok.  And you just mentioned to me on irc that this can also be done w/ fence_node -U to do unfencing operation.

I'm going to leave this bz open though both for doc impact and to make sure we get testing of this specific use case.

Comment 2 errata-xmlrpc 2011-01-13 22:35:32 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0036.html