进攻套路

在长曲棍球中,射门得分是比赛的魅力所在,但如何组织进攻以射门得分呢?困难的部分就在于此。持球人和无球跑位(不管是中场还是前锋)都是进攻的一部分。有时候,持球人获得援助,有时候没有,但不管怎样,主要目标始终是组织攻击。对于所有比赛,都有一个主要进攻路线和次要进攻路线。(请参见视频。)

您永远无法预测防守方将如何反应,所以您需要次要进攻路线来射门得分,以防主要进攻路线被封锁而无法打开。

设置 SAN(存储区域网络)没什么不同。磁盘驱动器必须具有主要路径和次要路径来预防路径失败。自 90 年代以来,这已经成为事实上的标准,而且已经成为目前市场上所有高级 OS(操作系统)的标准组件。在所谓的多路径软件行业中,对于 OpenSolaris,此组件称为 MPxIO。大多数存储公司也对此进行了巨大的投资,因为这在早期象征着微分器,但现在大多数存储购买者使用 OS 中包装的组件。

这对磁盘非常好,但磁带设备呢?它是 SAN 上相当重要的存储组件对吗?在大多数情况下,这不在考虑之列。为什么?因为这非常困难,而且需要与磁带应用程序、OS 和磁带设备进行协调。

磁带设备是串行的;当一切正常时(在写入时),会出现三种基本情况:

  • I/O 在流动,不会中断磁带设备
  • I/O 在填充磁带设备上的缓冲区,并保持缓冲区的充满状态
  • 实际磁带在全速运行,缓冲区溢出到磁带上正确的位置

但是如果发生错误,则有许多事情要处理:

  • 验证磁带设备有好的备选路径
  • 确定上一次对磁带设备的无错误写入及其在磁带上的位置
  • 在主机上设置 I/O 流以在上一次无错误写入之后启动,确保顺序不变
  • 将磁带重新定位到正确的点以重新启动 I/O 流
  • 重新启动 I/O 流,再次加载缓冲区
  • 启动磁带动作和向其溢出的缓冲区

今天是一个值得庆祝的日子:Open Solaris 的 build 93 包含了磁带的多路径。没错,是通用磁带多路径。开发人员创建了一种不需要特殊磁带应用程序、协议或磁带驱动器即可提供支持的方法。棒极了!!

那么,它如何工作呢?好了,让我们追溯一下发展历程:

  • ST 逻辑块寻址 – 首先要做的是使用绝对位置而非相对位置启动。这样在磁带驱动程序 (ST – SCSI Tape) 内部,不是使用文件/块(从磁带分区开始的文件计数和特定文件中的块计数 —— 相对定位),而是始终进行转换以使用逻辑块寻址(从磁带分区开始记录的任何实体计数 —— 绝对定位)。这是在 OpenSolaris 的 build 69 中添加的。
  • ST 命令错误恢复 – 根据磁带设备的 SCSI 命令类型(写入、读取等),磁盘驱动程序跟踪上一个命令和预期的位置。当发生错误时,驱动程序询问磁带设备错误位于磁带的哪个位置(LBA – 逻辑块寻址)。根据命令类型和位置,磁带驱动程序确定是否重新发送命令或重新定位并重新执行。这是在 OpenSolaris 的 build 80 中添加的。
  • 多路径 – 添加上述功能之后,则可以在 Solaris 中 MPxIO 的控制下添加磁带设备。这意味着在发生 I/O 错误时,使用 ST 命令错误恢复程序,如果错误与路径相关,则使用备选路径。这是最后一个阶段,是刚在 OpenSolaris 的 build 93 中添加的。

还有更多:

  • 在 MPxIO 的架构中,驱动程序位于磁带驱动程序之下(在驱动程序堆栈中),因此,磁带应用程序看不到磁带设备的多路径。例如,OpenSolaris 中单个磁带设备的两条路径将显示为一个磁带设备。所有重新路由和路径管理都在后台处理。这允许任何磁带应用程序使用此功能,而不需要与 OS 或磁带驱动程序进行任何特殊的通信。
  • 通过添加磁带多路径,它消除了对协议错误恢复的依赖。重试和恢复是独立于协议的,所以在您的协议堆栈中不需要 Fibre Channel FCP 2 错误恢复或 iSCSI ERL 1 或 2 来为您的磁带支持增加弹性。
  • 支持它们支持的所有磁带设备:
  • 查询命令中的 MultiP 位或 TPGS 位;
  • SAN 连接;
  • 支持类型 1(二进制 WWN 信息)的页面 83;
  • MPxIO 中的特殊 VID/PID(对于遗留驱动器)

那么接下来是什么呢?一套全新的带有磁带的设置。我们已经添加了单路径不对称多路径支持,但在我们构建出产品组合时,您可能已经想到接下来我们会怎么做了。SAN 上的磁带支持在 Solaris 中要比其他任何 OS 都要好。任何 SAN —— 您挑选连接器,我们提供其他东西。

顺便说一句,OpenSolaris 的 build 78 中提供了一个称为“磁带自识别”的功能。它可以自动挑选并配置磁带驱动程序,而无需手动编辑 .conf 文件或发布具有新磁盘驱动程序插件的补丁。支持磁带驱动器的革命性方法 —— 磁带驱动器告诉 OS 如何进行配置以及它能够做什么。所有操作都使用标准的 SCSI 命令实现。



依我看来,磁带在 OpenSolaris 中的处理有了更多的选择,变得更加容易。在新一轮的比赛中必将获得更高的分数。再次上演帽子戏法吧!

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

stracy

Search

Categories
Archives
« July 2014
SunMonTueWedThuFriSat
  
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
  
       
Today