注:本文为 “存储基本概念 、协议、接口” 相关文章合辑。
未整理去重。
图片清晰度限于原文状态。
存储基本概念(lun,volume,HBA,DAS,NAS,SAN,iSCSI,IPSAN)
liukuan73 于 2015-05-05 19:07:46 发布
1.lun
LUN 的全称是 Logical Unit Number,也就是逻辑单元号,其主要作用是为了给相连的服务器分配逻辑单元号 (LUN)。磁盘阵列上的硬盘组成 RAID 组后,通常连接磁盘阵列的服务器并不能直接访问 RAID 组,而是要再划分为逻辑单元才能分配给服务器。这是因为 SCSI 总线上可挂接的设备数量是有限的,一般为 8 个或者 16 个,我们可以用 Target ID (也有称为 SCSI ID 的) 来描述这些设备,设备只要一加入系统,就有一个代号,在区别设备的时候,只要说几号几号就可以了。而实际上需要用来描述的对象,是远远超过该数字的,于是引进了 LUN 的概念,也就是说 LUN ID 的作用就是扩充了 Target ID。每个 Target 下都可以有多个 LUN Device,通常简称 LUN Device 为 LUN,这样就可以说每个设备的描述就由原来的 Target x 变成 Target x LUN y 了。LUN 就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方。
LUN ID 不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的 LUN 可能是磁盘空间,可能是磁带机,或者是 media changer 等等。
LUN 的神秘之处 (相对于一些新手来说) 在于,它很多时候不是什么可见的实体,而是一些虚拟的对象。比如一个阵列柜,主机那边看作是一个 Target Device,那为了某些特殊需要,我们要将磁盘阵列柜的磁盘空间划分成若干个小的单元给主机来用,于是就产生了一些什么逻辑驱动器的说法,也就是比 Target Device 级别更低的逻辑对象,我们习惯于把这些更小的磁盘资源称之为 LUN0、LUN1、LUN2… 什么的。而操作系统的机制使然,操作系统识别的最小存储对象级别就是 LUN Device,这是一个逻辑对象,所以很多时候被称为 Logical Device。服务器识别到的最小的存储资源,就是 LUN 级别的。主机的 HBA 卡看到的存储上的存储资源就靠主要两个东西来定位,一个就是存储系统的控制器 (Target),一个就是 LUN ID,这个 LUN 是由存储的控制系统给定的,是存储系统的某部分存储资源。一旦服务器与 LUN 连接上,就可以通过当前的网络接口将数据传输到磁盘阵列上。
2.volume
LUN 是对存储设备而言的,volume 是对主机而言的。
怎么去理解呢?选择存储设备上的多个硬盘形成一个 RAID 组,再在 RAID 组的基础上创建一个或多个 LUN(一般创建一个 LUN)。许多厂商的存储设备只支持一个 RAID 组上创一个 LUN。此时 LUN 相对于存储设备是一个逻辑设备。当网络中的主机连接到存储设备时,就可以识别到存储设备上逻辑设备 LUN,此时 LUN 相对于主机来讲就是一个 “物理硬盘”,与 C 盘 D 盘所在 IDC 或 SCSI 硬盘的性属是相同的。在该 “物理硬盘” 上创建一个或多个分区,再创建文件系统,才可以得到一个 VOLUME。此时 VOLUME 相对于主机是一个逻辑设备。
从容量大小方面比较 VOLUME,分区、LUN、RAID 的关系如下:
VOLUME = 分区 ≤ 主机设备管理器中的磁盘 = LUN ≤ RAID ≤ 存储设备中硬盘的总容量。
上述只是针对一般情况,VOLUME 也只是针对主机来讲。个别厂商对 LUN 和 VOLUME 定义与普通厂商的定义不同,甚至会起一些奇怪的名称,这些名称即使是存储行业的资深人士也不一定全明白。不过只要你能分清楚其实质就行。
3.HBA
HBA,即主机总线适配器英文 “Host Bus Adapter” 缩写。是一个在服务器和存储装置间提供输入 / 输出 (I/O) 处理和物理连接的电路板或集成电路适配器。因为 HBA 减轻了主处理器在数据存储和检索任务的负担,它能够提高服务器的性能。一个 HBA 和与之相连的磁盘子系统有时一起被称作一个磁盘通道。
a、总线适配器是个什么东西呢?
我们首先要了解一下主机的结构,一台计算机内部多半由两条总线串起来 (当然实际情况会有不同,这里只讨论常见的,简单的情况),一条总线叫系统总线,一条叫 I/O 总线。系统总线上接了 CPU,Memory,cache 什么的,I/O 总线上接的就是外围设备,现如今最常见的就是 PCI 总线了。这两条总线之间用桥接的芯片或者说电路连接起来。举个形象的例子,就好比一个城市里,有两条主干道,一条属于行政区,一条属于商业区,中间有个环岛,将两条主干道连接到了一起,系统总线就好比行政区里的主干道,而 I/O 总线就好比商业区的主干道。系统总线和 I/O 总线的带宽的单位都是以 Gbyte 来记,但是显而易见的是,行政区的主干道和商业区的主干道相比的话,前者肯定更 “核心”,更宽,更顺畅,设计的要求也高。 我们知道,在向公仆部门要求服务的时候,是要有一些接口的部门和程序的,而桥接芯片的作用就是连接和协调两条总线的工作的。
虽然 I/O 总线的速度和系统总线的带宽相比要低很多,但是好歹也是以 G 来计量的,而我们知道外围设备的速度,往往只有几百兆,甚至几十 k 而已,怎么协调工作呢?好比卖煎饼果子摊子不能直接戳到城市主干道上,怎么办?好办,在主干道边上开个 2000 平米的小吃城,把摊子都收进去好了。那么主机总线适配器的作用也就是这个,我们就是要把外设组织起来,连接到 I/O 总线上去!HBA 就是指 Host 和 I/O BUS 直接的一个适配器,也好比一个水管工常说的 “双通”。
b、常见的 HBA 有哪些呢?
比如显卡,网卡,scsi 卡,1394 卡等等。 我要拿出来说的就是 FCHBA 和 ATA&IDE。我们通常说的什么 Emulex 的 LP9002,什么 Qlogic 的 QLA2340 都是 FCHBA 卡,就是将 Fibre Channel 的设备和 IO 总线连接起来的适配器 。ATA 也是一种适配器技术,我们 PC 主板上的 ATA 接口,就是一个磁盘适配器的对外接口,要强调的就是,ATA 说的是适配器技术,IDE 是说得存储外设技术 ,比如我们可以说 IDE 硬盘,IDE 光驱,说 ATA 接口,但是说 IDE 接口,ATA 硬盘就不时那么合适了,虽然很多情况下,大家都习惯把他们混在一起说。
描述 HBA 的时候,有几个主要的规范要说一下
> 一个承上,就是说,HBA 和 IOBUS 怎么连,我们经常说的 PCI 接口卡,就是指这个 HBA 卡是要插在 PCI BUS 上的 PCI slot 上的,但是现在的计算机上,不仅仅只有 PCI 总线而已,大家碰到的时候留意。
> 一个启下,就是说 HBA 要和外设怎么连,这样的规范就很多了。
> 再说 HBA 本身,比如带宽,比如运行机制 (protocol 等),独立处理能力等等
Tips:有时候我们看到的一块卡,看到的实际是一个物理的卡,有的时候实际上是多个 Adapter,好比一家机构,挂多个牌子,有的时候,一块卡有两条通道,好比一家公司,有两套人马。
4.DAS
DAS(Direct Attached Storage— 直接连接存储),是指将存储设备通过 SCSI 接口或光纤通道直接连接到服务器上。
直连式存储依赖服务器主机操作系统进行数据的 IO 读写和存储维护管理,数据备份和恢复要求占用服务器主机资源(包括 CPU、系统 IO 等),数据流需要回流主机再到服务器连接着的磁带机(库),数据备份通常占用服务器主机资源 20-30%,因此许多企业用户的日常数据备份常常在深夜或业务系统不繁忙时进行,以免影响正常业务系统的运行。直连式存储的数据量越大,备份和恢复的时间就越长,对服务器硬件的依赖性和影响就越大。
直连式存储与服务器主机之间的连接通道通常采用 SCSI 连接,带宽为 10MB/s、20MB/s、40MB/s、80MB/s 等,随着服务器 CPU 的处理能力越来越强,存储硬盘空间越来越大,阵列的硬盘数量越来越多,SCSI 通道将会成为 IO 瓶颈;服务器主机 SCSI ID 资源有限,能够建立的 SCSI 通道连接有限。
无论直连式存储还是服务器主机的扩展,从一台服务器扩展为多台服务器组成的群集 (Cluster),或存储阵列容量的扩展,都会造成业务系统的停机,从而给企业带来经济损失,对于银行、电信、传媒等行业 7×24 小时服务的关键业务系统,这是不可接受的。并且直连式存储或服务器主机的升级扩展,只能由原设备厂商提供,往往受原设备厂商限制。
5.NAS
NAS(Network Attached Storage— 网络附加存储),即将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上。NAS 是部件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。需要共享文件的工程小组就是典型的例子。
NAS 没有解决与文件服务器相关的一个关键性问题,即备份过程中的带宽消耗。与将备份数据流从 LAN 中转移出去的存储区域网(SAN)不同,NAS 仍使用网络进行备份和恢复。NAS 的一个缺点是它将存储事务由并行 SCSI 连接转移到了网络上。这就是说 LAN 除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求。
随着 IP 网络技术的发展,网络接入存储(NAS)技术发生质的飞跃。早期 80 年代末到 90 年代初的 10Mbps 带宽,网络接入存储作为文件服务器存储,性能受带宽影响;后来快速以太网(100Mbps)、VLAN 虚网、Trunk (Ethernet Channel) 以太网通道的出现,网络接入存储的读写性能得到改善;1998 年千兆以太网(1000Mbps)的出现和投入商用,为网络接入存储(NAS)带来质的变化和市场广泛认可。由于网络接入存储采用 TCP/IP 网络进行数据交换,TCP/IP 是 IT 业界的标准协议,不同厂商的产品(服务器、交换机、NAS 存储)只要满足协议标准就能够实现互连互通,无兼容性的要求;并且 2002 年万兆以太网(10000Mbps)的出现和投入商用,存储网络带宽将大大提高 NAS 存储的性能。NAS 需求旺盛已经成为事实。首先 NAS 几乎继承了磁盘列阵的所有优点,可以将设备通过标准的网络拓扑结构连接,摆脱了服务器和异构化构架的桎梏;其次,在企业数据量飞速膨胀中,SAN、大型磁带库、磁盘柜等产品虽然都是很好的存储解决方案,但他们那高贵的身份和复杂的操作是资金和技术实力有限的中小企业无论如何也不能接受的。NAS 正是满足这种需求的产品,在解决足够的存储和扩展空间的同时,还提供极高的性价比。因此,无论是从适用性还是 TCO 的角度来说,NAS 自然成为多数企业,尤其是大中小企业的最佳选择。
6.SAN
SAN(存储区域网络)采用光纤通道(Fibre Channel ,简称 FC)技术,通过光纤通道交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN 经过十多年历史的发展,已经相当成熟,成为业界的事实标准(但各个厂商的光纤交换技术不完全相同,其服务器和 SAN 存储有兼容性的要求)。SAN 解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。
分析比较
针对 I/O 是整个网络系统效率低下的瓶颈问题,专家们提出了许多种解决办法。其中抓住症结并经过实践检验为最有效的办法是: 将数据从通用的应用服务器中分离出来以简化存储管理。
问题:
由上图可知原来存在的问题:每个新的应用服务器都要有它自己的存储器。这样造成数据处理复杂,随着 应用服务器的不断增加,网络系统效率会急剧下降。
解决办法:
从上可看出: 将存储器从应用服务器中分离出来,进行集中管理。这就是所说的存储网络(Storage Networks)。
使用 存储网络的好处:
统一性:形散神不散,在逻辑上是完全一体的。
实现数据集中管理,因为它们才是企业真正的命脉。
容易扩充,即收缩性很强。
具有容错功能,整个网络无单点故障。
专家们针对这一办法又采取了两种不同的实现手段,即 NAS (Network Attached Storage)网络接入 存储 和 SAN (Storage Area Networks) 存储区域网络 。
NAS:用户通过 TCP/IP 协议访问数据,采用业界标准 文件共享协议如:NFS、HTTP、CIFS 实现共享。
SAN:通过专用 光纤通道交换机 访问数据,采用 SCSI、FC-AL 接口。
什么是 NAS 和 SAN 的根本不同点?
NAS 和 SAN 最本质的不同就是 文件管理系统在哪里。如图:
由上图可以看出,SAN 结构中, 文件管理系统(FS)还是分别在每一个应用服务器上;而 NAS 则是每个应用服务器通过网络共享协议(如:NFS、CIFS)使用同一个文件管理系统。换句话说:NAS 和 SAN 存储系统的区别是 NAS 有自己的文件系统管理。
NAS 是将目光集中在应用、用户和文件以及它们共享的数据上。SAN 是将目光集中在磁盘、磁带以及联接它们的可靠的基础结构。将来从桌面系统到数据集中管理到存储设备的全面解决方案将是 NAS 加 SAN。
7.iSCSI
iSCSI 技术最重要的贡献在于其对传统技术的继承和发展上:其一,SCSI(Small Computer Systems Interface,小型计算机系统接口)技术是被磁盘、磁带等设备广泛采用的存储标准,从 1986 年诞生起到现在仍然保持着良好的发展势头;其二,沿用 TCP/IP 协议,TCP/IP 在网络方面是最通用、最成熟的协议,且 IP 网络的基础建设非常完善。这两点为 iSCSI 的无限扩展提供了夯实的基础。
iSCSI 协议定义了在 TCP/IP 网络发送、接收 block&