SUMMARY: cfsmgr relocation error, /usr relocation, what is ( reason 22 ) ?



Hello list ..
Here is a finding/SUMMARY , for a question not asked to the list, but maybe to the interest of other users :
:-)

In short, collect has to be shut down, while relocating, with a "# /sbin/init.d/collect stop" on both nodes

I had a problem relocation the /usr in a 5.1B cluster.
This is a LSM mirrored rootvol, varvol and usrvol.

PROBLEM:
Commands issued:
node1:/> cfsmgr -r -a SERVER=node1 /var # this worked
node1:/> cfsmgr -v -r -a SERVER=node2 /usr # did not work

Server Relocation Failed
Failure Reason: Invalid Relocation
node1:/> tail /var/adm/messages


Jan 13 15:12:42 node1 vmunix: Recovering filesystem mounted at / to this node (member id 1)
Jan 13 15:12:42 node1 vmunix: Recovery to this node (member id 1) complete for filesystem mounted at /
Jan 13 15:14:51 node1 vmunix: Recovering filesystem mounted at /var to this node (member id 1)
Jan 13 15:14:52 node1 vmunix: Recovery to this node (member id 1) complete for filesystem mounted at /var
Jan 13 15:15:07 node1 vmunix: CFS: Relocation request for /usr rejected by : node 1 (reason 22)
Jan 13 15:15:38 node1 vmunix: CFS: Relocation request for /usr rejected by : node 1 (reason 22)

node1:/> cfsmgr -cev /usr

Domain or filesystem name = /usr
Server Name = node1
Server Status : OK

SOLUTION:
from http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_ACRO_DUX/ARHH1ETE.PDF

2.6.2 CFS Relocation Failures Involving Applications That Wire
Memory
Applications that use the plock( ) or mlock( ) system call to lock pages of
physical memory can cause the cfsmgr command to fail when performing
a manual relocation.
If the application uses plock( ), the domain or file system that contains
the application executable cannot relocate. In the case of mlock( ), if the
locked pages are associated with files, the file systems where those files
reside cannot relocate.
In the event of failure, the cfsmgr command returns the following message:
Server Relocation Failed
Failure Reason: Invalid Relocation
To allow the relocation to complete for the domain or file system on which
the executables reside, kill the processes that are running the executables
using the plock( ) and mlock( ) system calls.

Find out whether collect is running. If it is, kill collect and restart it with the -l (do not lock pages
into memory) option.



Relevant Pages

  • Re: how do you start learning assembly language
    ... relocation information (/FIXED in Windows, ... simpler than the fixups in an object file. ... Most of the time it's better to consider the executable file format ... The OS has to be able to load the executables, of course, but only the ...
    (alt.lang.asm)
  • Re: Preliminary ELF prebinding patches available.
    ... > require relocation before the are usable. ... How does prebinding and lazy binding interact? ... Lazy binding was introduced to solve the performance issue ... executables end up using the same cache file name). ...
    (freebsd-current)
  • Re: RTP file without symbols, smaller files
    ... relocation sections and symbol table (which imposes to keep the string ... are you using static RTP executables or dynamic RTP ... Executable and Linkable Format, because ELF is both a linkable ...
    (comp.os.vxworks)
  • Re: Delphi to take advantage of multiple threads within the compiler>
    ... This file must contain relocation information; if Windows can't load the file at its preferred base address, then the embedded memory addresses are incorrect and they must be fixed-up by the Windows' loader. ... relocation info from executables and makes them much smaller. ...
    (borland.public.delphi.non-technical)