信息存储与管理
· 摘要:《信息存储与管理:数字信息的存储、管理和保护》本书是一本系统全面的存储技术书籍。本书所涵盖的概念、原理和方案部署理念贯穿了整个信息存储和管理技术的范畴。本节为目录部分。
· 标签:存储 信息存储与管理 信息存储与管理:数字信息的存储、管理和保护
转自:WatchStor.com — 领先的中文存储网络媒体(51CTO技术网站)http://training.watchstor.com/training-129202.htm
· 目录
· 第1部分 存储系统
第1章 信息存储与管理的介绍 3
1.1 信息存储 5
1.1.1 数据 5
1.1.2 数据类型 7
1.1.3 信息 7
1.1.4 存储 8
1.2 存储技术和架构的发展 9
1.3 数据中心基础设施 10
1.3.1 核心部件 10
1.3.2 数据中心部件的关键需求 11
1.3.3 管理存储基础设施 13
1.4 信息管理中的关键挑战 14
1.5 信息生命周期 14
1.5.1 信息生命周期管理 15
1.5.2 ILM实现 16
1.5.3 ILM的优点 17
小结 18
第2章 存储系统环境 21
2.1 存储系统环境的组成 21
2.1.1 主机 22
2.1.2 连接 24
2.1.3 存储设备 26
2.2 磁盘驱动部件 27
2.2.1 盘片 28
2.2.2 主轴 28
2.2.3 读写头 28
2.2.4 驱动臂装置 29
2.2.5 控制器 29
2.2.6 物理磁盘的结构 30
2.2.7 分区位记录 31
2.2.8 逻辑块寻址 32
2.3 磁盘驱动器的性能 33
2.4 影响磁盘性能的基本准则 35
2.5 主机的逻辑部件 38
2.5.1 操作系统 39
2.5.2 设备驱动 39
2.5.3 卷管理器 39
2.5.4 文件系统 41
2.5.5 应用 44
2.6 应用程序的需求和磁盘的性能 45
小结 48
第3章 数据保护:RAID 51
3.1 RAID的实现 52
3.1.1 软件RAID 52
3.1.2 硬件RAID 52
3.2 RAID阵列的组成 53
3.3 RAID级别 54
3.3.1 分条(Striping) 54
3.3.2 数据镜像 55
3.3.3 奇偶校验 56
3.3.4 RAID 0 57
3.3.5 RAID 1 57
3.3.6 嵌套RAID 59
3.3.7 RAID 3 59
3.3.8 RAID 4 61
3.3.9 RAID 5 62
3.3.10 RAID 6 62
3.4 各种RAID的比较 63
3.5 RAID对磁盘性能的影响 66
3.6 热备用 68
小结 69
第4章 智能存储系统 71
4.1 智能存储系统的组成部分 72
4.1.1 前端 72
4.1.2 高速缓存 74
4.1.3 后端 79
4.1.4 物理磁盘 79
4.2 智能存储阵列 82
4.2.1 高端存储阵列 82
4.2.2 中档存储阵列 83
4.3 概念实践:EMC CLARiiON和Symmetrix 84
4.3.1 CLARiiON存储阵列 85
4.3.2 CLARiiON CX4体系结构 86
4.3.3 管理CLARiiON 88
4.3.4 Symmetrix存储阵列 89
4.3.5 Symmetrix组成部分概览 91
4.3.6 Direct Matrix架构 93
小结 95
第2部分 存储网络技术和虚拟化
第5章 直连存储和SCSI介绍 99
5.1 DAS类别 99
5.1.1 内置DAS 100
5.1.2 外置DAS 100
5.2 DAS的优点和局限性 101
5.3 磁盘驱动器接口 101
5.3.1 IDE/ATA 101
5.3.2 SATA 102
5.3.3 并行SCSI 103
5.4 并行SCSI介绍 104
5.4.1 SCSI的演化 104
5.4.2 SCSI接口 106
5.4.3 SCSI-3架构 107
5.4.4 并行SCSI编址 111
5.5 SCSI指令模型 112
5.5.1 CDB结构 112
5.5.2 操作码 112
5.5.3 控制字段 114
5.5.4 状态 114
小结 115
第6章 存储区域网络 117
6.1 光纤通道:概览 118
6.2 SAN及其演化 119
6.3 SAN组件 120
6.3.1 节点端口 120
6.3.2 布线 122
6.3.3 互连设备 123
6.3.4 存储阵列 124
6.3.5 SAN管理软件 124
6.4 FC连接 125
6.4.1 点对点 125
6.4.2 光纤通道仲裁环 125
6.4.3 光纤通道交换fabric 127
6.5 光纤通道端口 129
6.6 光纤通道结构 131
6.6.1 光纤通道协议栈 132
6.6.2 光纤通道编址 133
6.6.3 FC帧 135
6.6.4 FC数据的结构和组织 137
6.6.5 流量控制 137
6.6.6 服务类 138
6.7 分区 138
6.8 光纤通道登录类型 141
6.9 FC拓扑 141
6.9.1 核心-边缘Fabric 142
6.9.2 Mesh拓扑 144
6.10 实践中的概念:EMC Connectrix 145
6.10.1 Connectrix交换机 146
6.10.2 Connetrix导向器 146
6.10.3 Connectrix管理工具 146
小结 148
第7章 网络连接存储 149
7.1 通用服务器与NAS设备 150
7.2 NAS的优势 150
7.3 NAS文件I/O 151
7.3.1 文件系统和远程文件共享 152
7.3.2 文件系统访问 152
7.3.3 文件共享 152
7.4 NAS组件 153
7.5 NAS实现 154
7.5.1 集成式NAS 154
7.5.2 网关式NAS 155
7.5.3 集成式NAS连接 155
7.5.4 网关式NAS连接 156
7.6 NAS文件共享协议 157
7.6.1 NFS 158
7.6.2 CIFS 158
7.7 NAS的I/O操作 159
7.8 影响NAS性能和可用性的因素 160
7.9 NAS实例:EMC Celerra 164
7.9.1 体系结构 164
7.9.2 Celerra产品系列 167
7.9.3 Celerra管理软件 168
小结 168
第8章 IP SAN 171
8.1 iSCSI 173
8.1.1 iSCSI组件 173
8.1.2 主机连接 174
8.1.3 iSCSI的连接拓扑 175
8.1.4 iSCSI协议栈 176
8.1.5 iSCSI发现 177
8.1.6 iSCSI名称 178
8.1.7 iSCSI会话 179
8.1.8 iSCSI PDU 180
8.1.9 报文的排序和标号 181
8.1.10 iSCSI错误处理和安全 182
8.2 FCIP 183
8.2.1 FCIP拓扑 184
8.2.2 性能和安全 185
小结 186
第9章 内容寻址存储 189
9.1 固定内容与归档 190
9.2 归档的类型 191
9.3 存储的功能和优势 192
9.4 CAS体系架构 193
9.5 CAS中的对象存取 196
9.6 CAS实例 198
9.6.1 医疗保健行业解决方案:病历存储 198
9.6.2 金融行业解决方案:财务数据存储 199
9.7 实现方法:EMC Centera 200
9.7.1 EMC Centera模式 201
9.7.2 EMC Centera 架构 201
9.7.3 Centera工具 203
9.7.4 EMC Centera Universal Access 204
小结 205
第10章 存储虚拟化 207
10.1 虚拟化的形式 207
10.1.1 内存虚拟化 208
10.1.2 网络虚拟化 208
10.1.3 服务器虚拟化 209
10.1.4 存储虚拟化 210
10.2 SNIA的存储虚拟化分类 212
10.3 存储虚拟化配置 213
10.4 存储虚拟化的挑战 214
10.4.1 可扩展性 215
10.4.2 功能性 215
10.4.3 可管理性 215
10.4.4 技术支持 216
10.5 存储虚拟化的类型 216
10.5.1 块级存储虚拟化 216
10.5.2 文件级虚拟化 217
10.6 实现方法 219
10.6.1 EMC Invista 219
10.6.2 Rainfinity 222
小结 225
第3部分 业务连续性
第11章 业务连续性概述 229
11.1 信息可用性 230
11.1.1 信息不可用的因素 230
11.1.2 信息可用性度量 231
11.1.3 停机时间的后果 232
11.2 BC术语 233
11.3 BC计划生命周期 235
11.4 故障分析 238
11.4.1 单点故障 238
11.4.2 容错 238
11.4.3 多路径软件 240
11.5 业务影响分析 240
11.6 BC技术方案 241
11.7 实例:EMC PowerPath 241
11.7.1 PowerPath特征 242
11.7.2 动态负载平衡 242
11.7.3 自动路径失败切换 244
小结 247
第12章 备份和恢复 251
12.1 备份目的 252
12.1.1 灾难恢复 252
12.1.2 可操作备份 252
12.1.3 归档 252
12.2 备份考虑 253
12.3 备份粒度 254
12.4 恢复考虑 257
12.5 备份方法 258
12.6 备份过程 259
12.7 备份和恢复操作 260
12.8 备份拓扑结构 262
12.9 NAS环境的备份 265
12.10 备份技术 269
12.10.1 备份到磁带 269
12.10.2 物理磁带库 270
12.10.3 备份到磁盘 272
12.10.4 虚拟磁带库 273
12.11 实例分析--EMC网络工作器(NetWorker) 276
12.11.1 NetWorker备份操作 277
12.11.2 NetWorker恢复 278
12.11.3 EmailXtender 278
12.11.4 DiskXtender 279
12.11.5 Avamar 279
12.11.6 EMC磁盘库(EDL) 280
小结 280
第13章 本地复制 283
13.1 源和目标 284
13.2 本地副本的用途 284
13.3 数据一致性 285
13.3.1 复制文件系统的一致性 285
13.3.2 复制数据库的一致性 286
13.4 本地复制技术 288
13.4.1 基于主机的本地复制 288
13.4.2 基于存储阵列的复制 290
13.5 恢复和重启的考虑 297
13.6 创建多个副本 300
13.7 管理接口 301
13.8 实践中的概念:EMC TimeFinder和EMC SnapView 301
13.8.1 TimeFinder/Clone 302
13.8.2 TimeFinder/Mirror 302
13.8.3 EMC SnapView 304
13.8.4 EMC SnapSure 305
小结 306
第14章 远程复制 309
14.1 远程复制模式 309
14.2 远程复制技术 311
14.2.1 基于主机的远程复制 311
14.2.2 基于阵列的远程存储复制 314
14.2.3 基于SAN的远程复制 321
14.3 网络基础设施 323
14.3.1 DWDM 324
14.3.2 SONET 324
14.4 实践中的概念:EMC SRDF、EMCSAN Copy和
EMC MirrorView 325
14.4.1 SRDF家族 325
14.4.2 SRDF灾难恢复 326
14.4.3 SRDF并行存取操作 327
14.4.4 EMC SAN Copy 328
14.4.5 EMC MirrorView 329
小结 330
第4部分 存储安全与管理
第15章 确保存储基础设施安全 335
15.1 存储安全框架 335
15.2 风险三元组 336
15.2.1 资产 337
15.2.2 威胁 338
15.2.3 漏洞 339
15.3 存储安全域 340
15.3.1 保证应用程序访问域的安全 341
15.3.2 保证管理访问域的安全 344
15.3.3 保证备份、恢复和存档的安全(BURA) 347
15.4 存储网络中安全措施的实施 348
15.4.1 SAN 348
15.4.2 NAS 353
15.4.3 IP SAN 359
小结 360
第16章 管理存储基础设施 363
16.1 监测存储基础设施 364
16.1.1 监测的参数 364
16.1.2 组件监测 365
16.1.3 监测的实例 368
16.1.4 警报 374
16.2 存储管理活动 375
16.2.1 可用性管理 375
16.2.2 容量管理 375
16.2.3 性能管理 376
16.2.4 安全性管理 376
16.2.5 报告 376
16.2.6 存储管理事例 377
16.3 存储基础设施管理的挑战 382
16.4 开发一种理想化的解决方案 382
16.4.1 存储管理计划 383
16.4.2 企业管理平台 385
16.5 实际应用中的概念:EMC ControlCenter 386
16.5.1 ControlCenter特性和功能 386
16.5.2 ControlCenter架构 387
小结 392
附录A 缩略语 395
附录B 术语表 411
英文索引 449
· 原书序
· 美国著名的思想家、文学家和诗人Ralph Waldo Emerson曾经说过:智慧永恒不变的特点就是在平凡中发现奇迹。而今,无数平凡的奇迹正充盈在我们身边,事实上我们根本无法忽视它们的存在。我们每个人都拥有许多电子"小玩具",如数码相机、数字摄像机、移动电话、能访问成千上万网站的高速计算机,以及即时聊天工具、社交网站、搜索引擎、音乐下载等,不胜枚举。所有这些例子都有一个共同点:它们都会产生大量的数据。我们所生活的时代不仅仅是一个信息时代,而且是一个信息爆炸的时代。在这个时代里,爆炸的信息形成了一个数字的宇宙,它呼唤着技术的革新,渴求着能够对信息存储与管理的解决方案实行高效管理、支撑和优化的新一代专家。
· 我们今天所面临的挑战究竟有多大呢?让我们对它有一个直观的认识吧:我们在一年内所建立、采集、复制的数字信息,就相当于古往今来所有书籍所容纳信息的数百万倍!信息是商业活动中最重要的资本。为了挖掘信息的巨大潜能,我们必须将它们有效地、聪明地存储、保护和管理起来,使之能够被访问、搜索、共享,并最终发挥效用。
· 我们正处在一场大风暴中,一切都在急速地增长:信息、成本以及能够对这些信息实行有效存储和管理的熟练专家-然而他们的数量还远未能满足激增的需求。IT管理员首当其冲的顾虑就是如何应对存储的增长,因为企业并不能简单地依靠购买更大更好的"箱子"来存储它们的数据。IT管理员不仅仅要在存储技术的预算上精打细算,还要考虑到能耗、安装、管理及维护成本等诸多因素。此外,IT管理员们还需要聘用更多员工,因为他们非常缺少有丰富经验的、受过存储技术系统教育的专家们来帮助他们管理和优化数据。
· 我还未曾在市场上见到一本全面而深入介绍存储和管理数据的各种技术的书籍。作为业界的领航者,我们具备的专业背景及实践经验将有助于填补这个空白。这本书能够让读者对信息存储与管理技术的台前幕后有一个深入的认识。读者将从中学到数据存储在哪、它们是如何被管理的以及如何能帮助企业提高盈利额。
· 如果你的职业正是存储及信息基础设施管理,那么你将注定是一个日新月异领域的先锋。在这个领域里,全新的挑战总是与极大的回报并存。
无论你当前在IT领域扮演什么角色,本书都将在你的IT藏书和职业发展中发挥着不可或缺的作用。
第5章 直连存储和SCSI介绍
核 心 概 念
内置和外置DAS
SCSI体系结构
SCSI编址
直连存储(Direct-Attached Storage,DAS)是一种存储器直接连接到服务器的架构。应用程序使用块级的存取协议从DAS访问数据。主机的内部磁盘、磁带库和直接连接的外部磁盘组,都是一些DAS实例。
尽管存储网络技术的使用渐趋普遍,DAS仍然是访问和共享本地数据的理想方案,尤其是在服务器数量较少的环境里。例如,对于小企业、部门和工作室等不会跨越整个企业来共享信息的场合,DAS是适合的解决方案。中型的公司使用DAS作为文件服务器和邮件服务器。大型的企业则使用DAS作为SAN和NAS的辅助。
这一章将会详细讲述两种不同类型的DAS,包括它们的优势和局限性。本章主要部分是DAS系统的存储设备类别,以及SCSI--DAS使用的最典型的协议。
5.1 DAS类别
基于存储设备相对主机的位置,DAS可以分为内置和外置两种。
5.1.1 内置DAS
在内置DAS架构里,存储设备通过串行或并行总线连接主机。物理总线有距离的限制,只能支持短距离的高速连接。此外,大部分内部总线只能支持有限数量的设备,并且这些设备本身也会占用机箱的大量内部空间,使得难以维护其他部件。
·
· Thomas P. Clancy
EMC公司教育部门副总裁
2009年3月
5.1.2 外置DAS
· 在外置DAS架构里,服务器直接连接到外部存储设备(如图5-1所示)。大部分情况下,主机和存储设备之间使用SCSI或者FC协议通信。对比内置DAS,外置DAS克服了距离和设备数量限制等问题,并且提供存储设备的集中管理。
5.2 DAS的优点和局限性
DAS相对于存储网络需要较低的前期投资。存储网络结构会在本书后文讨论。DAS配置简单并且部署容易和快捷。可以通过基于主机上的工具来进行安装管理,例如主机上的操作系统,这使得存储管理的任务对于中小型企业来说较容易。相对于其他存储网络模型,DAS是最简单的解决方案,所需的管理任务更少,需要设置和操作的硬件和软件也更少。
但是,DAS不易扩展。一个存储设备只有有限的端口,这限制了主机能直接连接的存储设备的数量。有限的DAS带宽也限制了其可用的I/O处理能力。当达到容量上限的时候,服务的可用性就会大打折扣,而且这会引起涟漪效应,影响所有连接到该设备或阵列上的主机的性能。距离首先关系到DAS的部署,这可以由光纤通道连接来解决。此外DAS无法优化资源使用,因为它共享前端端口的能力有限。在DAS的环境里,未被使用的资源不能方便地重新分配,结果导致过载或欠载的孤立存储池。
存储设备的磁盘利用率、吞吐率和缓存容量以及主机的虚拟内存一起决定了DAS的性能。RAID级的配置、存储控制器协议以及总线的效率则是影响DAS性能的额外因素。由于不存在存储器的互连问题和网络延迟等问题,DAS有潜力优于其他存储网络方案。
5.3 磁盘驱动器接口
DAS中的主机和存储设备使用预定义的协议来进行相互间的通信,例如IDE/ATA、SATA、SAS、SCSI和FC。这些协议集成在HDD控制器上。所以,人们对存储设备的了解通常就是其支持的协议。这一部分将会描述每一个存储设备协议的细节。
5.3.1 IDE/ATA
集成电路设备/高级技术(Integrated Device Electronics/Advanced Technology Attachment,IDE/ATA)磁盘支持IDE协议。IDE/ATA这个词体现了对于这一接口不同代和变体的双重命名的惯例。IDE/ATA里面的IDE这一部分定义了连接到主板上的控制器的规范,用于与连接的设备进行通信。
而ATA部分则规定了连接存储设备到主板的接口,例如CD-ROM、软盘驱动器和硬盘驱动器等。
IDE/ATA拥有多种标准和命名,例如ATA、ATA/ATAPI、EIDE、ATA-2、Fast ATA、ATA-3、UltraATA以及Ultra DMA等。最新的一个ATA版本是UltraDMA/133,支持133MB/s的吞吐率。
在一个主从配置里面,一个ATA的接口支持每个连接器连接两个存储设备。但是,如果驱动器的性能是首要的,就不推荐两个设备共享一个接口了。
图5-2展示了两种常用的IDE连接器以及其连接的线缆。一种是40针的连接器,用来连接ATA磁盘到主板,另一种是34针的连接器,用于连接软盘驱动器到主板。
IDE/ATA磁盘提供很好的性能并且价格低廉,使其成为很受欢迎并被广泛应用的硬盘。
5.3.2 SATA
SATA(Serial ATA)是IDE/ATA规范的一个串行版本。SATA是一个磁盘接口技术,由一个工业领头厂商组织制定,目标是取代并行ATA技术。
SATA提供点对点,距离可达1米的连接,数据传输率可达150MB/s。增强的SATA版本还将数据传输率提高到了600MB/s。
SATA总线使用一条专用线路将每个存储设备直接连接到主机上,利用的是低电压差分信号技术(Low-VoltageDifferential Signaling,LVDS)。LVDS是一个电信号系统,可以使用廉价的双绞铜缆提供高速的连接。对于数据传输来说,SATA总线使用250mV的LVDS。
SATA总线使用小型的7针连接器和细缆来进行连接。一个SATA端口使用4个信号针脚,对比于并行ATA使用26个信号针脚连接80根线缆到40针的连接器上而言,这种方式大大提高了针脚的利用率。
SATA设备是可热插拔的,这意味着它们可以在主机开启和运行过程中连接或者卸载。SATA端口只允许单设备连接。如果连接多个SATA驱动器到一个主机上,该主机需要有多个端口。单设备连接是被SATA规范强制规定的,这样避免了类似IDE/ATA规范上线缆或者端口共享所造成的性能问题。
5.3.3 并行SCSI
SCSI有多种可用的接口。并行SCSI(简称SCSI)是一种最早期和最流行的主机存储接口模式。SCSI是一套用于连接外围设备和计算机并进行相互间的数据传输的标准。通常SCSI用于连接硬盘和磁带到主机。SCSI也可以用于连接多种类型的设备,例如扫描仪和打印机。主机和存储设备之间的通信使用SCSI指令集,这在本章后面会进行描述。
从一开始,SCSI就一直经历着快速的修订过程,其性能也不断提高。最早期的SCSI接口类型称为SCSI-1,提供了5MB/s的数据传输率;SCSIUltra 320提供了320MB/s的数据传输率。其他的SCSI版本和传输速率可以参考表5-1。
表5-1提供了IDE/ATA和SCSI两种最流行的硬盘接口的特性之间的对比。
表5-1 IDE/ATA和SCSI的对比
特性 | IDE/ATA | SCSI |
速率 | 100 133 150MB/s | 320MB/s |
连接类型 | 内置 | 内置或外置 |
费用 | 低廉 | 中等偏高 |
热插拔 | 不可以 | 可以 |
性能 | 中等偏低 | 高 |
配置易用性 | 高 | 低到中等 |
最大支持设备数 | 2 | 16 |
串行连接的SCSI磁盘:
串行连接SCSI(Serial Attached SCSI,SAS)是在SCSI Ultra320发展后的版本。SAS满足了可扩展、高性能、高可靠性和可管理性等数据中心的需求,同时促使其和SATA一起成为通用的电气与物理连接接口。SAS使用SCSI指令进行通信,并且与SATA的针脚是兼容的。SAS支持3Gbit/s(SAS 300)的数据传输率。它支持双端口、全双工、设备寻址,以及使用简单的协议使控制器和驱动器之间的协同工作问题变得更少。通过扩展器,它可以连接多个设备,这对于需要更高速度磁盘存取的高端服务器来说是个很好的选择。
5.4 并行SCSI介绍
Shugart Associates和NCR公司在1981年开发了一种系统接口称为Shugart Associates System Interface(SASI)。SASI被开发出来用于建立一个私有的高性能标准,而且优先由这两个公司使用。但是,为了提高SASI在工业上的接受度,这个标准升级为更加健壮的接口,并命名为SCSI。在1986年,美国国家标准协会(American National Standards Institution,ANSI)批准SCSI接口作为一个新的工业标准。
SCSI起初发明出来是被用于硬盘的,而且经常被用于与IDE/ATA做对比。SCSI提供了更好的性能、可扩展性和兼容性,这使得它更适合高端计算机。但是SCSI的昂贵成本也制约了它向家庭和商业桌面用户普及的程度。
FC磁盘:
FC磁盘使用FC-AL拓扑(铜缆FC-AL2)。FC是千兆存储网络技术的一个规格。虽然FC磁盘被用于SAN技术的扩展,但是它们也可以用于DAS。高端的存储系统会通过8个GFC(千兆光纤通道)达到更高速的光纤通道访问速率(8.5Gbit/s)。
5.4.1 SCSI的演化
在SCSI发展之前,用于设备间通信的接口,因设备差异而各不相同。例如,HDD接口只能用于硬盘驱动器。SCSI被开发用于提供一个设备无关的机制,用于连接和访问计算机主机。
SCSI也提供一种高效的多设备点到点的I/O总线。今天,SCSI已经作为一种广泛使用的硬盘接口。然而,SCSI还可以用于增加其他设备,例如磁带驱动器和光媒介驱动器,而且不需修改系统的硬件或软件。在这些年来,SCSI经历了彻底性的改变,进化为一种更健壮的工业标准。各种SCSI标准会在这一部分进行详细介绍。
SCSI-1
SCSI-1,只是为了与其他SCSI版本区别而重新命名,实际上就是最原始的经ANSI批准通过的标准。SCSI-1定义了第一个SCSI总线的基础规范,包括线缆长度、信号特性、指令和传输模式。SCSI-1设备只支持单端的传输和被动终端。SCSI-1使用一个窄口的8位总线,提供的数据传输率最大为5MB/s。
SCSI-1的实现最终导致了设备间的不兼容,并衍生了几种子标准集。针对这些问题,改进SCSI-1标准的工作从1985年开始,而且在一年后新标准就被正式批准通过了。
SCSI-2
为了控制由初始SCSI的非标准实现引起的多种多样的问题,一份工作文件被建立起来并被定义为SCSI设备的一套标准指令。这套标准称为"通用指令集(Common Command Set,CCS)",构成了SCSI-2标准的基础。
SCSI-2专注于提高性能和增强可靠性以及在SCSI-1接口上增加额外的特性,除此之外,它还标准化和规范化了SCSI的指令。在1994年,ANSI撤回了SCSI-1标准,并且批准通过了SCSI-2标准,并成为一个大型的标准文档X3.131-1994。从SCSI-1到SCSI-2的转换并没有引起太大的关注,因为SCSI-2提供了对SCSI-1的向后兼容性。
SCSI-3
在1993年,发展下一代SCSI标准版本的工作开始进行,称为SCSI-3。不同于SCSI-2,SCSI-3标准文档包含了不同的但又有所关联的许多标准,而不只是一份大型的标准文档。
5.4.2 SCSI接口
伴随着SCSI标准的演化,SCSI接口也经历了几次改进。并行SCSI,或者称为SCSI并行接口(SCSIparallel interface,SPI),是最初始的SCSI接口(表5-2列出了一些可用的并行SCSI接口)。
SCSI的设计现在偏向于串行连接SCSI(Serial Attached SCSI,SAS),是一种基于串行点到点的设计,并且保留了SCSI技术的其他特点。
除了列在表5-2上的接口之外,许多接口并不是完整的SCSI标准,但是仍然实现了SCSI指令模型。
表5-2 SCSI接口
接口 | 标准 | 总线位宽 | 时钟速率 | 最大吞吐率 | 最大设备数 |
SCSI-1 | SCSI-1 | 8 | 5MHz | 5MB/s | 8 |
Fast SCSI | SCSI-2 | 8 | 10MHz | 10MB/s | 8 |
Fast Wide SCSI | SCSI-2; SCSI-3 SPI | 16 | 10MHz | 20MB/s | 16 |
Ultra SCSI | SCSI-3 SPI | 8 | 20MHz | 20MB/s | 8 |
Ultra Wide SCSI | SCSI-3 SPI | 16 | 20MHz | 40MB/s | 16 |
Ultra2 SCSI | SCSI-3 SPI-2 | 8 | 40MHz | 40MB/s | 8 |
Ultra2 Wide SCSI | SCSI-3 SPI-2 | 16 | 40MHz | 80MB/s | 16 |
Ultra3 SCSI | SCSI-3 SPI-3 | 16 | 40MHz DDR | 160MB/s | 16 |
Ultra320 SCSI | SCSI-3 SPI-4 | 16 | 80MHz DDR | 320MB/s | 16 |
Ultra640 SCSI | SCSI-3 SPI-5 | 16 | 160MHz DDR | 640MB/s | 16 |
研究和商业数据实例:
FCP(光纤通道协议)是SCSI-3在光纤通道网络上的一个实现。一个新的SCSI设计,称为iSCSI,在互联网协议(IP)上实现了SCSI-3标准,并且使用TCP作为传输机制。
5.4.3 SCSI-3架构
SCSI-3架构定义和分类了多种SCSI-3标准和SCSI-3实现的需求(更多的信息请参考Technical CommitteeT10"SCSI Architecture Model-3(SAM-3)"文档,这些文档可以在www.t10.org上找到)。SCSI-3结构被ANSI批准通过并发布成标准X.3.270-1996。这个架构帮助开发者、硬件设计者和用户更好地理解并更高效地利用SCSI。SCSI体系结构模型的三个最主要的部分如下。
SCSI-3指令协议:这包含了对于所有设备来说最主要的指令,同时也包括特定设备的指令,即对给定类别的设备来说是唯一的。
传输层协议:这是一套设备间通信和共享信息的标准集规则。
物理层互连:这是关于接口的一些细节,例如电子信号方法和数据传输模式等。
通用存取方法(Common Access Method)是一个ANSI为SCSI设备设计的软件接口。图5-3展示了SCSI-3标准结构,包含了SCSI-3相关的其他一些标准组。
SCSI-3客户-服务器模型
SCSI-3结构继承了客户-服务器关系模型的基础,在这里客户可以直接发服务请求给服务器,然后服务器响应客户的请求。在SCSI环境里,一个发起方-目标方的概念用于实现客户-服务器模型。在SCSI-3的客户-服务器模型中,一个特定的SCSI设备作为一个SCSI目标方设备,或一个SCSI发起方设备,或一个SCSI 目标方/发起方设备。每一个设备都会实现以下功能。
SCSI发起方设备:发出指令到SCSI 目标方设备进行任务描述。一个SCSI主机适配器就是一个发起方的例子。
SCSI目标方设备:执行SCSI 发起方发送过来的指令并完成任务。典型地,一个SCSI外围设备就扮演着一个目标方设备的角色。但是,在特定的实现里面,主机适配器也可以是一个目标方设备。
图5-4展示了SCSI-3的客户-服务器模型,在这里一个SCSI发起方,或者说一个客户,发送一个请求给SCSI目标方或者说一个服务器。然后这个目标方执行任务请求,并且使用协议服务接口发送输出信息给发起方。
一个SCSI目标方设备包含一个或多个逻辑单元。一个逻辑单元就是一个对象,实现了在SCSI指令标准中描述的其中一种设备功能模型。逻辑单元处理SCSI 发起方发送过来的指令。一个逻辑单元包含两个部件:一个设备服务器和一个任务管理器,就像图5-4所示的那样。设备服务器确定客户请求,任务管理器执行管理功能。
SCSI发起方设备包含一个应用客户端和任务管理功能,用于初始化设备服务和任务管理请求。每个设备服务请求包含一个命令描述块(CommandDescriptor Block,CDB)。CDB定义了要执行的指令,列出特定指令输入和其他参数,用于指定如何执行指令。应用客户端在逻辑单元里创建任务和对象,描述了指令相关的工作和一系列链接指令。一个任务会持续下去直到发送"任务完成响应",或者被任务管理功能中止或异常中止。
SCSI设备由特有的数字来识别,称为SCSI ID。在窄口SCSI(总线位宽=8)里面,设备号是数字0到7;在宽口SCSI(总线位宽=16)里面,设备号是数字0到15。这些ID号指定了设备在SCSI总线上的优先级。在窄口SCSI里面,号码7是最高优先级而号码0则是最低优先级。在宽口SCSI里面,设备ID从8到15拥有最高优先级,但整个宽口SCSI的ID序列的优先级都比窄口SCSI的ID要低。所以,整个宽口SCSI总的优先级序列为7、6、5、4、3、2、1、0、15、14、13、12、11、10、9和8。
当一个设备被初始化时,SCSI允许在总线上自动分配设备ID,这避免了两个或多个设备使用同一个SCSI ID。
SCSI端口
SCSI端口是SCSI的物理连接器,可连接SCSI线缆,用于与SCSI设备通信。一个SCSI设备可以包含目标端口、发起端口和目标/发起端口,或者带多端口的目标端口。基于端口的不同组合,一个SCSI设备可以分为发起方模型、目标方模型、复合模型或者带多端口的目标方模型(如图5-5所示)。
在发起方模型中,SCSI发起方设备只有发起端口。所以,应用客户端只可以发起请求到服务交付子系统或接收确认。这种设备不能为任何请求提供服务,所以也不包含逻辑单元。
同样地,一个SCSI目标方设备也只有一个目标端口,可以为请求提供服务,但不能发起请求。SCSI目标方/发起方设备就有一个目标/发起端口,可以根据其在I/O操作中所扮演的不同角色,在不同功能间进行切换。为了从多个设备上为请求提供服务,一个SCSI设备也可以拥有同一类型的多个端口(通常为目标端口)。
SCSI通信模型
SCSI通信模型(如图5-6所示)包含三个互相关联的层,由SAM-3定义,与OSI七层模型很相似。较低的层向较高的层提供服务。而一个较高层要与低层通信,采用调用低层所提供的服务的方式。每一层的协议定义了对等层实体间的通信方式。
SCSI通信模型有3个层。
SCSI应用层(SCSI application layer,SAL):这一层包含了客户端和服务器端的应用程序,通过SCSI应用程序协议发起和处理SCSI的I/O操作。
SCSI传输协议层(SCSItransport protocol layer,STPL):这一层包含发起方和目标方进行通信的服务和协议。
互连层:这一层实现了发起方和目标方之间的数据传输功能。互连层也被称作服务交付子系统,包含服务、信号机制和互连数据传输等。
5.4.4 并行SCSI编址
在并行SCSI发起方-目标方的通信中(如图5-7所示),发起方ID唯一标识了发起方,并且被用作初始地址。这个ID在0到15的范围内,通常0到7是最常用的。一个目标方ID唯一确定了一个目标方,并且被用于与发起方交换指令和状态信息。目标方ID在0到15的范围内。
SCSI编址用于标识主机和设备。在这些编址方案里面,UNIX的命名惯例用于标识磁盘和三种标识符―发起方ID、目标方ID和一个LUN―以cn|tn|dn的格式,也被称作ctd编址。在这里,cn是发起方ID,通常被称作控制器ID;tn是设备的目标方ID,例如t0、t1、t2,依此类推;dn是设备的编号,反映了设备单元的实际地址,例如d0、d1和d2等。一个LUN确定了目标方的一个确定的逻辑单元。不同厂商SCSI编址的实现有所不同。图5-7展示了SCSI架构的ctd编址模式。
5.5 SCSI指令模型
在SCSI通信模型中(不论哪种接口类型:并行SCSI、SAS或FC-AL2),发起方和目标方使用指令协议标准互相通信。初始的SCSI指令架构适用于并行SCSI总线,后来被iSCSI和串行SCSI采用而且改动很小。其他使用SCSI指令集的技术有ATA报文接口、USB大容量存储器类和FireWireSBP-2。SCSI指令模型由CDB定义。CDB结构将会在下一节详述。
5.5.1 CDB结构
发起方使用CDB结构发送指令到目标方。CDB定义了与发起方请求相关的,会被设备服务器执行的操作。CDB包含了1个字节的操作码,后接5个或更多字节的特定指令参数,结尾是1个字节的控制字段(如图5-8所示)。指令规定小于等于16个字节。而CDB的长度会根据不同的指令及其参数而改变。
5.5.2 操作码
操作码包含分组码字段和指令码字段(如图5-9所示)。
分组码字段是一个3比特的字段,描述了表5-3里的指令指定参数的长度。
表5-3 分组码
分组码 | 特定指令参数 |
0 | 6字节 |
1和2 | 10字节 |
3 | 保留 |
4 | 16字节 |
5 | 12字节 |
6和7 | 厂商指定 |
指令码字段是一个5比特的字段,允许每个分组有32个指令码,一共有256个可用的操作码(如图5-9所示)。但是,只有60个不同的SCSI指令用于发起方和目标方之间的通信。常用的SCSI指令在表5-4中列举出来。
表5-4 常用的SCSI指令
指令 | 描述 |
READ | 从设备读数据 |
WRITE | 写数据到设备 |
TEST UNIT READY | 查询设备是否准备好进行数据传输 |
INQUIRY | 返回基本信息,也可以 作为测试设备连通性 |
REPORT LUNS | 列出逻辑设备编号 |
SEND AND RECEIVE DIAGNOSTIC RESULTS | 运行简单的自测试或者指定 的在诊断页上定义的测试 |
FORMAT UNIT | 设置所有扇区为0并且分 配逻辑块,避免缺陷扇区 |
LOG SENSE | 从日志页返回当前信息 |
LOG SELECT | 用于修改SCSI目标方 设备上日志页的数据 |
MODE SENSE | 从模式页返回当前设备参数 |
MODE SELECT | 在一个模式页上设置设备参数 |
5.5.3 控制字段
控制字段是一个1字节的字段,是CDB的最后一个字节。控制字段实现了标准自动应急处理(normal autocontingent allegiance,NACA)和链接比特。控制字段结构如图5-10所示。
NACA比特和相关的ACA机制一般不被使用。NACA比特指定当指令返回CHECK CONDITION状态的时候,自动应急处理(auto contingent allegiance,ACA)是否会被创建。
链接比特在实际中也不会用到。这个比特可以被用作跨越多个指令延续任务。链接比特为1时表示发起方请求跨越多个SCSI指令延续任务。比特3到5被保留,最后剩下的两个比特是厂商指定的。
5.5.4 状态
在指令执行之后,逻辑单元发送状态和标记给客户应用程序。这个状态(除了INTERMEDIATE和INTERMEDIATE-CONDITION MET)都表示一个任务的终结。表5-5展示了十六进制码和相关的状态。
表5-5 SCSI状态码
状态字节码 | 状态 |
0h | GOOD |
2h | CHECK CONDITION |
4h | CONDITION MET |
8h | BUSY |
10h | INTERMEDIATE |
14h | INTERMEDIATE-CONDITION MET |
18h | RESERVATION CONFLICT |
22h | COMMAND TERMINATED |
28h | TASK SET FULL |
30h | ACA ACTIVE |
其他所有码 | 保留 |
DAS拥有几个优势,如简便、容易配置和管理等,但它在可扩展性和可用性方面的局限限制了其在企业存储解决方案中的应用。DAS仍然使用在小型或中型的企业中,主要针对本地数据访问和共享,以及在某些环境中与SAN和NAS结合。存储设备(如IDE/ATA磁盘)被广泛用于建立DAS。SATA、SAS、SCSI和FC是其他一些实现在磁盘控制器上的协议,也被用在DAS环境中。
在企业的存储解决方案时,由于DAS的局限性,企业更偏好于使用SAN和NAS。SCSI协议是SAN的基本建构块。SCSI作为一个客户-服务器模型,使用SCSI指令和SCSI端口编址,在发起方和目标方之间进行通信。在SAN中使用的FCP(光纤通道协议),是SCSI-3在FC上的一个实现。NAS使用TCP/IP作为主机和NAS设备之间的传输协议。下一章将会描述基于SCSI的存储网络技术体系结构。