最近遇到某省的legato备份问题,这个问题在春节后一来就遇到了。在legato界面,我们看到的报错是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
……
02 / 24 / 10 12 : 01 : 00 nsrd : savegroup info : starting db_arch ( with 1 client ( s ) )
02 / 24 / 10 12 : 01 : 15 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 01 : 15 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 01 : 53 nsrd : Jukebox 'msl6000' failed : No such file or directory
02 / 24 / 10 12 : 01 : 53 nsrd : Jukebox 'msl6000' failed : No such file or directory
02 / 24 / 10 12 : 01 : 54 nsrd : media info : suggest mounting QWB507L2 on ah - db01 for writing to pool 'miscdb'
02 / 24 / 10 12 : 01 : 54 nsrd : media waiting event : Waiting for 1 writable volumes to backup pool 'miscdb' tape ( s ) on ah - db01
02 / 24 / 10 12 : 01 : 56 nsrd : Jukebox 'msl6000' failed : No such file or directory
02 / 24 / 10 12 : 01 : 56 nsrd : Jukebox 'msl6000' failed : No such file or directory
02 / 24 / 10 12 : 02 : 05 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 02 : 05 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 02 : 14 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 02 : 14 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 02 : 21 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 02 : 21 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 02 : 40 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 02 : 40 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 02 : 44 nsrd : shutting down remote daemons
02 / 24 / 10 12 : 02 : 45 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 02 : 45 nsrd : Jukebox 'msl6000' failed : Input / output error
02 / 24 / 10 12 : 02 : 45 nsrd : media info : Suggest manually labeling a new writable volume for pool 'dbreport'
02 / 24 / 10 12 : 02 : 45 nsrd : media event cleared : Waiting for 1 writable volumes to backup pool 'miscdb' tape ( s ) on ah - db01
02 / 24 / 10 12 : 02 : 45 nsrd : media waiting event : Waiting for 1 writable volumes to backup pool 'miscdb' tape ( s ) on ah _ bak01
02 / 24 / 10 12 : 02 : 53 savegrp : group db_arch aborted .
……
基本看到的情况是在备份的时候,开始做verify label的时候,报错No such file or directory和Input/output error,这个很有可能是在legato的界面中还能看到配置的driver,但是在调用这个driver的时候找不到实际的物理设备了。
于是在备份服务器上点开“硬件”-“设备管理器”,发现里面的磁带驱动器和介质变换器确实没有了!
请在机房的同事帮忙查看带库是否有问题,同事说带库已经down掉了。
重启带库,发现在备份服务器里面还是看不到driver,但是在client端,也就是数据库服务器上通过inquire还是能看到的。重启server,能看到driver了。再次尝试备份,备份到一半,一个driver消失了,备份卡住,再过一会儿,另一个driver也消失了,介质变换器也消失。
请机房的同事查看带库的情况,带库还是down了,是电源模块有问题,导致带库不稳定。等待设备厂家来更换电源模块。
更换完成电源模块后,启动带库,在备份主机只能看到一个driver,重启备份主机也是只能看到一个。厂家关闭备份主机后重新插拔了光纤卡,再次启动备份主机后,识别到了2个driver。但是测试备份时,只能一个driver备份,另一个driver会卡住。
尝试用清洗带清洗2个带子,但是发现报错:
Error : Server refused connection .
02 / 24 / 10 15 : 49 : 14 nsrmmd #3: Cannot set \\.\Tape0 block size: 信号灯超时时间已到。
02 / 24 / 10 15 : 49 : 14 nsrd : media critical : TapeAlert flag "Expired cleaning media" has been posted for \ \ . \ Tape0
02 / 24 / 10 15 : 49 : 14 nsrd : media warning : \ \ . \ Tape0 reading : read open error : drive status is Drive reports no error - but state is unknown
Blat v2 . 4 w / GSS encryption ( build : Jan 15 2005 08 : 32 : 11 )
这个是清洗带过期的报错。于是更换清洗带。
更换之前尝试重新用jbconfig配置jukebook。
再次备份,发现2个driver都不能备份了!此时报错:
02 / 24 / 10 17 : 15 : 41 nsrmmd #3: Diagnostic: Tape device \\.\Tape0 is empty
02 / 24 / 10 17 : 15 : 51 nsrmmd #3: Diagnostic: Tape device \\.\Tape0 is empty
02 / 24 / 10 17 : 15 : 52 nsrd : media warning : \ \ . \ Tape0 reading : read open error : drive status is There is not a tape in the drive
02 / 24 / 10 17 : 15 : 52 nsrd : \ \ . \ Tape0 1 : Label without mount operation in progress
drive status is There is not a tape in the drive——难道是机械臂的问题?没有将磁带load到driver,请在机房的同事看了,确定是已经load进了driver。为什么会识别不到?
这个报错,在网上查资料是(见此链接 )
I found the problem .
Customer has redundant fibre connections to drives and when they changed FC cables , they missed something , so NW worked with wrong devices scidev @ 4.0.0 instead scidev @ 2.0.0. Correct cabling solved the problem ! !
请机房的同事检查光纤线的连接情况,结果确认从带库到光纤交换机的连接都正常。
问题出在哪里?我们再来回顾一下当前的情况:
(1)、备份服务器和备份client均能识别driver。在备份服务器端看到driver正常,驱动也正常安装。没有出现driver消失或者driver无法识别的硬件问题。通过inquire或者ioscan -fnCtape都能看到driver的情况。
(2)、备份无法正常进行,做inventory清点没有问题,但是做label标签,甚至做一个mount磁带,都会报错drive status is There is not a tape in the drive。但是检查光纤连接正常。
电源模块已经换过,硬件也能识别到。所以不太好确定硬件是否有问题。如果确定不了硬件问题,也就不好让设备厂家进行更换,因为之前设备厂家说在更换完电源模块之后,已经进行了一次硬件检查,说没有问题的。那我们如何检查硬件是否真的正常呢?这个时候,就要请出hp带库检测的专业工具,也就是本文的重点:LTT出场了。
HP LTT的全称是HP StorageWorks Library and Tape Tools ,是HP用来检查HP带库的一个非常有用的工具。ltt可以安装在备份服务器端,模拟磁带的读写情况,来检查driver或者media是否正常。各个os的版本都有,可以在这里免费下载 。
我们在备份server安装好LTT之后,就开始测试了。注意此时的测试是脱离legato的,我们要在备份主机上证明带库的硬件是否存在问题。只有证明了硬件没有问题,才能配置调试后续的legato。
我们启动LTT之后,点击其中一个driver,让读取这话driver的信息,我们发现在测试过程中,经常遇到超时的情况:
当我们点击Test,开始测试Driver Assessment test的时候,发现报错没有磁带在driver中:
LTT Driver测试读取不到磁带
而在这之前,我们已经手工的load了一卷磁带到Driver中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
ah - db01 #[/sbin/init.d]mc -p /dev/rac/c14t0d0 -r DS
DT_slot_1 FULL QWB425
DT_slot_2 EMPTY
ST_slot_1 FULL QWB417
ST_slot_2 FULL QWB418
ST_slot_3 FULL QWB419
ST_slot_4 FULL QWB420
ST_slot_5 FULL QWB421
ST_slot_6 FULL QWB422
ST_slot_7 FULL QWB423
ST_slot_8 FULL QWB424
ST_slot_9 EMPTY
ST_slot_10 FULL QWB434
ST_slot_11 FULL QWB435
ST_slot_12 FULL QWB497
ST_slot_13 FULL QWB496
ST_slot_14 FULL QWB499
ST_slot_15 FULL QWB506
ST_slot_16 FULL QWB498
ST_slot_17 FULL QWB508
ST_slot_18 FULL QWB500
ST_slot_19 FULL QWB510
ST_slot_20 FULL QWB511
ST_slot_21 EMPTY
ST_slot_22 FULL QWB502
ST_slot_23 FULL QWB501
ST_slot_24 FULL QWB509
ST_slot_25 EMPTY
ST_slot_26 EMPTY
ST_slot_27 FULL QWB507
ST_slot_28 EMPTY
ST_slot_29 FULL QWB433
ah - db01 #[/sbin/init.d]
既然已经load进了带子,但是LTT做测试的时候还是认为没有带子,无法读写测试。那就应该可以确定是driver的问题了。
把该情况和设备厂家说明后,要求厂家换driver。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
换前:
scsidev @ 14.0.1 : HP Ultrium 2 - SCSI F59W | Tape , / dev / rmt / c14t0d1BESTnb
S / N : HUL5A04564
ATNN : HP Ultrium 2 - SCSI HUL5A04564
WWNN : 50060B00002BBEFE
scsidev @ 14.0.2 : HP Ultrium 2 - SCSI F59W | Tape , / dev / rmt / c14t0d2BESTnb
S / N : HUL5A07372
ATNN : HP Ultrium 2 - SCSI HUL5A07372
WWNN : 50060B00002BC9F6
换后:
scsidev @ 14.0.1 : HP Ultrium 2 - SCSI F59W | Tape , / dev / rmt / c14t0d1BESTnb
S / N : HUL5A04564
ATNN : HP Ultrium 2 - SCSI HUL5A04564
WWNN : 50060B00002BBEFE
scsidev @ 14.0.2 : HP Ultrium 2 - SCSI F6AW | Tape , / dev / rmt / c14t0d2BESTnb
S / N : HUL8A06538
ATNN : HP Ultrium 2 - SCSI HUL8A06538
WWNN : 50060B000028C845
更换后,在备份主机上更新新的driver的驱动,使得备份主机能识别新的driver。
我们注意新的driver的SN是HUL8A06538。在LTT界面,选择这个driver,开始准备测试:
更换driver后
在这里,不得不提一下,更换driver后,读取这个driver的信息很快,在identity这个driver信息的时候,不到2分钟就出来了。
我们手工load上一个带子做读写测试:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
ah - db01 #[/sbin/init.d]mc -p /dev/rac/c14t0d0 -r DS
DT_slot_1 FULL QWB425
DT_slot_2 EMPTY
ST_slot_1 FULL QWB417
ST_slot_2 FULL QWB418
ST_slot_3 FULL QWB419
ST_slot_4 FULL QWB420
ST_slot_5 EMPTY
ST_slot_6 FULL QWB422
ST_slot_7 FULL QWB423
ST_slot_8 FULL QWB424
ST_slot_9 FULL QWB421
ST_slot_10 FULL QWB434
ST_slot_11 FULL QWB435
ST_slot_12 FULL QWB497
ST_slot_13 FULL QWB496
ST_slot_14 FULL QWB499
ST_slot_15 FULL QWB506
ST_slot_16 FULL QWB498
ST_slot_17 FULL QWB508
ST_slot_18 FULL QWB500
ST_slot_19 FULL QWB510
ST_slot_20 FULL QWB511
ST_slot_21 EMPTY
ST_slot_22 FULL QWB502
ST_slot_23 FULL QWB501
ST_slot_24 FULL QWB509
ST_slot_25 EMPTY
ST_slot_26 EMPTY
ST_slot_27 FULL QWB507
ST_slot_28 EMPTY
ST_slot_29 FULL QWB433
我们开始做测试,这次测试很顺利:
测试另一个driver,也同样没有问题:
于是,就基本判断目前硬件没问题。开始配置legato。
但是legato备份的时候还是报错了:
03 / 01 / 10 20 : 20 : 27 nsrd : \ \ . \ Tape0 1 : Verify label operation in progress
03 / 01 / 10 20 : 20 : 37 nsrmmd #3: Diagnostic: Tape device \\.\Tape0 is empty
03 / 01 / 10 20 : 20 : 48 nsrmmd #3: Diagnostic: Tape device \\.\Tape0 is empty
03 / 01 / 10 20 : 20 : 48 nsrd : media warning : \ \ . \ Tape0 reading : read open error : drive status is There is not a tape in the drive
03 / 01 / 10 20 : 20 : 50 nsrd : nsrjb notice : nsrjb - j msl6000 - Y - O31 - L - g - bmiscdb - f \ \ . \ Tape0 - S 1 - 1
03 / 01 / 10 20 : 20 : 50 nsrd : \ \ . \ Tape0 1 : Verify label operation in progress
03 / 01 / 10 20 : 21 : 00 nsrmmd #3: Diagnostic: Tape device \\.\Tape0 is empty
03 / 01 / 10 20 : 21 : 10 nsrmmd #3: Diagnostic: Tape device \\.\Tape0 is empty
03 / 01 / 10 20 : 21 : 11 nsrd : media warning : \ \ . \ Tape0 reading : read open error : drive status is There is not a tape in the drive
03 / 01 / 10 20 : 21 : 11 nsrd : \ \ . \ Tape0 1 : Label without mount operation in progress
03 / 01 / 10 20 : 21 : 21 nsrmmd #3: Diagnostic: Tape device \\.\Tape0 is empty
03 / 01 / 10 20 : 21 : 23 nsrd : \ \ . \ Tape0 1 : Eject operation in progress
03 / 01 / 10 20 : 21 : 33 nsrmmd #3: Diagnostic: Tape device \\.\Tape0 is empty
03 / 01 / 10 20 : 21 : 44 nsrmmd #3: Diagnostic: Tape device \\.\Tape0 is empty
之前查到drive status is There is not a tape in the drive是光纤的连接的问题,但是光纤连接都没问题,LTT测试也通过了,难道是里面的driver连接接反了?
尝试再次重新配置jbconfig,在配置时,先配//./Tape1,再配//./Tape0。当然,这边Tape0和Tape1对应的driver的SN还是要对应备份client 端的SN的。只是在配置的时候,先写了//./Tape1。
配置完成后测试备份,真的证实了我的猜想,里面的driver接反了。当反配jbconfig的时候,备份成功了:
至此,又一个棘手的legato备份问题解决!
在处理legato问题的时候,如果无法确定是否硬件问题,那么相信LTT吧!
4条评论
——“ltt可以安装在备份服务器端,模拟磁带的读写情况,来检查driver或者media是否正常。”
在DP的概念中,LTT应该安装在DA(Disk Agent)上还是MA(Media Agent)上还是Cell Manager上?举例来说:
两台RP4440(接盘阵,DA)、MSL6060、Cell Manager(Windows 平台,MA?)连接到FC Switch上,那LTT应该是在RP4440上还是Cell Manager上运行?谢谢!
在cell manger上。我们备份的时候有client端和server端,cell manger是server端,我们安装在这个主机上,
哦,不知在客户端HP-UX上用hp_ltt可不可以检查。
我也遇到过,后来找hp给磁带库换了driver和一个光纤模块才好