Files
scripts-conlxsyslog03/zone_konfig/create_zones_vsan3.sh
conetadm 5718e70f15 init
2024-11-14 21:11:06 +01:00

86 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# define vsan
VSAN=3
# 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"
rm /tmp/zones
rm /tmp/aliases
rm /tmp/aliaspwwn