+++ 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 email@example.com 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 firstname.lastname@example.org 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.
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.