Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1012926
  • 博文数量: 584
  • 博客积分: 2293
  • 博客等级: 大尉
  • 技术积分: 3045
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-28 11:15
文章分类

全部博文(584)

文章存档

2012年(532)

2011年(47)

2009年(5)

我的朋友

分类: 服务器与存储

2012-01-06 22:23:19

以前发现,tsm老是从最后一盘开始写,现在终于知道是如何选择的了。

下面是一个客户经常遇到的问题:

客户为节点a进行数据备份,已经在磁带a0000中存入了一些数据。但是客户出于某种需要,想把磁带a0000从带库中取出。因此客户执行了如下的命令:
checkout libv library_name a0000 remove=yes

当客户完成这一操作后,自然可以把磁带a0000从带库中取走。

但是当客户下一次再为节点a进行备份,出现的结果通常是:
anr8308i 001: lto volume a0000 is required for use in library lto3582; checkin libvolume required within 58 minutes.

这一提示表示:tsm服务器要求用户把磁带a0000重新放入带库中。由于a0000是一盘已经经过读写,但没有写完的,所以tsm希望继续重新使用这盘磁带。a0000成了用户无法取出带走的磁带。

这种情况的出现是由tsm对磁带的选择机制决定的。tsm在选择磁带的时候受存储池定义参数collation的影响。

在缺省情况下collacation参数被设置为no(此为5.3版本以前,5.3版本以后是group),表示collacation属性被disable掉。在这种情况下,tsm选择磁带的顺序是:
1. 一盘已经被使用过但仍然有空白空间的磁带(通常情况下,已经装载最多数据但还没有写满的磁带会被优先选择)
2. 一盘空白磁带
当tsm写满一盘磁带后,一般会挑选一盘空白磁带继续进行读写。如果这时无法找到一盘空白磁带。tsm会从存储池中挑选一盘已经用过但还有空间的磁带继续进行读写。

从这个机制可以判断上述情况出现的原因。

如果collocation的参数设置不是no。则可能的参数值包括:filespace,node,group。

如果设置为filespace,则磁带选择的顺序是:
1. 优先选择已经备份同一文件空间数据的磁带;
2. 已经定义的空白磁带;
3. 定义为scratch的空白磁带;
4. 包含同一节点数据的已经使用过的磁带;
5. 空间最大的一盘已经使用过的磁带;

如果设置为node,则磁带的选择顺序是:
1. 包含同一节点数据的已经使用过的磁带;
2. 已经定义的空白磁带;
3. 定义为scratch的空白磁带;
4. 空间最大的一盘已经使用过的磁带;

如果设置为group,则磁带的选择顺序是:
1. 优先选择已经包含来自客户端所属的collocation group的备份数据的磁带;
2. 已经定义的空白磁带;
3. 定义为scratch 的空白磁带;
4. 空间最大的一盘已经是使用过的磁带。

面对上述例子中情况,用户可以考虑下列方法来跳过需要等待的60分钟。
在checkout命令执行完后,修改磁带a0000的access属性为unavailable。命令如下:
update volume a0000 access=unavailable

这样,当用户在以后为节点a进行数据备份的时候,tsm就会第一选择磁带a0000,而选择其它的磁带进行备份。

引用链接: http://space.itpub.net/18983976/viewspace-550362

阅读(1290) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~