LUN 简介

 

一. lun的概念

   lun的全称是logical unit number,也就是逻辑单元号。我们知道scsi总线上可挂接的设备数量是有限的,一般为6个或者15个,我们可以用target ID(也有称为scsi id)来描述这些设备,设备只要一加入系统,就有一个代号,我们在区别设备的时候,只要说几号几号就ok了。

   而实际上我们需要用来描述的对象,是远远超过该数字的,于是我们引进了lun的概念,也就是说lun id的作用就是扩充了target id。每个target下都可以有多个lun device我们通常简称lun devicelun这样就可以说每个设备的描述就有原来的target x变成target x lun y,那么显而易见的,我们描述设备的能力增强了.就好比,以前你给别人邮寄东西,写地址的时候,可以写:

   xx市人民大街54 xxx()

   但是自从高楼大厦越来越多,你不得不这么写:

   xx市人民大街54xx大厦518 xxx ()

 

   所以我们可以总结一下,lun就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方.

 

二.Lun介绍

 

   lun id不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的lun可能是磁盘空间,可能是磁带机,或者是media changer等等.

   lun是一些虚拟的对象。比如一个阵列柜,主机那边看作是一个target device,那为了某些特殊需要,我们要将磁盘阵列柜的磁盘空间划分成若干个小的单元给主机来用,于是就产生了一些什么逻辑驱动器的说法,也就是比target device级别更低的逻辑对象,我们习惯于把这些更小的磁盘资源称之为lun0,lun1,lun2等。而操作系统的机制使然,操作系统识别的最小存储对象级别就是lun device,这是一个逻辑对象,所以很多时候被称之为logical device

   windows里,只看到一个磁盘,但是lun = physical disk 磁盘的属性里可以看到有一个lun的值,只是因为disk没有被划分为多个存储资源对象,而将整个磁盘当作一个lun来用,lun id默认为零,如此而已。

       如:位置 0 (Channel 1, Target 0, Lun 0)

 

  在有些厂商和产品的概念里,lun id被绑定到了具体的device上,比如ibm的一些带库,整个带库只有一个target id,然后changer, tape drive被分别分配为lun0,lun1,lun2等,这只是产品做了特别设计,也是少数情况。

 

三.存储和主机的电气独立时代的lun的概念

在磁盘阵列和磁带库大行其道的时代,存储越来越智能化,越来越像一个独立的机器,实际上存储和主机的电气独立本来就是一个必然趋势。在存储越来越重要的时代,存储要自立门户是必然的事。

如果我们把存储当作一个独立的主机来看,理解起来就很简单了。我们说到lun的概念的时候,我们就要将分为两个层面。

一个层面就是在阵列这个机器的os识别到的范围,

一个层面就是服务器的os识别到的范围。

 

这两个层面是相对独立的,因为如果我们把存储当作一个主机来看,那么它自然有自己的devicetargetlun之说,而服务器也有自己的device,target,lun之说;另外一方面,这两个层面又是相互关联的,一个阵列的控制系统,大多都有虚拟化的功能,阵列想让主机看到什么样的东西,主机才能看到相应的东西。当然,服务器识别到的最小的存储资源,就是lun级别的。那么主机的HBA卡看到的存储上的存储资源就靠主要两个东西来定位,一个就是存储系统的控制器(target),一个就是lun id,这个lun是由存储的控制系统给定的,是存储系统的某部分存储资源。

 

四.lun maskinglun mapping

有了独立的磁盘阵列用了之后,服务器只要看到存储的控制系统,就有可能使用磁盘阵列的磁盘资源,但是磁盘阵列不可能只为某一个服务器来使用,所以他必须管制主机使用某部分磁盘资源。这个管制分为两个部分:

1lun mapping, 类似于绿色通道,就是保证服务器能看到某部分存储资源,

2lun masking,类似于警戒线,就是保证服务器只可访问给它分配的存储资源,而没分配给服务器的资源,就不要染指了。

 

实现lun maskinglun mapping有三种方法:

1)基于存储控制系统来设置:

       基于存储控制系统得设置,是比较常见的设置,比如很多磁盘阵列的控制系统,本身就能设置lun被某服务器看到。比如FastTpartition功能。

 

2)基于存储交换系统来设置:

       基于存储交换系统的设置,也是一种常用的方法,比如常说的zoning

 

3)基于服务器os来设置。

基于服务器os的设置,比较少采用,一般采用安装某些操作系统上安装某些软件来实现,因为这个方法全靠服务器自觉,所以比较少用,呵呵。

 

五.lunmulti-path

存储网络越来越发达了,一个lun有多条通路可以访问。服务器使用多个HBA连接到存储网络,存储网络又可能是由多个交换设备组成,而存储系统又可能有多个控制器和链路,lun到服务器的存储网络链路又可能存在着多条不同的逻辑链路。那么,必然的,同一个physical lun在服务器上必然被识别为多个设备。因为os区别设备无非用的是总线,target idlun id来,只要号码不同,就认为是不同的设备。

由于上面的情况,多路径管理软件应运而生了,比如emcpowerpath这个软件的作用就是让操作系统知道那些操作系统识别到lun实际上是一个真正的physical lun,具体的做法,就是生成一个特别的设备文件,操作系统操作这个特殊的设备文件。而我们知道,设备文件+driver+firmware的一个作用,就是告诉操作系统该怎么使用这个设备。那么就是说,多路径管理软件从driver和设备文件着手,告诉了操作系统怎么来处理这些身份复杂的lun

 

 

 

整理自:http://blog.chinaunix.net/u/31219/showart_1421944.html

 

------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(); DBA2 群:62697977()

DBA3 群:62697850   DBA 超级群:63306533;    

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

你可能感兴趣的:(LUN)