2008年(8065)
分类: 服务器与存储
2008-05-15 23:14:22
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 - -