一、故障现象
某客户TSM备份值班人员报告TSM server 某个驱动器工作异常,备份仅一个通道可以使用,部分schedule因没有通道导致备份失败。
工程师接到电话后立即处理,登录后查看故障现象如下:
l .一个server与drive01对应的path offline:
tsm: tsm-server>q path
Source Name Source Type Destination Destination On-Line
Name Type
----------- ----------- ----------- ----------- -------
tsm-server SERVER ts3200lib LIBRARY Yes
tsm-server SERVER DRIVE01 DRIVE No
tsm-server SERVER DRIVE02 DRIVE Yes
l .查看TS3200带库管理界面,显示带库状态正常,处于“Ready”状态:
l .分析act log,出现大量的读写错误:
Q act search=error begind=-1 endd=+1
10/02/20 13:19:32 ANR8310E An I/O error occurred while accessing library
ts3200lib. (SESSION: 4566100)
10/02/20 13:20:04 ANR8310E An I/O error occurred while accessing library
ts3200lib. (SESSION: 4566100)
10/02/20 13:20:35 ANR8310E An I/O error occurred while accessing library
ts3200lib. (SESSION: 4566100)
10/02/20 13:21:07 ANR8310E An I/O error occurred while accessing library
ts3200lib. (SESSION: 4566100)
10/02/20 13:21:39 ANR8310E An I/O error occurred while accessing library
ts3200lib. (SESSION: 4566100)
二、故障分析
TSM server的path offline大多是由于driver故障引起读写错误导致。根据以往经验,如果driver故障,TS3200 web管理界面会出现类似下图红色的Error报警,但此案例中并未出现,说明带库的driver没有故障,那么为什么path会offline?
1、初步判断
重启带库,更新offline的path,尝试解决故障:
l. update drive ts3200lib DRIVE01 online=yes,此命令执行成功,说明driver状态正常;
l. 再次发起备份,用q mount可以看到driver里mount了磁带,但经过一段时间后,path再次offline。
通过以上故障现象,初步判断是driver清洗不及时造成的driver损坏。之前清洗方法是出现报警后清洗,这样极易引起driver损坏,至此得出结论:需要更换drive01。
2、发现新线索
等待更换driver时,检查备份,尝试update drive ts3200lib DRIVE01 online=yes成功,path online,但磁带CI0898L5一旦mount进driver后path立即offline。检查act log,此node的备份报failed,有大量I/O报错,检查对应的磁带,发现该磁带处于不可用状态,并且处于错误状态(Error State):
tsm: TSM>QUERY VOLUME CI0898L5 f=d
Volume Name: CI0898L5
Storage Pool Name: ORA_POOLEstimated Capacity: 3.0 TNumber of Writable Sides: 1Number of Times Mounted: 751Number of Write Errors: 1
用DB2的SQL检查读写错误磁带,发现还有2个盘出现类似现象:
Tsm: TSM6>SELECT volumes.volume_name, volumes.stgpool_name, volumes.pct_utilized, volumes.status, volumes.write_errors, volumes.read_errors FROM volumes, libvolumes WHERE volumes.volume_name=libvolumes.volume_name AND ( volumes.write_errors>0 OR volumes.read_errors>0 )
VOLUME_NAME: C04780L5
STGPOOL_NAME: ORA_POOL
PCT_UTILIZED: 17.7
STATUS: FILLING
WRITE_ERRORS: 1
READ_ERRORS: 0
VOLUME_NAME: NIN039L5
STGPOOL_NAME: ORA_POOL
PCT_UTILIZED: 100.0
STATUS: FILLING
WRITE_ERRORS: 1
READ_ERRORS: 0
这3盘不可用的磁带一旦mount到drive1,TSM server会认定driver里的C磁带不可用,从而导致了path offline。
3、分析原因
当带库使用年限过长,或清洗磁头不及时,或清洗带超次数使用,必然会造成磁带读写错误,被标记为“Unavailable”和In Error State=yes。
根据本案例上述现象,并结合备份过程中是循环使用磁带(即超过保留期后删除数据回收使用)的情况,确定此次故障原因是磁带读写错误引起的path offline。
三、故障处理
1、将不可用的3盘磁带标记为” readonly”,避免TSM写入这3盘磁带。
UPDATE VOLUME CI0898L5 access= readonly
UPDATE VOLUME NIN039L5 access= readonly
UPDATE VOLUME C04780L5 access= readonly
2、Checkout不可用的3盘磁带;
3、Checkin3盘新磁带;
4、由于ora_pool没有copy pool,只能立即发起手动全备,保证有最新的备份版本;
5、删除path,重建define path:
define path tsm DRIVE1 SRCTYPE=SERVER DESTTYPE=DRIVE LIBRARY=ts3200lib device=/dev/rmt1 online=yes
至此,备份恢复正常,问题解决。
四、经验总结
1、TSM server的path offline的大部分原因是由于driver故障,对于Lan Free的节点也有配置问题引起的报错;但也有小部分原因是磁带读写Error所致,对于长期循环使用的磁带尤其要引起重视;
2、建议采用自动清洗driver,定时检查清洗带的剩余次数;
3、建议及时检查schedule的执行状态;
4、建议经常用SQL命令检查带库内磁带的状态,对于已经报了WRITE_ERRORS>1的磁带,需要考虑更换新磁带。
如欲了解更多,请登录安图特官方网站:www.antute.com.cn