source: gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsrecovernode.scr @ 16

Last change on this file since 16 was 16, checked in by rock, 16 years ago
  • Property svn:executable set to *
File size: 1.4 KB
Line 
1#!/bin/ksh
2# @(#)66  1.8.1.3  src/avs/fs/mmfs/samples/nfscluster/nfsrecovernode.scr, mmfs, avs_rgpfs24, rgpfs24s009a 12/18/06 10:34:58
3#
4
5if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
6    echo "$0: Can't find NFS functions in /var/mmfs/etc"
7    exit 0
8fi
9. /var/mmfs/etc/nfsfuncs
10
11# Main
12
13[ -f $NODELIST ] || die "$0: NFS cluster was not defined (no $NODELIST file)"
14
15# Usage: nfsrecovernode.scr phase node [failed_nodes]
16phase=$1
17me=$2
18shift 2
19failed_nodes=$*
20
21if [ "$phase" == "1" ]; then
22    debugmsg "Start node recovery for $failed_nodes"
23
24    for fip in $failed_nodes; do
25  takeover_node=$(selectNode $fip)
26
27  [ -z "$takeover_node" ] && die "Error: no takeover node"
28
29  if [ "$me" == "$takeover_node" ]; then
30      debugmsg "Do recovery for node $fip"
31      IPtakeover $me $fip
32      debuglog ls -A $SHARED_RECOVERY/$fip
33            # recover nodes that were recovered by the failed node
34      for node in $(ls -A $SHARED_RECOVERY/$fip 2> /dev/null); do
35    debugmsg "Takeover node is $takeover_node. Do 2nd recovery for node $node"
36    IPtakeover $me $node
37    _unlink ${SHARED_RECOVERY}/$fip/$node
38      done
39  else
40      debuglog touch ${SHARED_RECOVERY}/$takeover_node/$fip
41      for node in $(ls -A $SHARED_RECOVERY/$fip 2> /dev/null); do
42            debuglog cp ${SHARED_RECOVERY}/$node/* ${SHARED_RECOVERY}/$takeover_node 2> /dev/null
43      done
44  fi
45    done
46
47    checkDynamicGrace
48    [ $? -eq 0 ] && startReclaim $me
49fi
Note: See TracBrowser for help on using the repository browser.