在AIX環境下如何創建ovpass
“When communicating with SCSI-controlled robotic peripherals on an IBM RS6000 system, Media Manager utilizes a SCSI passthru driver called ovpass. ovpass is not required if the only device being used is the IBM 3590 B11 tape stacker.”
上面這段話引自《NetBackup Media Manager Device Configuration Guide for UNIX, Windows, and Linux》。正確創建ovpass設備,對NBU for AIX的實施來說是非常重要的。
NBU6.0是使用下面這個命令來創建的ovpass設備,和以前的NBU3.4,4.5,5.X沒有任何差別。大家肯定都用過這個命令,其實從命令上看比較簡單,但是如何正確的得到命令中所需的參數就比較麻煩了。
mkdev -c media_changer-s scsi -t ovpass -p controller -w id,lun
mkdev -c media_changer -s fcp -t ovpass -p controller -w scsi_id,lun
手冊中對參數的解釋如下:
controller is the logical identifier of the drive’s SCSI adaptor, such as scsi0, scsi1 or vscsi1.
id is the SCSI ID of the robotic connection.
scsi_id is the fibre channel identifier for the N_Port address (D_ID) of the robotic connection.
lun is the logical unit number of the robotic connection.
如果用戶使用的是SCSI環境,問題不大都知道如何查id,lun。如果使用的光纖環境的話,scsi_id和lun就比SCSI環境難確定。在這篇文章中我們主要討論在光纖環境下如何生成ovpass。
從機械手的物理連接上說有兩種方法,一種是機械手和磁帶機串在一起連到SNC上面,一種是機械手直接聯到SAN的交換機上面。針對這兩種不同的物理連接方法,我們可以采用如下的方法創建ovpass(類似IBM 3590 B11的帶庫不在這次的討論范圍)。
1.IBM的磁帶庫 (類似IBM 3590 B11的帶庫除外)
這種情況最簡單,只要系統安裝了Atape,系統就會自動生成機械手的設備文件smc0。根據smc0的設置就可以創建出ovpass。大家注意配置NBU的時候要用ovpass,不要使用smc。所以再創建ovpass前要刪掉smc。操作過程忽略。
2.機械手和磁帶機串在一起連到SNC上面。
在這種情況中難點是如何得到機械手正確的lun,對于機械手的scsi_id來說它和磁帶機的相同,只要在系統能查到磁帶機的scsi_id就行了。
a)通過磁帶機得到scsi_id:
#odmget -q "name=rmt0" CuAt
CuAt:
name = "rmt0"
attribute = "scsi_id" ----》 可以看出scsi_id是:”0x21400”
value = "0x21400"
type = "R"
generic = "D"
rep = "s"
nls_index = 6
…………… < 省略若干信息 >
#
b)確定lun:
如果用戶的環境是機械手和驅動器串到一起后再連接到SNC上面,我們可以通過SNC的管理軟件就可以知道機械手的lun。強烈推薦使用這種方法。
如果沒有SNC的管理界面,再磁帶庫的液晶面板上面可以查到機械手和驅動器的scsi id。經驗之談是:最好將機械手調到驅動器前,而且機械手和驅動器的scsi最好是連續的。
SNC一般都會占用lun0,其他設備從1開始排。我們只要將其他驅動器的lun找到,如果SNC和驅動器的lun是連續的,那么機械手的就是最大的lun+1。如果SNC和驅動器的lun不是連續的,缺的那個就是機械手的lun。(缺省情況SNC是自動映射lun的,如果用戶修改了配置,就必須使用SNC的工具去查機械手的lun,否則很難猜)。
我們可以用這樣的方法確定驅動器的lun。
#odmget -q "name=rmt0" CuAt
…………… < 省略若干信息 >
CuAt:
name = "rmt0"
attribute = "lun_id" ----》確定磁帶機的lun為2
value = "0x2000000000000"
type = "R"
generic = "D"
rep = "s"
nls_index = 7
…………… < 省略若干信息 >
再我這個環境中只有一個驅動器,lun是2,SNC缺省使用0,所以機械手的lun是1.
c)確定Controll:
#lsdev -Cc tape
rmt0 Available 1A-08-01 Other FC SCSI Tape Drive -? 得到卡的編號:1A-08
# lsdev -C |grep -i 1A-08-01
fscsi1 Available 1A-08-01 FC SCSI I/O Controller Protocol Device ----》得到控制器的設備名:fscsi1
hdisk2 Defined 1A-08-01 Other FC SCSI Disk Drive
hdisk3 Available 1A-08-01 Other FC SCSI Disk Drive
hdisk4 Available 1A-08-01 Other FC SCSI Disk Drive
現在就可以使用下面的命令創建ovpass:
mkdev -c media_changer -s fcp -t ovpass -p fscsi1 -w 0x21400,1
3.機械手和驅動器分別直連或者通過SNC上的不同口連到SAN的交換機上面:
隨著純光纖的帶庫大批量的被用戶使用,這種情況是比較普遍的。再這種環境下,查找機械手的scsi_id就比較麻煩了。方法只有一個,登陸到SAN交換機上,查看和機械手相連的端口的port id。如果機械手是直連SAN 的switch,lun一般為0,如果機械手是通過SNC轉上來的,lun一般為1(前提是SNC沒接其他設備,如果有就需要用上面介紹的方法找lun)。
switch1g:admin> portshow 4
portFlags: 0x23805b PRESENT ACTIVE F_PORT G_PORT U_PORT LOGIN NOELP LED ACCEPT
portType: 3.1
portState: 1 Online
portPhys: 6 In_Sync
portScn: 6 F_Port
portRegs: 0x81030000
portData: 0x10f5c510
portId: 021400 ----》就是scsi_id.
portWwn: 20:04:00:60:69:13:04:9e
Distance: normal
…………… < 省略若干信息 >
上面就是最常用的幾種方法創建ovpass,建好后要可以通過下面的方法驗證ovpass是否能正常工作。
使用tpautoconf看看能否找到機械手,如果能還用用robtest測試一下是否能移帶。
# tpautoconf -r
TPAC45 ADIC Scalar 100 3.22 ADIC9U0091A22 -1 -1 -1 -1 /dev/ovpass0 - -