Statistiques
| Révision :

root / bin / get-conf-iscsi-volume @ 64

Historique | Voir | Annoter | Télécharger (2,82 ko)

1 1 kreverch
#!/bin/bash
2 39 ltaulell
# $Id$
3 51 ltaulell
# Copyright (C) 2013 Kevin Reverchon, Loïs Taulelle
4 51 ltaulell
# This file/program is part of gZFS free software
5 51 ltaulell
# See COPYING file for details
6 51 ltaulell
#
7 39 ltaulell
8 1 kreverch
if [ "$1" == "" ]
9 1 kreverch
then
10 1 kreverch
   echo "Syntax : $0 path_dev"1>&2
11 1 kreverch
   exit 1;
12 1 kreverch
fi
13 1 kreverch
TID_ISCSI=$(cat /proc/net/iet/volume |grep -B1 "$1$" |grep "tid" |awk '{split($0,array,"tid:")} END {print array[2]}'|cut -d " " -f1)
14 1 kreverch
if [ "$TID_ISCSI" == "" ]
15 1 kreverch
then
16 1 kreverch
  echo "Device not found $TID_ISCSI"
17 1 kreverch
  exit 0
18 1 kreverch
fi
19 1 kreverch
COPY_LINE=1
20 1 kreverch
TARGET=$(cat /proc/net/iet/session |grep tid:$TID_ISCSI |awk '{split($0,array,"name:")} END {print array[2]}')
21 1 kreverch
LUN=$(cat /proc/net/iet/volume |grep "tid:$TID_ISCSI" -A1  | awk '{split($0,array,"lun:")} END {print array[2]}'|cut -d " " -f1)
22 1 kreverch
TYPE=$(cat /proc/net/iet/volume |grep "tid:$TID_ISCSI" -A1  | awk '{split($0,array,"iotype:")} END {print array[2]}'|cut -d " " -f1)
23 1 kreverch
DEV_PATH=$(cat /proc/net/iet/volume |grep "tid:$TID_ISCSI" -A1  | awk '{split($0,array,"path:")} END {print array[2]}'|cut -d " " -f1)
24 1 kreverch
25 1 kreverch
echo "tid $TID_ISCSI"
26 1 kreverch
echo "target $TARGET"
27 1 kreverch
echo "lun $LUN"
28 1 kreverch
echo "exportType $TYPE"
29 1 kreverch
echo "devPath $DEV_PATH"
30 1 kreverch
COPY_LINE=0
31 1 kreverch
while read line
32 1 kreverch
do
33 1 kreverch
  SEARCH_TARGET=$(echo $line |grep -i "^Target")
34 1 kreverch
  if [ "$SEARCH_TARGET" != "" ]
35 1 kreverch
  then
36 1 kreverch
     COPY_LINE=0
37 1 kreverch
  fi
38 1 kreverch
  SEARCH_MYTARGET=$(echo $line |grep -i "^Target $TARGET")
39 1 kreverch
  if [ "$SEARCH_MYTARGET" != "" ]
40 1 kreverch
  then
41 1 kreverch
     COPY_LINE=1
42 1 kreverch
  fi
43 1 kreverch
  if [ $COPY_LINE -eq 1 ]
44 1 kreverch
  then
45 1 kreverch
     SEARCH_USER=$(echo $line |grep -i "^IncomingUser")
46 1 kreverch
     if [ "$SEARCH_USER" != "" ]
47 1 kreverch
     then
48 1 kreverch
        USERCHAP=$(echo $SEARCH_USER|cut -d " " -f2)
49 1 kreverch
        PASSCHAP=$(echo $SEARCH_USER|cut -d " " -f3)
50 1 kreverch
        if [ "$USERCHAP" != "IncomingUser" ]
51 1 kreverch
        then
52 1 kreverch
           echo "login $USERCHAP"
53 1 kreverch
           echo "passwd $PASSCHAP"
54 1 kreverch
        fi
55 1 kreverch
     fi
56 1 kreverch
   fi
57 1 kreverch
58 1 kreverch
done < "/etc/iet/ietd.conf"
59 1 kreverch
60 1 kreverch
61 1 kreverch
COPY_LINE=0
62 1 kreverch
while read line
63 1 kreverch
do
64 1 kreverch
  SEARCH_TID=$(echo $line |grep -i "^tid")
65 1 kreverch
  if [ "$SEARCH_TID" != "" ]
66 1 kreverch
  then
67 1 kreverch
     COPY_LINE=0
68 1 kreverch
  fi
69 1 kreverch
  SEARCH_MYTID=$(echo $line |grep -i "^tid:$TID_ISCSI ")
70 1 kreverch
  if [ "$SEARCH_MYTID" != "" ]
71 1 kreverch
  then
72 1 kreverch
     COPY_LINE=1
73 1 kreverch
  fi
74 1 kreverch
  if [ $COPY_LINE -eq 1 ]
75 1 kreverch
  then
76 1 kreverch
     SEARCH_SID=$(echo $line |grep -i "sid:"| awk '{split($0,array,"sid:")} END {print array[2]}'|cut -d " " -f1)
77 1 kreverch
     if [ "$SEARCH_SID" != "" ]
78 1 kreverch
     then
79 1 kreverch
        SESSION_IP=$(cat /proc/net/iet/session |grep "sid:$SEARCH_SID" -A1  | awk '{split($0,array,"ip:")} END {print array[2]}'|cut -d " " -f1)
80 1 kreverch
        if [ "$SESSION_IP" != "" ]
81 1 kreverch
        then
82 1 kreverch
           echo "sid $SEARCH_SID"
83 1 kreverch
           echo "sessionIP $SESSION_IP"
84 1 kreverch
        fi
85 1 kreverch
     fi
86 1 kreverch
   fi
87 1 kreverch
88 1 kreverch
done < "/proc/net/iet/session"
89 1 kreverch
90 13 kreverch
allowIP=""
91 13 kreverch
while read line
92 13 kreverch
do
93 13 kreverch
  SEARCH_MYTARGET=$(echo $line |grep -i "$TARGET")
94 13 kreverch
  if [ "$SEARCH_MYTARGET" != "" ]
95 13 kreverch
  then
96 13 kreverch
     if [ "$allowIP" == "" ]
97 13 kreverch
     then
98 13 kreverch
        allowIP=$(echo $SEARCH_MYTARGET |cut -d " " -f2)
99 13 kreverch
     else
100 13 kreverch
        allowIP=$allowIP";"$(echo $SEARCH_MYTARGET |cut -d " " -f2)
101 13 kreverch
     fi
102 13 kreverch
  fi
103 13 kreverch
done < "/etc/iet/initiators.allow"
104 13 kreverch
echo "allowIP $allowIP"