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

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

為什么使用 Unix 腳本來管理 DS4000
作為一個(gè)測試工程師,在我的日常工作中我經(jīng)常要花費(fèi)大量的時(shí)間去完成一些很簡單但是很耗時(shí)的工作 。例如,一次我想在 DS4000 上創(chuàng)建 200 個(gè)磁盤 。但是由于 DS4000 沒有能夠批量創(chuàng)建磁盤的功能,我花費(fèi)了 4 個(gè)小時(shí)一個(gè)一個(gè)地去創(chuàng)建 。這次的經(jīng)歷使我有一種想法去創(chuàng)建一個(gè)能夠可以批量地創(chuàng)建磁盤的工具 。經(jīng)過我一段時(shí)間的研究,我發(fā)現(xiàn) IBM Storage Manager 支持 CLI(Command Line Interface)功能,這就意味著我可以利用 UNIX 系統(tǒng)的腳本功能來創(chuàng)建一個(gè)可以被 IBM Storage Manager 使用的腳本 。通過在 IBM Storage Manager 運(yùn)行這個(gè)被創(chuàng)建的腳本,可以在無需人機(jī)交互的情況下批量的創(chuàng)建磁盤 。但是作者并不保證本方法在任何情況下總是可以成功,請讀者在驗(yàn)證本文的例子時(shí)注意做好相應(yīng)的備份,最好在實(shí)驗(yàn)環(huán)境上進(jìn)行操作 。
例子腳本介紹
那么如何創(chuàng)建 IBM Storage Manager 可使用的腳本呢?IBM Storage Manager 有它自己的腳本格式 。只有腳本的變量值改變而格式并不改變 。所以,UNIX 腳本需要能夠讓用戶能夠定制的輸入自己的所對應(yīng)的值,如需要?jiǎng)?chuàng)建磁盤的數(shù)量,HBA 卡的 WWPNs 值,來生成 IBM Storage Manager 能夠使用的腳本文件 ??梢栽O(shè)計(jì)一個(gè)配置文件來讓用戶輸入自己對應(yīng)的變量值 。下面就是個(gè)配置文件的例子:LunNumber:30 #30 個(gè) LUNs
ArrayNumber:1 # 這些 LUNs 創(chuàng)建在 array 1 上
LunName:sunx325b # 這些 LUNs 的名字將為 sunx325b_0, sunx325b_1 ...
Capacity:0.5GB # 每個(gè) LUNs 的容量是 0.5GB
HostGroupName:sunx325b_group # 這個(gè)主機(jī)組的名字為 sunx325b_group
HostName:sunx325b # 這個(gè)主機(jī)名為 sunx325b
Port0:210000e08b0e934d # 第一個(gè) HBA 卡的 wwpn 值
Port1:210000e08b0e6e50 # 第二個(gè) HBA 卡的 wwpn 值
HostType:8 # 主機(jī)類型
完成了對配置文件的定義以后,Unix 腳本可以把配置文件中用戶定義的值解析出來,并且組織成為 IBM Storage Manager 可以使用的腳本 。一個(gè)比較好的解析配置文件的工具是 SED 編輯器,這是一個(gè)流式的編輯器 。SED 編輯器將需要處理的文本作為輸入,經(jīng)過一系列操作以后,輸出經(jīng)過修改的文本 。SED 編輯器的典型應(yīng)用就是通過模式的匹配來提取文件中的一部分內(nèi)容或者是把文件中的多個(gè)相同的字符串進(jìn)行替換 。UNIX 腳本可以通過使用 SED 編輯器從配置文件中得到需要的數(shù)值,并把這些值添加到能夠被 IBM Storage Manager 使用的腳本中去 。
例如,下面展示了如何使用 UNIX 腳本從配置文件中獲取磁盤數(shù)量這個(gè)值 。這個(gè)腳本從配置文件獲取 LunNumber 這個(gè)值,然后把這個(gè)值賦給腳本中的對應(yīng)變量 LunNumber 。sed -n '/LunNumber:/'p $ConfigFile >tmp
lunNumber=`sed 's/LunNumber://' tmp`
例子腳本的詳細(xì)說明
下面的例子是展示如何使用 SED 編輯器生成一個(gè) IBM Storage Manager 可以使用的腳本 。這個(gè)例子中,腳本從配置文件中獲得了 ArrayNumber,LunName 和 Capacity 的值,用于生成 IBM Storage Manager 使用的生成磁盤的命令,然后把這個(gè)命令添加到 IBM Storage Manager 的腳本(crtlun.cmd)文件 。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
這個(gè) Unix 工具的內(nèi)容是不是很簡單?但是它卻幫助了我把原來需要幾個(gè)小時(shí)的工作減少為只需要幾分鐘就可以完成 。下面讓我對我的 UNIX 腳本文件的內(nèi)容做個(gè)比較詳細(xì)的介紹 。這個(gè)名字為 ds4kscript.sh 的腳本文件可以運(yùn)行在 UNIX(AIX,Solaris,Linux 等)上,用于產(chǎn)生一個(gè)可以在 IBM Storage Manager 上運(yùn)行的腳本 。它可以用于在 DS4000 系列上創(chuàng)建和刪除 Lun、host group、host、host port,映射 Lun 等功能 。

推薦閱讀