> /dev/null fi x=0 while [ $x -lt $lunNumber ] do y=`expr $x % 2` if [ $y -eq 0 ] then echo "create logicalDrive array=$arrayNumber userLabel="$。利用 UNIX 腳本來管理 DS4000 磁盤陣列系統(tǒng)( 三 )。" />

日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

利用 UNIX 腳本來管理 DS4000 磁盤陣列系統(tǒng)( 三 )


if [ -f crtlun.cmd ]
then
rm crtlun.cmd
else
echo "OK" >> /dev/null
fi
x=0
while [ $x -lt $lunNumber ]
do
y=`expr $x % 2`
if [ $y -eq 0 ]
then
echo "create logicalDrive array=$arrayNumber userLabel="${lunName}_${x}"
capacity=$capacity owner=a;" >> crtlun.cmd
else
echo "create logicalDrive array=$arrayNumber userLabel="${lunName}_${x}"
capacity=$capacity owner=b;" >> crtlun.cmd
fi
x=`expr $x1`
done
# 創(chuàng)建 IBM storage manager 使用的腳本中創(chuàng)建 host group,host 和 host port 的部分,并保存為 crthost.cmd 。
if [ -f crthost.cmd ]
then
rm crthost.cmd
else
echo "OK" >> /dev/null
fi
echo "create hostGroup userLabel="$hostGroupName";" >>crthost.cmd
echo "create host userLabel = "$hostName" hostGroup = "$hostGroupName";" >>crthost.cmd
echo "create hostPort identifIEr = "$port0" userLabel = "${hostName}_hba0"
host = "$hostName" hostType = $hostType;" >>crthost.cmd
echo "create hostPort identifier = "$port1" userLabel = "${hostName}_hba1"
host = "$hostName" hostType = $hostType;" >>crthost.cmd
# 創(chuàng)建 IBM storage manager 使用的腳本中映射 Lun 的部分,并保存為 maplun.cmd 。
if [ -f maplun.cmd ]
then
rm maplun.cmd
else
echo "OK" >> /dev/null
fi
x=0
while [ $x -lt $lunNumber ]
do
echo "set logicalDrive ["${lunName}_${x}"] logicalUnitNumber=$x
hostGroup="$hostGroupName";" >>maplun.cmd
x=`expr $x1`
done
# 創(chuàng)建 IBM storage manager 使用的腳本中刪除 Lun 映射的部分,并保存為 delmap.cmd 。
if [ -f delmap.cmd ]
then
rm delmap.cmd
else
echo "OK" >> /dev/null
fi
x=0
while [ $x -lt $lunNumber ]
do
echo "remove logicalDrive ["${lunName}_${x}"] lunMapping
hostGroup="$hostGroupName";" >>delmap.cmd
x=`expr $x1`
done
# 創(chuàng)建 IBM storage manager 使用的腳本中刪除 Lun 的部分,并保存為 dellun.cmd 。
if [ -f dellun.cmd ]
then
rm dellun.cmd
else
echo "OK" >> /dev/null
fi
x=0
while [ $x -lt $lunNumber ]
do
echo "delete logicalDrive ["${lunName}_${x}"];" >>dellun.cmd
x=`expr $x1`
done
# 創(chuàng)建 IBM storage manager 使用的腳本中刪除 host port 的部分,并保存為 delhost.cmd 。
if [ -f delhost.cmd ]
then
rm delhost.cmd
else
echo "OK" >> /dev/null
fi
echo "delete hostPort ["$port0"];" >>delhost.cmd
echo "delete hostPort ["$port1"];" >>delhost.cmd
echo "delete host ["$hostName"];" >>delhost.cmd
echo "delete hostGroup ["$hostGroupName"];" >>delhost.cmd
# 創(chuàng)建 IBM storage manager 使用的 2 個(gè)功能集合腳本,并分別保存為 setup.cmd 和 destroy.cmd 。
if [ -f setup.cmd ]
then
rm setup.cmd
else
echo "OK" >> /dev/null
fi
cat crtlun.cmd >>setup.cmd
cat crthost.cmd >>setup.cmd
cat maplun.cmd >>setup.cmd
if [ -f destroy.cmd ]
then
rm destroy.cmd
else
echo "OK" >> /dev/null
fi
cat delmap.cmd >>destroy.cmd
cat delhost.cmd >>destroy.cmd
cat dellun.cmd >>destroy.cmd
總結(jié)
從上面可以看出,整個(gè)腳本使用的技術(shù)不是很復(fù)雜,主要是利用 SED 編輯器通過模式匹配從配置文件中提取出所需要的部分,然后從新組織起來,形成一定的符合 IBM storage manager 使用的格式 。其中還利用了一些簡單的正則表達(dá)式,這在很多系統(tǒng)管理的腳本中很常見,可見功能的實(shí)效性 。當(dāng)然,作為 SED 這個(gè)強(qiáng)大的編輯器,功能遠(yuǎn)遠(yuǎn)不止這些,這里也是希望能通過我的一些實(shí)踐和大家分享一些使用腳本的心得 。最終的目的還是提高工作的效率,哪一個(gè)管理員或是相關(guān)的工程師也不希望總是做一些沒有技術(shù)含量而且重復(fù)性很大的工作,所以腳本以及 SED 編輯器,Awk 等工具都是各位很好的幫手 。下面看一下所生成的兩個(gè)功能集合腳本的內(nèi)容,體驗(yàn)一下成果的滋味 。

推薦閱讀