82 lines
1.7 KiB
Bash
82 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# define vsan
|
|
VSAN=2
|
|
|
|
# file with aliasnames and pwwns
|
|
# servername_port pwwn
|
|
ALIASPWWN=./fcalias_pwwn.txt
|
|
|
|
# files with zone definitions
|
|
# servername-storagename
|
|
ZONES=./zones.txt
|
|
|
|
# create unique zoneset name
|
|
ZONESET="ZONES_"`date +%Y%m%d`"_"`date +%H%M`
|
|
|
|
# convert alias definitions to all lower case
|
|
cat $ALIASPWWN | tr [A-Z] [a-z] > /tmp/aliaspwwn
|
|
cat /tmp/aliaspwwn > $ALIASPWWN
|
|
|
|
# convert zone definitions to all lower case
|
|
cat $ZONES | tr [A-Z] [a-z] > /tmp/zones
|
|
cat /tmp/zones > $ZONES
|
|
|
|
echo conf t
|
|
echo !~~~~~~~~~~ Aliase ~~~~~~~~~~
|
|
for LINE in `cat $ZONES | tr [A-Z] [a-z]`
|
|
do
|
|
SERVER=`echo $LINE | cut -d"-" -f 1`
|
|
STORAGE=`echo $LINE | cut -d"-" -f 2`
|
|
|
|
echo $SERVER >> /tmp/alias
|
|
echo $STORAGE >> /tmp/alias
|
|
done
|
|
cat /tmp/alias | sort -u > /tmp/aliases
|
|
rm /tmp/alias
|
|
|
|
for LINE in `cat /tmp/aliases`
|
|
do
|
|
HOST=`cat $ALIASPWWN | grep $LINE | awk '{print $1}' | sort -u`
|
|
for I in `echo $HOST`
|
|
do
|
|
echo "fcalias name $I vsan $VSAN"
|
|
PWWN=`cat $ALIASPWWN | grep $I | awk '{print $2}'`
|
|
echo " member pwwn $PWWN"
|
|
echo ""
|
|
done
|
|
done
|
|
|
|
echo !~~~~~~~~~~ 1:1 Zonen ~~~~~~~~~~
|
|
for LINE in `cat $ZONES`
|
|
do
|
|
SERVER=`echo $LINE | cut -d"-" -f 1`
|
|
STORAGE=`echo $LINE | cut -d"-" -f 2`
|
|
|
|
SRV=`cat $ALIASPWWN | grep $SERVER | awk '{print $1}' | sort -u`
|
|
STO=`cat $ALIASPWWN | grep $STORAGE | awk '{print $1}' | sort -u`
|
|
|
|
for I in `echo $SRV`
|
|
do
|
|
for J in `echo $STO`
|
|
do
|
|
ZN=`echo zone name "$I"__"$J" vsan $VSAN`
|
|
AZN="$AZN $I"__"$J"
|
|
echo $ZN
|
|
echo " member fcalias $I"
|
|
echo " member fcalias $J"
|
|
echo ""
|
|
done
|
|
done
|
|
|
|
done
|
|
|
|
echo !~~~~~~~~~~ Zoneset ~~~~~~~~~~
|
|
echo "zoneset name $ZONESET vsan $VSAN"
|
|
for I in `echo $AZN`
|
|
do
|
|
echo " member $I"
|
|
done
|
|
echo "!zoneset activate name $ZONESET vsan $VSAN"
|
|
echo "copy running startup"
|