澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

企业数据风险及其控制,存储实战

2019-09-22 作者:服务器运维   |   浏览(188)

将一个主机连接到新的SAN(存储局域网)并不如同连接一个单独的磁盘,或甚至一个直连式SCSI阵列那样。本文将解释目前最佳连接方式背后的原理,以及如何将你的存储设置成具有最佳稳定性。

原文:

有些新手总是在各式各样的概念里绕来绕去,弄的不亦乐乎。所以我就把我的一些理解写了下来,供您参考.我说的不局限于任何一种具体产品和厂家,也可能有些说法和某些厂家的说法不一样,但是我觉得应该算的上是本原的东西,有以不变应万变之功效,呵呵,见笑 
1、关于HBA 
HBA的全称为Host Bus Adapter,即主机总线适配器。 
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直接的一个适配器,也好比一个水管工常说的“双通”。 

LUN是对存储设备而言的,volume是对主机而言的。

如果你已经使用直连式存储阵列,那么它们将教给你很多关于存储世界的常识。它们用LUN(逻辑单元号)来设置阵列本身,然后你必须在主机层次上处理它们。随着存储规模的增大,系统管理员也越来越需要用一种可行和可靠的方式来设置其存储系统。过去,将10-20GB的逻辑单元号分配给10个不同的分区是可以接受的,但是到200GB就不行了。

 

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,好比一家机构,挂多个牌子,有的时候,一块卡有两条通道,好比一家公司,有两套人马。

数据的风险分类

lun是指硬件层分出的逻辑盘,如raid卡可以将做好的400G的raid5再分成若干个逻辑盘,以便于使用,每一个逻辑盘对应一个lun号,OS层仍把这些逻辑盘看做是物理盘。(lun最早出自scsi,后来引申到所有硬件层划分的逻辑盘)

首先,让我们看看在开始建立文件系统之前我们需要做哪几步。在建立文件系统之前,必须先做如下几步:

 

 

数据风险有两个关键领域,而这些都关系到如何将数据提交给客户。第一个风险涉及数据可被非授权的系统进行访问。第二个风险是非授权的人员访问数据。

选择存储设备上的多个硬盘形成一个RAID组,再在RAID组的基础上创建一个或多个LUN(一般创建一个LUN)。许多厂商的存储设备只支持一个RAID组上创一个LUN。此时LUN相对于存储设备是一个逻辑设备。

按照我们所描述的那样设置阵列,将逻辑单元号分配给主机;

有些新手总是在各式各样的概念里绕来绕去,弄的不亦乐乎。所以我就把我的一些理解写了下来,供您参考.我说的不局限于任何一种具体产品和厂家,也可能有些说法和某些厂家的说法不一样,但是我觉得应该算的上是本原的东西,有以不变应万变之功效,呵呵,见笑 
1、关于HBA 
HBA的全称为Host Bus Adapter,即主机总线适配器。 
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直接的一个适配器,也好比一个水管工常说的“双通”。 

 

图片 1

当网络中的主机连接到存储设备时,就可以识别到存储设备上逻辑设备LUN,此时LUN相对于主机来讲就是一个“物理硬盘”,与C盘D盘所在IDC或SCSI硬盘的性属是相同的。在该“物理硬盘”上创建一个或多个分区,再创建文件系统,才可以得到一个VOLUM。此时VOLUME相对于主机是一个逻辑设备。

连接光纤,一条从网卡出来,连到两个属于不同光纤通道网络的交换机;

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,好比一家机构,挂多个牌子,有的时候,一块卡有两条通道,好比一家公司,有两套人马。

2、关于lun

非授权系统的访问

从容量大小方面比较VOLUME,分区、LUN、RAID的关系如下:
 
VOLUME = 分区 ≤ 主机设备管理器中的磁盘 = LUN ≤ RAID ≤ 存储设备中硬盘的总容量。

正确设置两个交换机的分区,以便主机端和阵列端都可以看到对方;

 

a、lun的概念 
   lun的全称是logical unit number,也就是逻辑单元号我们知道scsi总线上可挂接的设备数量是有限的,一般为6个或者15个,我们可以用target ID(也有称为scsi id的)来描述这些设备,设备只要一加入系统,就有一个代号,我们在区别设备的时候,只要说几号几号就ok了。 
   而实际上我们需要用来描述的对象,是远远超过该数字的,于是我们引进了lun的概念,也就是说lun id的作用就是扩充了target id。每个target下都可以有多个lun device,我们通常简称lun device为lun,这样就可以说每个设备的描述就有原来的target x变成target x lun y了,那么显而易见的,我们描述设备的能力增强了.就好比,以前你给别人邮寄东西,写地址的时候,可以写: 
   xx市人民大街54号 xxx(收) 
   但是自从高楼大厦越来越多,你不得不这么写: 
   xx市人民大街54号xx大厦518室 xxx (收) 
   所以我们可以总结一下,lun就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方. 

非授权的系统访问受保护的数据的可能性乍一看似乎不太可能。但是,当你考虑到所有可能产生的系统管理员的错误或故意非法访问,数据被入侵的潜在问题便开始增加。那么,非授权系统如何获取对另一个系统的数据的访问呢?

上述只是针对一般情况,VOLUME也只是针对主机来讲。个别厂商对LUN和VOLUME定义与普通厂商的定义不同,甚至会起一些奇怪的名称,这些名称即使是存储行业的资深人士也不一定全明白。不过只要你能分清楚其实质就行。

确认你能看到所有的逻辑单元号;

 

b、lun是什么东西? 
   lun id不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的lun可能是磁盘空间,可能是磁带机,或者是media changer等等. 
   lun的神秘之处(相对于一些新手来说)在于,它很多时候不是什么可见的实体,而是一些虚拟的对象。比如一个阵列柜,主机那边看作是一个target device,那为了某些特殊需要,我们要将磁盘阵列柜的磁盘空间划分成若干个小的单元给主机来用,于是就产生了一些什么逻辑驱动器的说法,也就是比target device级别更低的逻辑对象,我们习惯于把这些更小的磁盘资源称之为lun0,lun1,lun2....什么的。而操作系统的机制使然,操作系统识别的最小存储对象级别就是lun device,这是一个逻辑对象,所以很多时候被称之为logical device。 
   有人说,我的windows里,就认到一个磁盘呀,没看到什么lun的说法,是不是lun=physical disk呢?回答是否定的,只要你注意,磁盘的属性里就可以看到有一个lun的值,只是因为你的disk没有被划分为多个存储资源对象,而将整个磁盘当作一个lun来用,lun id默认为零,如此而已。 
   我们曾经碰到过这样的问题,比如有人问,我们有一个磁盘阵列,连到了两个主机上,我们划分了一个lun给两个主机认到,然后我们想,先在操作系统将磁盘分为两个区,让两个主机分别使用两个分区,然后再出现某一台主机宕机之后,使用集群软件将该分区切换到另外一个主机上去,这样可行吗?答案也是否定的,集群软件操作的磁盘单元是lun,而不是分区,所以该操作是不可行的。当然,在一些环境,一般也是一些要求比较低的环境,可以在多个主机上挂载不同的磁盘分区,但是这种情况下,实际上是没有涉及到磁盘的切换的,所以在一些高要求的环境里,这种情况根本就不允许存在。 
   还要说明的地方是,在有些厂商和有些产品的概念里,lun id被绑定到了具体的device上,比如ibm的一些带库,整个带库只有一个target id,然后changer,tape drive被分别分配为lun0,lun1,lun2.....,但是我们要注意到,这只是产品做了特别设计,也是少数情况。 

在这种情况下,该数据很可能将通过一个LUN的形式提交。此LUN可以通过任何一个光纤通道连接或互联网小型计算机系统接口(iSCSI)连接来提供。这两种连接类型呈现了相同级别的风险。攻击LUN将需要使用欺骗,使用一台电脑的主机总线适配器(HBA)来改变它呈现给目标系统的WWN。

 

设置多重路径:路径失效备援;

2、关于lun

 

这个目标不太容易完成,因为光纤通道端口一般不使用端口镜像,而攻击者试图拦截(嗅探)流量以了解WWNs在网络上传输数据的方法。攻击者想要欺骗WWN需要关于他们应该针对哪台主机WWNs的内部信息。然而,这在理论上是可能的。

卷是软件层分成的逻辑分区,如LVM的逻辑卷LV对于OS层来说就是一个分区(可以格式化成一种文件系统,挂载到某个目录下),只是逻辑卷的大小是可以扩展的,而且一个逻辑卷可能是由多个物理硬盘组成。本质上LVM是一个软件,介于OS与磁盘驱动程序之间。

最后一步要根据你的操作系统和磁盘阵列进行小心设置。我们很快就将谈到这部分。

a、lun的概念 
   lun的全称是logical unit number,也就是逻辑单元号我们知道scsi总线上可挂接的设备数量是有限的,一般为6个或者15个,我们可以用target ID(也有称为scsi id的)来描述这些设备,设备只要一加入系统,就有一个代号,我们在区别设备的时候,只要说几号几号就ok了。 
   而实际上我们需要用来描述的对象,是远远超过该数字的,于是我们引进了lun的概念,也就是说lun id的作用就是扩充了target id。每个target下都可以有多个lun device,我们通常简称lun device为lun,这样就可以说每个设备的描述就有原来的target x变成target x lun y了,那么显而易见的,我们描述设备的能力增强了.就好比,以前你给别人邮寄东西,写地址的时候,可以写: 
   xx市人民大街54号 xxx(收) 
   但是自从高楼大厦越来越多,你不得不这么写: 
   xx市人民大街54号xx大厦518室 xxx (收) 
   所以我们可以总结一下,lun就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方. 

c、存储和主机的电气独立时代的lun的概念 
还有很多新手总是把阵列里面的磁盘和主机的内部磁盘的一些概念搞混淆了。 
在磁盘阵列和磁带库大行其道的时代,存储越来越智能化,越来越像一个独立的机器,实际上存储和主机的电气独立本来就是一个必然趋势,俗话说得好,儿大要分家嘛。在存储越来越重要的时代,存储要自立门户是必然的事。 
如果我们把存储当作一个独立的主机来看,理解起来就很简单了。我们说到lun的概念的时候,我们就要将分为两个层面。一个层面就是在阵列这个机器的os识别到的范围,一个层面就是服务器的os识别到的范围。这两个层面是相对独立的,因为如果我们把存储当作一个主机来看,那么它自然有自己的device,target,lun之说,而服务器也有自己的device,target,lun之说;另外一方面,这两个层面又是相互关联的,一个阵列的控制系统,大多都有虚拟化的功能,阵列想让主机看到什么样的东西,主机才能看到相应的东西。当然,服务器识别到的最小的存储资源,就是lun级别的。那么主机的HBA卡看到的存储上的存储资源就靠主要两个东西来定位,一个就是存储系统的控制器(target),一个就是lun id,这个lun是由存储的控制系统给定的,是存储系统的某部分存储资源。 

尽管有困难,利用主机欺骗WWN的能力是潜在的风险——而一旦该WWN被欺骗,许多存储环境中的保护措施将被暴露。理论上,WWN欺骗将不得不通过分区定义访问——如果WWN分区被使用,而这是经常发生的情况——同时存储阵列提供的LUN掩码通常基于WWNs进行配置。绕过这两个关键的安全方法,入侵的主机可以访问这些LUN上的所有数据。

LVM名称介绍

如何连接光纤不需要多加说明,我们假定已经知晓如何将每个"路径"保持在不同光纤通道网络的存储上。对交换机进行分区需要更多的知识,但是这要根据不同厂商的实际情况。Brocade,McData,Cisco的交换机都很不一样,但是概念是通用的。决定如何分区,并进行相应设置。

b、lun是什么东西? 
   lun id不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的lun可能是磁盘空间,可能是磁带机,或者是media changer等等. 
   lun的神秘之处(相对于一些新手来说)在于,它很多时候不是什么可见的实体,而是一些虚拟的对象。比如一个阵列柜,主机那边看作是一个target device,那为了某些特殊需要,我们要将磁盘阵列柜的磁盘空间划分成若干个小的单元给主机来用,于是就产生了一些什么逻辑驱动器的说法,也就是比target device级别更低的逻辑对象,我们习惯于把这些更小的磁盘资源称之为lun0,lun1,lun2....什么的。而操作系统的机制使然,操作系统识别的最小存储对象级别就是lun device,这是一个逻辑对象,所以很多时候被称之为logical device。 
   有人说,我的windows里,就认到一个磁盘呀,没看到什么lun的说法,是不是lun=physical disk呢?回答是否定的,只要你注意,磁盘的属性里就可以看到有一个lun的值,只是因为你的disk没有被划分为多个存储资源对象,而将整个磁盘当作一个lun来用,lun id默认为零,如此而已。 
   我们曾经碰到过这样的问题,比如有人问,我们有一个磁盘阵列,连到了两个主机上,我们划分了一个lun给两个主机认到,然后我们想,先在操作系统将磁盘分为两个区,让两个主机分别使用两个分区,然后再出现某一台主机宕机之后,使用集群软件将该分区切换到另外一个主机上去,这样可行吗?答案也是否定的,集群软件操作的磁盘单元是lun,而不是分区,所以该操作是不可行的。当然,在一些环境,一般也是一些要求比较低的环境,可以在多个主机上挂载不同的磁盘分区,但是这种情况下,实际上是没有涉及到磁盘的切换的,所以在一些高要求的环境里,这种情况根本就不允许存在。 
   还要说明的地方是,在有些厂商和有些产品的概念里,lun id被绑定到了具体的device上,比如ibm的一些带库,整个带库只有一个target id,然后changer,tape drive被分别分配为lun0,lun1,lun2.....,但是我们要注意到,这只是产品做了特别设计,也是少数情况。 

d、lun masking,lun mapping 
我们有了独立的磁盘阵列用了之后,服务器只要看到存储的控制系统,就有可能使用磁盘阵列的磁盘资源,但是磁盘阵列不可能只为某一个服务器来使用,所以他必须管制主机使用某部分磁盘资源。这个管制分为两个部分:一部分就是lun mapping,类似于绿色通道,就是保证服务器能看到某部分存储资源,一部分就是lun masking,类似于警戒线,就是保证服务器只可访问给它分配的存储资源,而没分配给服务器的资源,就不要染指了。 
实现lun masking和lun mapping有三种方法:一个是基于存储控制系统来设置,一个是基于存储交换系统来设置,一个是基于服务器os来设置。 
基于存储控制系统得设置,是比较常见的设置,比如很多磁盘阵列的控制系统,本身就能设置lun被某服务器看到。比如FastT的partition功能。 
基于存储交换系统的设置,也是一种常用的方法,比如常说的zoning。 
基于服务器os的设置,比较少采用,一般采用安装某些操作系统上安装某些软件来实现,因为这个方法全靠服务器自觉,所以比较少用,呵呵。

思考在单个磁盘的环境中。假设你已经从一台服务器删除了一个磁盘,并把它放在另一台服务器上——原有的系统对文件保护的措施将发生什么情况?磁盘现在由新的操作系统所拥有,作为这个流氓系统的管理员或root身份,你现在可以更改数据访问的权限。只要攻击者从卷读取和避免写入数据,原来的主机可能永远不会察觉已经发生过什么异常。

PV:物理磁盘

此时,你应该能够"看到"服务器上的新逻辑单元号了。在Windows操作系统下,打开资源管理器就会显示出这些新卷(一些会报告说需要重新启动)。在Linux操作系统下,至少是在最近的版本中,会很快看到新的逻辑单元号。在Solaris,你将需要运行"cfgadm"命令,或者可能需要"devfsadm"命令才能看到新的逻辑单元号。

 

 
e、lun的multi-path 
现在,存储网络越来越发达了,一个lun有多条通路可以访问也不是新鲜事了。 
服务器使用多个HBA连接到存储网络,存储网络又可能是由多个交换设备组成,而存储系统又可能有多个控制器和链路,lun到服务器的存储网络链路又可能存在着多条不同的逻辑链路。那么,必然的,同一个physical lun在服务器上必然被识别为多个设备。因为os区别设备无非用的是总线,target id,lun id来,只要号码不同,就认为是不同的设备。 
由于上面的情况,多路径管理软件应运而生了,比如emc的powerpath,这个软件的作用就是让操作系统知道那些操作系统识别到lun实际上是一个真正的physical lun,具体的做法,就是生成一个特别的设备文件,操作系统操作这个特殊的设备文件。而我们知道,设备文件 driver firmware的一个作用,就是告诉操作系统该怎么使用这个设备。那么就是说,多路径管理软件从driver和设备文件着手,告诉了操作系统怎么来处理这些身份复杂的lun。 
 
 
3、关于备份(Backup)和高可用性(High availability) 
备份,从字面的意思来理解,其实就是现时存在和应用的一个实体的后备实体; 
高可用性,即是指我们硬件的环境、设施、数据、应用系统等,在复杂环境下可用的能力和可能性达到一个较高的值; 
在现实世界里,我们都讲究有一个稳定,可靠,所以我们经常在计算机环境设计里,涉及到高可用性和备份等等元素。 
我首先把这两个词拿出来说,就是不想让新手们在什么双机热备,数据备份亚,集群等等概念里晕的不也乐乎。

防止WWN欺骗和嗅探的另一个最佳实践是交换机专用,连接存储设备只为服务器和存储提供服务,这样终端用户设备和其他系统则不允许共享交换机硬件。这种方法依赖于交换机的物理安全性来限制你的风险。

VG:卷组,多个PV可以组成一个VG,一个VG可以划分成多个LV(逻辑卷)。

如果你只有一条路径通到存储,那么你差不多就在这一步了--现在开始建立文件系统。但是,大多数SAN连接式主机有两条路径到逻辑单元号,因此主机可以两次看到同样的逻辑单元号,每个阵列端一次。由于存储阵列有两个界面,它们实际上是两个阵列端。主机需要注意这种情况,即它们实际上是同一个卷。

c、存储和主机的电气独立时代的lun的概念 
还有很多新手总是把阵列里面的磁盘和主机的内部磁盘的一些概念搞混淆了。 
在磁盘阵列和磁带库大行其道的时代,存储越来越智能化,越来越像一个独立的机器,实际上存储和主机的电气独立本来就是一个必然趋势,俗话说得好,儿大要分家嘛。在存储越来越重要的时代,存储要自立门户是必然的事。 
如果我们把存储当作一个独立的主机来看,理解起来就很简单了。我们说到lun的概念的时候,我们就要将分为两个层面。一个层面就是在阵列这个机器的os识别到的范围,一个层面就是服务器的os识别到的范围。这两个层面是相对独立的,因为如果我们把存储当作一个主机来看,那么它自然有自己的device,target,lun之说,而服务器也有自己的device,target,lun之说;另外一方面,这两个层面又是相互关联的,一个阵列的控制系统,大多都有虚拟化的功能,阵列想让主机看到什么样的东西,主机才能看到相应的东西。当然,服务器识别到的最小的存储资源,就是lun级别的。那么主机的HBA卡看到的存储上的存储资源就靠主要两个东西来定位,一个就是存储系统的控制器(target),一个就是lun id,这个lun是由存储的控制系统给定的,是存储系统的某部分存储资源。 

对于备份我主要说说以下几个方面: 
    a、设备的备份 
    设备的备份,也就是我们在现时使用的设备之外,采取相同或者类似的设备做后备。 
    比如我们在服务器上采用冗余电源,也叫后备电源,我们使用单独的硬盘来做RAID的备用盘,也叫热备盘。 
    如果我们采取单独的一台服务器来做后备,这就成了主机的备份,主机的备份有很多种方式,比较著名的就是所谓的cluster,所谓的双机热备和双机容错,我很不喜欢鼓捣这些概念,我一概称他们为主机热备,因为他们有一个共同的特点,就是都是为了实现主机的备份,即某一个主机失效了,有另外一个主机顶替它来运行。实现主机热备的软件有很多,比如IBM的HACMP,HP的MCSG,SUN的sun cluster,Compaq的Ture Cluster,Veritas的VCS,EMC的autostart,ROSE HA等等 
     
    b、数据的备份 
    数据的备份,就是我们在现时使用的数据之外,实现或设置另外一份不同物理体现的、内容相同的的有效数据拷贝 
    比如我们将生产数据拷贝到磁带上,就是一种数据备份方式。 
    比如我们将生产数据复制到磁盘的另一个分区,另一个文件系统,或者拷贝到别的主机的磁盘上,等等,都是一种数据备份的方式。 
    实现数据备份的软件有很多,比如一些磁带操作的小工具,tar,cpio等,大的工具软件有什么EMC Networker, Symantec Netbackup,CommVault,tapeware等等,数据复制的工具就更多了,操作系统的复制命令呀,emc replicator呀,srdf等等 
        
    c、应用系统的备份 
    应该说应用系统的备份,包含了以上两种备份,因为一个完善的应用系统,其设备和数据都是要求有备份的,那么初次之外,做为一个应用系统,除了设备和数据,他还包含了业务程序,人员,业务逻辑,外部环境等等一系列让应用跑起来的东西。 
    在这个层面,就有一个比较热火的东西,那就是常说的远程容灾。远程容灾,就是在生产系统环境之外,在相隔较远的物理空间,构建相同或类似的一个应用系统,以达到在必要的时候顶替原生产系统工作的目标。 
    要实现远程容灾的目的,除了我们说的外部环境,比如机房,电力,后勤保障,人员配备,业务程序之外,我们比较着重的一个环节,就是数据的问题,也就是我们在两个系统之间要保证数据的相对一致,实现这个目标的方法有很多,比如磁盘阵列之间的卷复制,比如两个主机之间文件系统上的复制,等等。当然,在一个系统里,把数据用磁带导出来,快递到另外一个系统地点,在用磁带把数据导进取,也不能说不是一个办法,但是这样操作,经常会和业务的逻辑相违背(呵呵,这么麻烦又耽误时间,估计一般很难接受)。

数据暴露于一个非授权系统的风险的另一种途径是存储管理员故意或疏忽的配置。存储管理员可以故意或错误地分配LUN到错误的服务器,或者可能为特定服务器选择了错误的LUN。在这两种情况下,没有什么会妨碍管理员这样做,因为分区存在,服务器将被正确连接且分区到阵列。因为服务器会被正确注册到阵列中, LUN屏蔽也不会阻止它的。你可能想知道为什么存储阵列允许这样做。由于迁移的目的,存储供应商提供服务器之间的LUN共享能力,以支持服务器集群。虚拟集群的普及是常见的。为了从一台主机移动虚拟服务器到另一台主机,LUN必须在主机之间共享。

PP:物理区块,将一个VG逻辑的划分成连续的小块。

多重路径是一个基于主机的驱动程序,与阵列支持程序结合在一起,使你可以有冗余连接到存储阵列上。如果你想在所有你所看到的逻辑单元号上建立文件系统,并且决定分别挂载每个逻辑单元号,那么你的磁盘阵列将(很可能)不堪重负。这里有个关于阵列的"主控制器"的概念,如果一个主机端想要访问非主阵列端上的逻辑单元号,而且不是先"通过"首选路径,那么该阵列会启动自我保护。这十分简单,但是是个好方法。

d、lun masking,lun mapping 
我们有了独立的磁盘阵列用了之后,服务器只要看到存储的控制系统,就有可能使用磁盘阵列的磁盘资源,但是磁盘阵列不可能只为某一个服务器来使用,所以他必须管制主机使用某部分磁盘资源。这个管制分为两个部分:一部分就是lun mapping,类似于绿色通道,就是保证服务器能看到某部分存储资源,一部分就是lun masking,类似于警戒线,就是保证服务器只可访问给它分配的存储资源,而没分配给服务器的资源,就不要染指了。 
实现lun masking和lun mapping有三种方法:一个是基于存储控制系统来设置,一个是基于存储交换系统来设置,一个是基于服务器os来设置。 
基于存储控制系统得设置,是比较常见的设置,比如很多磁盘阵列的控制系统,本身就能设置lun被某服务器看到。比如FastT的partition功能。 
基于存储交换系统的设置,也是一种常用的方法,比如常说的zoning。 
基于服务器os的设置,比较少采用,一般采用安装某些操作系统上安装某些软件来实现,因为这个方法全靠服务器自觉,所以比较少用,呵呵。

 

当决定如何保护你的存储时,识别关于LUNs对服务器造成的风险是非常重要的。

LP:逻辑区块,若干个PP组成一个LP,多个PP组成一个LP,类似于raid0;一个LP映射多个PP镜像,类似于raid1。

如果你将逻辑单元号设置成每个控制器一个LUN,交互式的,如同我们上次所建议的那样,那么你的主机将可以成功使用一半的逻辑单元号。主机可以建立文件系统,并成功地使用每个逻辑单元号,但是只能通过首选控制器。除非半数的卷都消失,才可能导致控制器或交换机故障。我们真正想要的是将设备路径抽象出来,并挂载抽象化的设备。使用多重路径设备节点意味着其所代表的"真实"设备可以随时消失,而且只要驱动程序和磁盘阵列良好配合,操作系统就不会看到这个挂载的磁盘设备消失。

 
e、lun的multi-path 
现在,存储网络越来越发达了,一个lun有多条通路可以访问也不是新鲜事了。 
服务器使用多个HBA连接到存储网络,存储网络又可能是由多个交换设备组成,而存储系统又可能有多个控制器和链路,lun到服务器的存储网络链路又可能存在着多条不同的逻辑链路。那么,必然的,同一个physical lun在服务器上必然被识别为多个设备。因为os区别设备无非用的是总线,target id,lun id来,只要号码不同,就认为是不同的设备。 
由于上面的情况,多路径管理软件应运而生了,比如emc的powerpath,这个软件的作用就是让操作系统知道那些操作系统识别到lun实际上是一个真正的physical lun,具体的做法,就是生成一个特别的设备文件,操作系统操作这个特殊的设备文件。而我们知道,设备文件 driver firmware的一个作用,就是告诉操作系统该怎么使用这个设备。那么就是说,多路径管理软件从driver和设备文件着手,告诉了操作系统怎么来处理这些身份复杂的lun。 
 
 
3、关于备份(Backup)和高可用性(High availability) 
备份,从字面的意思来理解,其实就是现时存在和应用的一个实体的后备实体; 
高可用性,即是指我们硬件的环境、设施、数据、应用系统等,在复杂环境下可用的能力和可能性达到一个较高的值; 
在现实世界里,我们都讲究有一个稳定,可靠,所以我们经常在计算机环境设计里,涉及到高可用性和备份等等元素。 
我首先把这两个词拿出来说,就是不想让新手们在什么双机热备,数据备份亚,集群等等概念里晕的不也乐乎。

对于高可用性,我要说的是: 
    可用性,即是指在各种复杂环境下,我们的数据,应用等计算资源都可以保持使用的能力和可能性。比如服务器配备冗余电源,就提高了服务器的可用性,好理解,一个电源工作不正常或者能力不够的是候,服务器不受影响嘛。再比如,我们的磁盘阵列采用双控制器,当某个控制器和链路工作不正常的时候,数据的访问能平滑的过渡到另外一个控制器上和链路上,这也是提高了数据和存储设备的可用性。 
    那么什么是高可用性呢,我们就是一切为了提高系统可用性的实现方法和结果。 
    要拿出来说的就是cluster,或者双机什么的。我们为了实现生产的应用系统的高可用性,其中一个环节就是实现服务器的高可用性,就是某服务器失效或者能力不足时,应用能平滑的过渡到另外的主机上,也就是说对于应用系统来说,服务器保证了相对的可用 
    
那备份和高可用性有什么区别呢? 
    那我要说,这根本没有可比性!因为这是两个不同的概念,他们的着眼点是不同的。备份只是保证了有后备,而高可用性则是为了保证应用的尽快恢复。 
    打个比方,我们说备份就好比买保险,买保险不能保证你平安无事,但是肯定能减轻损失。我们说搞可用性,就是安全气囊,ABS,能让你快速的重新开始或者说将危险消弭于萌芽时刻。 
    所以说我们做备份和提高可用性,两手都不可放松,也不互相矛盾。就好比买了好车,你就不买保险,或者你买了保险,就可以飙车,都是愚蠢的。

非授权人员的访问

LV:由VG划分,若干连续LP组成一个LV(对应OS层的分区)

实际上设置多重路径并不简单。如果你想轻松一点的话,可以使用具有DMP(动态多重路径)功能的Veritas Volume Manager磁盘管理软件。这个软件可以运行在所有的操作系统上,而且其功能一致。当需要在平台之间迁移卷的时候,如果使用操作系统中性的文件系统,那么可以事半功倍。

对于备份我主要说说以下几个方面: 
    a、设备的备份 
    设备的备份,也就是我们在现时使用的设备之外,采取相同或者类似的设备做后备。 
    比如我们在服务器上采用冗余电源,也叫后备电源,我们使用单独的硬盘来做RAID的备用盘,也叫热备盘。 
    如果我们采取单独的一台服务器来做后备,这就成了主机的备份,主机的备份有很多种方式,比较著名的就是所谓的cluster,所谓的双机热备和双机容错,我很不喜欢鼓捣这些概念,我一概称他们为主机热备,因为他们有一个共同的特点,就是都是为了实现主机的备份,即某一个主机失效了,有另外一个主机顶替它来运行。实现主机热备的软件有很多,比如IBM的HACMP,HP的MCSG,SUN的sun cluster,Compaq的Ture Cluster,Veritas的VCS,EMC的autostart,ROSE HA等等 
     
    b、数据的备份 
    数据的备份,就是我们在现时使用的数据之外,实现或设置另外一份不同物理体现的、内容相同的的有效数据拷贝 
    比如我们将生产数据拷贝到磁带上,就是一种数据备份方式。 
    比如我们将生产数据复制到磁盘的另一个分区,另一个文件系统,或者拷贝到别的主机的磁盘上,等等,都是一种数据备份的方式。 
    实现数据备份的软件有很多,比如一些磁带操作的小工具,tar,cpio等,大的工具软件有什么EMC Networker, Symantec Netbackup,CommVault,tapeware等等,数据复制的工具就更多了,操作系统的复制命令呀,emc replicator呀,srdf等等 
        
    c、应用系统的备份 
    应该说应用系统的备份,包含了以上两种备份,因为一个完善的应用系统,其设备和数据都是要求有备份的,那么初次之外,做为一个应用系统,除了设备和数据,他还包含了业务程序,人员,业务逻辑,外部环境等等一系列让应用跑起来的东西。 
    在这个层面,就有一个比较热火的东西,那就是常说的远程容灾。远程容灾,就是在生产系统环境之外,在相隔较远的物理空间,构建相同或类似的一个应用系统,以达到在必要的时候顶替原生产系统工作的目标。 
    要实现远程容灾的目的,除了我们说的外部环境,比如机房,电力,后勤保障,人员配备,业务程序之外,我们比较着重的一个环节,就是数据的问题,也就是我们在两个系统之间要保证数据的相对一致,实现这个目标的方法有很多,比如磁盘阵列之间的卷复制,比如两个主机之间文件系统上的复制,等等。当然,在一个系统里,把数据用磁带导出来,快递到另外一个系统地点,在用磁带把数据导进取,也不能说不是一个办法,但是这样操作,经常会和业务的逻辑相违背(呵呵,这么麻烦又耽误时间,估计一般很难接受)。

 

服务器上静止数据的另一个风险是通过内置服务器中的数据访问机制攻击服务器本身。当服务器被攻陷从而将数据暴露给攻击者时,服务器控制的所有数据将遭受系统本身授权机制的风险。

 

如果你不能使用DMP,你还有两个选择。第一个是尝试从存储制造商那里获得驱动程序。如果你所购买的阵列包括了针对你的操作系统的支持软件,那么你很可能只需要安装该厂商的驱动程序,然后运行它就可以了。如果没有,那么你只好试试使用你的操作系统本身所带的各种多重路径驱动程序。

 

===================================================================================

一旦服务器在攻击者的控制下,攻击者就有改变文件系统权限的能力,这样新的操作系统所有者可以允许访问所有数据。为了收集信息,入侵系统的攻击者并不一定需要开始更改文件系统。也许是攻击者只关心截获的内容或从存储器读取的数据。正如有些工具可以嗅探有线和无线网络的网络流量,有些工具可以嗅探光纤通道网络上的流量。使用入侵系统,或者恶意软件,入侵者可以执行一个嗅探工具并收集系统数据。此外,通过访问这个入侵的系统,攻击者可以发动多次对存储基础架构攻击以获得其他服务器数据的访问。

从容量大小方面比较VOLUME,分区、LUN、RAID的关系如下:
 
VOLUME = 分区 ≤ 主机设备管理器中的磁盘 = LUN ≤ RAID ≤ 存储设备中硬盘的总容量。

例如,Solaris就有很好的支持多重路径的驱动。在使用Sun公司支持的存储时,这个驱动非常好用,但是对于其他一些存储可能就不能发挥作用。因此这有风险,在购买阵列之前,建议你先好好的做一下调研。

对于高可用性,我要说的是: 
    可用性,即是指在各种复杂环境下,我们的数据,应用等计算资源都可以保持使用的能力和可能性。比如服务器配备冗余电源,就提高了服务器的可用性,好理解,一个电源工作不正常或者能力不够的是候,服务器不受影响嘛。再比如,我们的磁盘阵列采用双控制器,当某个控制器和链路工作不正常的时候,数据的访问能平滑的过渡到另外一个控制器上和链路上,这也是提高了数据和存储设备的可用性。 
    那么什么是高可用性呢,我们就是一切为了提高系统可用性的实现方法和结果。 
    要拿出来说的就是cluster,或者双机什么的。我们为了实现生产的应用系统的高可用性,其中一个环节就是实现服务器的高可用性,就是某服务器失效或者能力不足时,应用能平滑的过渡到另外的主机上,也就是说对于应用系统来说,服务器保证了相对的可用 
    
那备份和高可用性有什么区别呢? 
    那我要说,这根本没有可比性!因为这是两个不同的概念,他们的着眼点是不同的。备份只是保证了有后备,而高可用性则是为了保证应用的尽快恢复。 
    打个比方,我们说备份就好比买保险,买保险不能保证你平安无事,但是肯定能减轻损失。我们说搞可用性,就是安全气囊,ABS,能让你快速的重新开始或者说将危险消弭于萌芽时刻。 
    所以说我们做备份和提高可用性,两手都不可放松,也不互相矛盾。就好比买了好车,你就不买保险,或者你买了保险,就可以飙车,都是愚蠢的。

 

数据风险管控最佳实践

 

一旦设置了多重路径,你将有一套可以自由支配的设备。现在真实的设备被抽象化了,因此你需要确定你使用的是多重路径设备节点,而不是物理路径。

 

LUN详解(原创)

 

LUN概述

LUN的全称是Logical Unit Number,也就是逻辑单元号,是SCSI中的概念。 我们用Target ID(也有称为SCSI ID的)来描述这些设备,设备只要一加入系统,就有一个代号,我们在区别设备的时候,只要说几号几号就ok了。 早期的SCSI系统采用3个ID,一个SCSI总线上只能接驳8个设备,除了SCSI控制卡占用了一个ID外,只剩7个设备号可用。尽管SCSI以后采用了4位ID,扩展到了16个设备,但对于现代的存储设备,这种个位数的ID识别号显然不够用。目前生产环境上多产用RAID技术来规划存储,通过RAID组合后的磁盘不再能看到单独的磁盘信息,而是变成了一个巨大的存储空间古老的RAID技术只能将此存储空间整体分配,被指定了一个LUN后,成为了一个“逻辑”磁盘,供接驳的计算机使用
鉴于上述种种原因,于是我们引进了LUN的概念,也就是说LUN ID的作用就是扩充了Target ID。每个Target下都可以有多个LUN Device,我们通常简称LUN Device为LUN,这样就可以说每个设备的描述就有原来的Target x变成Target x LUN y了,那么显而易见的,我们描述设备的能力增强了,同时也能对存储空间内的磁盘进行单独的管理。就好比,以前你给别人邮寄东西,写地址的时候,可以写:
xx市人民大街54号 xxx(收)
但是自从高楼大厦越来越多,你不得不这么写:
xx市人民大街54号xx大厦518室 xxx (收)
所以我们可以总结一下,LUN ID不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的LUN可能是磁盘空间,可能是磁带机,或者是media changer等等。 LUN就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方。

还要说明的地方是,在有些厂商和有些产品的概念里,LUN ID被绑定到了具体的Device上,比如IBM的一些带库,整个带库只有一个Target ID,然后changer,tape drive被分别分配为LUN0、LUN1、LUN2…,但是我们要注意到,这只是产品做了特别设计,也是少数情况。

 

存储和主机的LUN概念区别 
在磁盘阵列和磁带库大行其道的时代,存储越来越智能化,越来越像一个独立的机器,实际上存储和主机的电气独立本来就是一个必然趋势,俗话说得好,儿大要分家嘛。在存储越来越重要的时代,存储要自立门户是必然的事。
如果我们把存储当作一个独立的主机来看,理解起来就很简单了。我们说到LUN的概念的时候,我们就要将分为两个层面。一个层面就是在阵列这个机器的OS识别到的范围,另一个层面就是服务器的OS识别到的范围。这两个层面是相对独立的,因为如果我们把存储当作一个主机来看,那么它自然有自己的Device、Target、LUN之说,而服务器也有自己的Device、Target、LUN之说;另外一方面,这两个层面又是相互关联的,一个阵列的控制系统,大多都有虚拟化的功能,阵列想让主机看到什么样的东西,主机才能看到相应的东西。当然,服务器识别到的最小的存储资源,就是LUN级别的。那么主机的HBA卡看到的存储上的存储资源就主要 靠 两个东西来定位,一个就是存储系统的控制器(Target),一个就是LUN ID,这个LUN是由存储的控制系统给定的,是存储系统的某部分存储资源。

 

LUN masking,LUN mapping和Zone

我们有了独立的磁盘阵列用了之后,服务器只要看到存储的控制系统,就有可能使用磁盘阵列的磁盘资源,但是磁盘阵列不可能只为某一个服务器来使用,所以它必须管制主机使用某部分磁盘资源。实现这种管制的主要技术有:LUN mapping,LUN masking和Zone。

LUN masking

LUN masking是指LUN与主机HBA卡的WWN地址绑定,与主机HBA卡建立一对一或多对一的连接和访问关系。无论主机跳线到同一个FABRIC(无 zone设置)的哪一个端口上,主机都能识别到相同的LUN。存储设备一般默认在卷和主机间建立多对一的对应关系,即一台主机可访问存储设备上的多个卷。 
每块磁盘都在一个队列里,磁盘分区也能被分配成LUN。当多台计算机在同一时间访问同一磁盘时将会导致磁盘数据的混乱。如果你应用LUN masking,那么一个单独的RAID将被分到多个逻辑磁盘上,这些磁盘都分配给了指定的计算机。通过LUN masking,只有特定的LUN才能被特定的SCSI卡访问。不仅是SCSI接口的磁盘阵列,由于FC实际使用的也是SCSI协议,因此较新的FC磁盘阵列也可有提供LUN masking功能。被划分完的LUN设备会属于一个Host Group中。同一Group中的FC卡,能访问这个Group中的LUN,而不能跨越Group访问指派给别的Group的LUN 
逻辑单元数掩码(LUN masking)是以独立磁盘冗余阵列(RAID)为中心的,在一个端口掩码多个LUN的加强型方法。LUN masking在存储控制器级别上进行 主机HBA的WWN绑定,因此存储控制器能够将不同LUN划分给一个或多个主机,可以提供LUN级别的访问控制。

LUN masking也允许磁盘存储资源在多个独立服务器之间共享。单个的大容量RAID设备可以划分子模块,之后通过带LUN masking功能的SAN光纤通道连到RAID上的不同主机上,提供服务。所以,只有一个或者有限的服务器可以看到LUN (例如,磁盘薄片,部分,单元), 可对RAID设备中的每个LUN进行限制。

但并不是所有的RAID设备具有LUN masking能力,这样,为了设置LUN masking, 一些HBA厂商允许在驱动器级进行持久绑定(persistent binding)。

LUN Mapping
LUN Mapping是LUN与存储设备的主机端口进行绑定,工作站连接不同的主机端口时所能访问的LUN不同。
当一个存储系统同时为多个应用系统提供数据存储服务,且不同应用系统的主机分别处于不同的地理地址时,有可能用到第二种LUN Mapping方式。即将不同的LUN与不同的存储主机端口绑定,不同的主机端口与不同的FC交换机或者不同的ZONE连接,从而实现不同的工作站只能访问不同的端口。
一个LUN Mapping中所对应的LUN和存储主机端口(WWPN)成为一个分区。由于存储设备的主机端口数量是一定的,如果划分的LUN Mapping分区越多,分区中存储主机端口就会越少。存储设备的冗余链路连接功能就越小,当一个分区里只能设置一个主机端口时,存储就失去了冗余链路连接功能,整个系统极易因存储主机端口和交换机端口的故障而发生单点故障。 当系统无FC交换机,主机与存储设备的主机端口直连时,通过LUN Mapping实现起来LUN分区非常方便。当所有主机端口都连接到同一个FABRIC时,就需要与 FCswitch的ZONE结合起来一起使用,来实现数据通信的隔离。
不同厂商对LUN Masking和LUN Mapping的定义和解释不完全相同。有的甚至就定义成一个名称,如SAN SHARE,而有的存储干脆就没有LUN Masking和LUN Mapping功能。

 

ZONE

在早期的SAN方案中,服务器大多是同种操作系统,SAN环境下的安全性问题并不突出。但是现在的方案中,异种操作系统并存的需求比比皆是,多套磁盘阵列 子系统或具有多个主机接口的磁盘阵列子系统也很常见。为了保证SAN正常工作,不互相破坏数据。基于FC存储交换机层面的Zoning 分区划分,可以有效提供一种解决方案。这样服务器只能访问同一分区内的设备,提高设备访问的安全性.
很多用户将Zoning 分区和LIP 隔离混淆,认为Zoning 就是LIP 隔离,实际情况为两者是不同的概念。
当FC 存储交换机遵循FC-AL协议工作时,一般所有的设备之间协商AL_PA地址(或常说的Loop_ID),这个过程我们称为环路初始化(LIP)。SAN上有任何新的设备启动都会引起LIP,这时所有的机器停止工作进行地址协商,因此LIP会使系统中断工作.
当 FC存储交换机遵循FC-SW协议工作时,需要特殊的服务来确保SAN正常工作,与上面所说LIP相类似的一个服务就是RSCN。设备做完Fabric Login后会向交换机登记许多信息,当该设备关闭或重新启动时就会引起登记状态的改变,RSCN服务就是负责将登记状态改变信息通知SAN上的所有设 备。
可见,LIP和RSCN都对SAN的正常工作造成破坏,对于一些特殊关键应用甚至是致命的,如视频流应用和磁带库备份应用。根据FC-AL协议标准,LIP一般需要15毫秒,而遵循FC-SW 协议的RSCN根据实际的SAN环境的复杂程度,甚至影响正常通讯达数秒。
对于不具备LIP隔离功能的交换机,在解决RSCN 影响问题时,只能靠Zoning 分区的方法使一个分区的设备对其他分区的设备减轻冲击。但是,在视频流应用的实际测试效果来看,仍然对正常通讯的设备性能造成了较大的影响.
进行zone划分有两种方式:

1.基于端口的Hardware Zoning(硬件分区)划分,可以产生直观、清晰的逻辑划分,在实践中被大量使用。

2. Software Zoning(软件分区)方法,即基于WWN (World Wide Name) 进行分区。不过,软件分区在实际使用中较少使用.

 

FC SWITCH上的ZONE功能类似于以太网交换机上的VLAN功能,它是将连接在SAN网络中的设备(主机和存储),逻辑上划到为不同的区域内,使得不同区域中的设备相互间不能FC网络直接访问,从而实现网络中的设备之间的相互隔离。

Zoning分区可具有以下特点:
a. 分区可以重叠、同一设备可属于不同分区
b. 分区可以在设备运行时动态划分
c. 使不同的操作系统可以在一个SAN里共存

假设两台FC交换机通过级连线连接成一个fabric。红色区域的交换机端口属于ZONE 1,绿色区域属于zone 2,蓝色区域属于zone 3,橙色区域既属于zone 1又属于zone 3,白色为扩张端口区域,不需要定义zone。
在这两台FC交换机组成的fabric中,凡是红色区域zone 1中的设备之间都可以相互访问,但是不能访问绿色区域和蓝色区域中的设备,但可以访问橙色区域中的设备,因为橙色也属于zone 1。
蓝色区域与红色区域相似。
绿色区域zone 2中的设备之间只能可以相互访问,别的任何区域的设备。
橙色区域中的设备既可以访问红色区域中的设备,又可以访问蓝色区域中的设备,但不能访问绿色区域中的设备。
按照中方法,无论存储系统的结构有多么复杂,都可以通过画图的方式把LUN、存储设备主机端口,交换机端口和工作站之间的关系分析清楚。

LUN masking和Zone比较 

由上文可以知道,LUN masking和zone的功能都是将特定的LUN划分给特定的主机来实现数据隔离,这两项技术的具体区别如下:

1、交换机里面那个隔离的功能叫Zoning,该功能能做一些隔离和访问限制,但是是基于端口层次的。如果要把一个端口连接的多个LUN区别对待,Zoning就不行了,就得靠阵列控制器里面的Lun Masking功能了。例如,通过同一个端口连接的LUN需要分配给多个主机,那么就需要Lun Masking。

2、LUN masking是在存储控制器或者HBA卡上进行的,可以控制主机访问特定的LUN。Zone

发生在SAN中的交换机上,他将不同的存储正列和主机划归到不同的zone中。

3、 zone是通过交换机端口的强制物理的隔离masking是逻辑隔离,物理没有隔离。在多台服务器连一台或者多台存储用。存储设备有很多,主机不同应用有很多,OS有很多 时,zone能很好的隔离数据。 根据前文所述,LUN masking和只能 主机HBA卡建立一对一或多对一的连接和访问关系, 如果在一个LUN对应多台主机的共享存储架构中,则只能通过zone来实现。 LUN Masking的层面是逻辑的阵列内部,ZONE的层面除了一个设备以外,还有多个设备,而多个设备的情况下,显然这个存储的LUN Masking不能给另外一个存储用。 如果交换机未划分zone那么连接到该换机的主机将可任意访问连接到该交换机的LUN。同时在交换机上划分多个zone也可以有效防止当单个zone失效的时候,影响到其他zone! 因此当主机或者存储特别多的时候,zone就变得很有意义。

 

4、划分zone还一方面是 FC协议本身的问题,在出现意外的情况时,会产生RSCN公告,大量的RSCN时会影响到正常使用,影响NameServer的正常工作,和响应 Fabric Login,通过HardwareZone隔离设备是ZONE的功能之一。也正是因为这样,我们划分ZONE的原则是Single HBA ZONE。现在交换机都采用FC-SW协议了,以前老的loop协议的时候产生LIP,产生LIP会让数据中断。

 

对于存储基础设施和位于其上数据的风险,可以采取什么措施来设计一个健壮的体系架构抵御攻击呢?以下做法提供了最佳可行的缓解实践。

企业数据风险及其控制,存储实战。----refer:

现在到了有趣的部分。你现在开始计划并设计文件系统。这里要十分小心,因为即使有像Vertias或ZFS这样灵活的磁盘管理工具,一旦做出了错误的决定,就将没有退路。如何决定文件系统是要根据使用情况,因此最好的建议就是三思而后行。大部分人希望将一些逻辑单元号合并在一起形成一个大的文件系统,但是不要大到无法用正常时间进行备份。过大的文件系统同时也意味着修复损害需要花费更多的时间。

===================================================================================

· 分区

time :2008/11/12 auther:skate

当然,不要忘记将你的交换机和阵列设置、多重路径以及文件系统设置文件保存在一个安全的地方。多重路径的最好部分就是在测试阶段。前进,开始复制大文件,复制光纤!

 

基于端口的分区,通过主机和存储阵列之间的连接的控制提高了安全性。分区这种方法提供了对一个WWN欺骗攻击的保护。通过端口分区,即使主机系统被引入到一个伪造的WWN的环境中,主机也需要交换机定义的端口中,以便它的访问流量可以传输到存储阵列,因为区域基于端口进行配置的。通过分区的方式,交换机提供了路径,从服务器的HBA到阵列的HBA 。没有那个分区, WWN欺诈就没有路径到阵列。

 

总结

LUN详解(原创)

 

LUN概述

LUN的全称是Logical Unit Number,也就是逻辑单元号,是SCSI中的概念。 我们用Target ID(也有称为SCSI ID的)来描述这些设备,设备只要一加入系统,就有一个代号,我们在区别设备的时候,只要说几号几号就ok了。 早期的SCSI系统采用3个ID,一个SCSI总线上只能接驳8个设备,除了SCSI控制卡占用了一个ID外,只剩7个设备号可用。尽管SCSI以后采用了4位ID,扩展到了16个设备,但对于现代的存储设备,这种个位数的ID识别号显然不够用。目前生产环境上多产用RAID技术来规划存储,通过RAID组合后的磁盘不再能看到单独的磁盘信息,而是变成了一个巨大的存储空间古老的RAID技术只能将此存储空间整体分配,被指定了一个LUN后,成为了一个“逻辑”磁盘,供接驳的计算机使用
鉴于上述种种原因,于是我们引进了LUN的概念,也就是说LUN ID的作用就是扩充了Target ID。每个Target下都可以有多个LUN Device,我们通常简称LUN Device为LUN,这样就可以说每个设备的描述就有原来的Target x变成Target x LUN y了,那么显而易见的,我们描述设备的能力增强了,同时也能对存储空间内的磁盘进行单独的管理。就好比,以前你给别人邮寄东西,写地址的时候,可以写:
xx市人民大街54号 xxx(收)
但是自从高楼大厦越来越多,你不得不这么写:
xx市人民大街54号xx大厦518室 xxx (收)
所以我们可以总结一下,LUN ID不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的LUN可能是磁盘空间,可能是磁带机,或者是media changer等等。 LUN就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方。

还要说明的地方是,在有些厂商和有些产品的概念里,LUN ID被绑定到了具体的Device上,比如IBM的一些带库,整个带库只有一个Target ID,然后changer,tape drive被分别分配为LUN0、LUN1、LUN2…,但是我们要注意到,这只是产品做了特别设计,也是少数情况。

 

存储和主机的LUN概念区别 
在磁盘阵列和磁带库大行其道的时代,存储越来越智能化,越来越像一个独立的机器,实际上存储和主机的电气独立本来就是一个必然趋势,俗话说得好,儿大要分家嘛。在存储越来越重要的时代,存储要自立门户是必然的事。
如果我们把存储当作一个独立的主机来看,理解起来就很简单了。我们说到LUN的概念的时候,我们就要将分为两个层面。一个层面就是在阵列这个机器的OS识别到的范围,另一个层面就是服务器的OS识别到的范围。这两个层面是相对独立的,因为如果我们把存储当作一个主机来看,那么它自然有自己的Device、Target、LUN之说,而服务器也有自己的Device、Target、LUN之说;另外一方面,这两个层面又是相互关联的,一个阵列的控制系统,大多都有虚拟化的功能,阵列想让主机看到什么样的东西,主机才能看到相应的东西。当然,服务器识别到的最小的存储资源,就是LUN级别的。那么主机的HBA卡看到的存储上的存储资源就主要 靠 两个东西来定位,一个就是存储系统的控制器(Target),一个就是LUN ID,这个LUN是由存储的控制系统给定的,是存储系统的某部分存储资源。

 

LUN masking,LUN mapping和Zone

我们有了独立的磁盘阵列用了之后,服务器只要看到存储的控制系统,就有可能使用磁盘阵列的磁盘资源,但是磁盘阵列不可能只为某一个服务器来使用,所以它必须管制主机使用某部分磁盘资源。实现这种管制的主要技术有:LUN mapping,LUN masking和Zone。

LUN masking

LUN masking是指LUN与主机HBA卡的WWN地址绑定,与主机HBA卡建立一对一或多对一的连接和访问关系。无论主机跳线到同一个FABRIC(无 zone设置)的哪一个端口上,主机都能识别到相同的LUN。存储设备一般默认在卷和主机间建立多对一的对应关系,即一台主机可访问存储设备上的多个卷。 
每块磁盘都在一个队列里,磁盘分区也能被分配成LUN。当多台计算机在同一时间访问同一磁盘时将会导致磁盘数据的混乱。如果你应用LUN masking,那么一个单独的RAID将被分到多个逻辑磁盘上,这些磁盘都分配给了指定的计算机。通过LUN masking,只有特定的LUN才能被特定的SCSI卡访问。不仅是SCSI接口的磁盘阵列,由于FC实际使用的也是SCSI协议,因此较新的FC磁盘阵列也可有提供LUN masking功能。被划分完的LUN设备会属于一个Host Group中。同一Group中的FC卡,能访问这个Group中的LUN,而不能跨越Group访问指派给别的Group的LUN 
逻辑单元数掩码(LUN masking)是以独立磁盘冗余阵列(RAID)为中心的,在一个端口掩码多个LUN的加强型方法。LUN masking在存储控制器级别上进行 主机HBA的WWN绑定,因此存储控制器能够将不同LUN划分给一个或多个主机,可以提供LUN级别的访问控制。

LUN masking也允许磁盘存储资源在多个独立服务器之间共享。单个的大容量RAID设备可以划分子模块,之后通过带LUN masking功能的SAN光纤通道连到RAID上的不同主机上,提供服务。所以,只有一个或者有限的服务器可以看到LUN (例如,磁盘薄片,部分,单元), 可对RAID设备中的每个LUN进行限制。

但并不是所有的RAID设备具有LUN masking能力,这样,为了设置LUN masking, 一些HBA厂商允许在驱动器级进行持久绑定(persistent binding)。

LUN Mapping
LUN Mapping是LUN与存储设备的主机端口进行绑定,工作站连接不同的主机端口时所能访问的LUN不同。
当一个存储系统同时为多个应用系统提供数据存储服务,且不同应用系统的主机分别处于不同的地理地址时,有可能用到第二种LUN Mapping方式。即将不同的LUN与不同的存储主机端口绑定,不同的主机端口与不同的FC交换机或者不同的ZONE连接,从而实现不同的工作站只能访问不同的端口。
一个LUN Mapping中所对应的LUN和存储主机端口(WWPN)成为一个分区。由于存储设备的主机端口数量是一定的,如果划分的LUN Mapping分区越多,分区中存储主机端口就会越少。存储设备的冗余链路连接功能就越小,当一个分区里只能设置一个主机端口时,存储就失去了冗余链路连接功能,整个系统极易因存储主机端口和交换机端口的故障而发生单点故障。 当系统无FC交换机,主机与存储设备的主机端口直连时,通过LUN Mapping实现起来LUN分区非常方便。当所有主机端口都连接到同一个FABRIC时,就需要与 FCswitch的ZONE结合起来一起使用,来实现数据通信的隔离。
不同厂商对LUN Masking和LUN Mapping的定义和解释不完全相同。有的甚至就定义成一个名称,如SAN SHARE,而有的存储干脆就没有LUN Masking和LUN Mapping功能。

 

ZONE

在早期的SAN方案中,服务器大多是同种操作系统,SAN环境下的安全性问题并不突出。但是现在的方案中,异种操作系统并存的需求比比皆是,多套磁盘阵列 子系统或具有多个主机接口的磁盘阵列子系统也很常见。为了保证SAN正常工作,不互相破坏数据。基于FC存储交换机层面的Zoning 分区划分,可以有效提供一种解决方案。这样服务器只能访问同一分区内的设备,提高设备访问的安全性.
很多用户将Zoning 分区和LIP 隔离混淆,认为Zoning 就是LIP 隔离,实际情况为两者是不同的概念。
当FC 存储交换机遵循FC-AL协议工作时,一般所有的设备之间协商AL_PA地址(或常说的Loop_ID),这个过程我们称为环路初始化(LIP)。SAN上有任何新的设备启动都会引起LIP,这时所有的机器停止工作进行地址协商,因此LIP会使系统中断工作.
当 FC存储交换机遵循FC-SW协议工作时,需要特殊的服务来确保SAN正常工作,与上面所说LIP相类似的一个服务就是RSCN。设备做完Fabric Login后会向交换机登记许多信息,当该设备关闭或重新启动时就会引起登记状态的改变,RSCN服务就是负责将登记状态改变信息通知SAN上的所有设 备。
可见,LIP和RSCN都对SAN的正常工作造成破坏,对于一些特殊关键应用甚至是致命的,如视频流应用和磁带库备份应用。根据FC-AL协议标准,LIP一般需要15毫秒,而遵循FC-SW 协议的RSCN根据实际的SAN环境的复杂程度,甚至影响正常通讯达数秒。
对于不具备LIP隔离功能的交换机,在解决RSCN 影响问题时,只能靠Zoning 分区的方法使一个分区的设备对其他分区的设备减轻冲击。但是,在视频流应用的实际测试效果来看,仍然对正常通讯的设备性能造成了较大的影响.
进行zone划分有两种方式:

1.基于端口的Hardware Zoning(硬件分区)划分,可以产生直观、清晰的逻辑划分,在实践中被大量使用。

2. Software Zoning(软件分区)方法,即基于WWN (World Wide Name) 进行分区。不过,软件分区在实际使用中较少使用.

 

FC SWITCH上的ZONE功能类似于以太网交换机上的VLAN功能,它是将连接在SAN网络中的设备(主机和存储),逻辑上划到为不同的区域内,使得不同区域中的设备相互间不能FC网络直接访问,从而实现网络中的设备之间的相互隔离。

Zoning分区可具有以下特点:
a. 分区可以重叠、同一设备可属于不同分区
b. 分区可以在设备运行时动态划分
c. 使不同的操作系统可以在一个SAN里共存

 

 

 

图片 2

假设两台FC交换机通过级连线连接成一个fabric。红色区域的交换机端口属于ZONE 1,绿色区域属于zone 2,蓝色区域属于zone 3,橙色区域既属于zone 1又属于zone 3,白色为扩张端口区域,不需要定义zone。
在这两台FC交换机组成的fabric中,凡是红色区域zone 1中的设备之间都可以相互访问,但是不能访问绿色区域和蓝色区域中的设备,但可以访问橙色区域中的设备,因为橙色也属于zone 1。
蓝色区域与红色区域相似。
绿色区域zone 2中的设备之间只能可以相互访问,别的任何区域的设备。
橙色区域中的设备既可以访问红色区域中的设备,又可以访问蓝色区域中的设备,但不能访问绿色区域中的设备。
按照中方法,无论存储系统的结构有多么复杂,都可以通过画图的方式把LUN、存储设备主机端口,交换机端口和工作站之间的关系分析清楚。

LUN masking和Zone比较 

由上文可以知道,LUN masking和zone的功能都是将特定的LUN划分给特定的主机来实现数据隔离,这两项技术的具体区别如下:

1、交换机里面那个隔离的功能叫Zoning,该功能能做一些隔离和访问限制,但是是基于端口层次的。如果要把一个端口连接的多个LUN区别对待,Zoning就不行了,就得靠阵列控制器里面的Lun Masking功能了。例如,通过同一个端口连接的LUN需要分配给多个主机,那么就需要Lun Masking。

2、LUN masking是在存储控制器或者HBA卡上进行的,可以控制主机访问特定的LUN。Zone

发生在SAN中的交换机上,他将不同的存储正列和主机划归到不同的zone中。

3、 zone是通过交换机端口的强制物理的隔离masking是逻辑隔离,物理没有隔离。在多台服务器连一台或者多台存储用。存储设备有很多,主机不同应用有很多,OS有很多 时,zone能很好的隔离数据。 根据前文所述,LUN masking和只能 主机HBA卡建立一对一或多对一的连接和访问关系, 如果在一个LUN对应多台主机的共享存储架构中,则只能通过zone来实现。 LUN Masking的层面是逻辑的阵列内部,ZONE的层面除了一个设备以外,还有多个设备,而多个设备的情况下,显然这个存储的LUN Masking不能给另外一个存储用。 如果交换机未划分zone那么连接到该换机的主机将可任意访问连接到该交换机的LUN。同时在交换机上划分多个zone也可以有效防止当单个zone失效的时候,影响到其他zone! 因此当主机或者存储特别多的时候,zone就变得很有意义。

 

4、划分zone还一方面是 FC协议本身的问题,在出现意外的情况时,会产生RSCN公告,大量的RSCN时会影响到正常使用,影响NameServer的正常工作,和响应 Fabric Login,通过HardwareZone隔离设备是ZONE的功能之一。也正是因为这样,我们划分ZONE的原则是Single HBA ZONE。现在交换机都采用FC-SW协议了,以前老的loop协议的时候产生LIP,产生LIP会让数据中断。

 

参考至:

            

            

             

             

             

 

             

            

 

             

             

本文原创,转载请注明出处、作者

如有错误,欢迎指正

· 阵列

最近存储要升级,对存储的认识也更进一步了,下面是关于存储的一些相关的概念

步骤是:设置阵列,设置交换机,建立多重路径;

阵列已经发展很长时间提供LUN掩码作为保护LUN不会被非授权服务器访问的一种形式。 LUN被非授权系统访问的最可能的原因是存储管理员偶然的或故意的错误配置。针对这一点,最好的防御是确保存储管理员是可信的,胜任的,以及控制和限制只有少数训练有素,可靠的管理员进行存储阵列的管理。

存储的一些基本概念(HBA,LUN)

理想情况下,在每个主机上使用同样的多重路径方案。其次,使用厂商提供的驱动程序。最后一种情况下才使用操作系统本身提供的方案。

· 服务器

有些新手总是在各式各样的概念里绕来绕去,弄的不亦乐乎。所以我就把我的一些理解写了下来,供您参考.我说的不局限于任何一种具体产品和厂家,也可能有些说法和某些厂家的说法不一样,但是我觉得应该算的上是本原的东西,有以不变应万变之功效,呵呵,见笑

运行磁盘管理软件和建立文件系统需要根据实际情况,但是,如果平台之间能够一致的话则最好不过。

为了充分保证存储环境,你必须确保对服务器环境本身进行控制和监视。确保存储基础架构本身是不够的。对任何服务器的访问都可以显著将服务器和存储环境暴露给有害的活动。重要的是,服务器被安全地配置,并且该设备位于有访问控制和监控的安全设施中。变更管理和实时监控,跟踪更改系统和管理员在服务器上的活动,应与存储环境的安全一起实施。不仅在承载数据的服务器,也可用于管理阵列和交换机的管理服务器上采取这些步骤。

1、关于HBA HBA的全称为Host Bus Adapter,即主机总线适配器。

相关文章】

· 员工

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直接的一个适配器,也好比一个水管工常说的“双通”。

  1. 热点关注:并行存储技术任重而道远
  2. 名词解释:分级存储技术
  3. NAS存储技术方式解析

当雇用个人来管理安全存储环境时,必要的技能应包括扎实的存储安全实践知识。计算机安全方法的背景和培训应该被视为一个重要的要求。当然,管理存储阵列的培训和经验也很重要,最好是关于在你的组织中使用的产品,而不是委任其他一些平台管理存储基础架构的管理员。此外,由于SAN是存储和网络融合的结果,具有网络背景可以是非常有价值的。

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,好比一家机构,挂多个牌子,有的时候,一块卡有两条通道,好比一家公司,有两套人马。

...

· 异地数据存储

2、关于lun

异地存储数据(安全地)是任何组织业务连续性流程的一个重要方面。许多厂商会拿起备份磁带并将其移到一个安全的设施。应该对这些设施进行定期审计,以确保向异地发送的所有数据可问责。为了保护数据,不管在磁盘或磁带上都应该被加密。任何形式的在线数据备份应该采用端到端的加密方法。

a、lun的概念   

【编辑推荐】

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

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

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

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

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

b、lun是什么东西?   

lun id不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的lun可能是磁盘空间,可能是磁带机,或者是media changer等等.    lun的神秘之处(相对于一些新手来说)在于,它很多时候不是什么可见的实体,而是一些虚拟的对象。比如一个阵列柜,主机那边看作是一个target device,那为了某些特殊需要,我们要将磁盘阵列柜的磁盘空间划分成若干个小的单元给主机来用,于是就产生了一些什么逻辑驱动器的说法,也就是比target device级别更低的逻辑对象,我们习惯于把这些更小的磁盘资源称之为lun0,lun1,lun2....什么的。而操作系统的机制使然,操作系统识别的最小存储对象级别就是lun device,这是一个逻辑对象,所以很多时候被称之为logical device。    有人说,我的windows里,就认到一个磁盘呀,没看到什么lun的说法,是不是lun=physical disk呢?回答是否定的,只要你注意,磁盘的属性里就可以看到有一个lun的值,只是因为你的disk没有被划分为多个存储资源对象,而将整个磁盘当作一个lun来用,lun id默认为零,如此而已。    我们曾经碰到过这样的问题,比如有人问,我们有一个磁盘阵列,连到了两个主机上,我们划分了一个lun给两个主机认到,然后我们想,先在操作系统将磁盘分为两个区,让两个主机分别使用两个分区,然后再出现某一台主机宕机之后,使用集群软件将该分区切换到另外一个主机上去,这样可行吗?答案也是否定的,集群软件操作的磁盘单元是lun,而不是分区,所以该操作是不可行的。当然,在一些环境,一般也是一些要求比较低的环境,可以在多个主机上挂载不同的磁盘分区,但是这种情况下,实际上是没有涉及到磁盘的切换的,所以在一些高要求的环境里,这种情况根本就不允许存在。    还要说明的地方是,在有些厂商和有些产品的概念里,lun id被绑定到了具体的device上,比如ibm的一些带库,整个带库只有一个target id,然后changer,tape drive被分别分配为lun0,lun1,lun2.....,但是我们要注意到,这只是产品做了特别设计,也是少数情况。

c、存储和主机的电气独立时代的lun的概念 还有很多新手总是把阵列里面的磁盘和主机的内部磁盘的一些概念搞混淆了。 在磁盘阵列和磁带库大行其道的时代,存储越来越智能化,越来越像一个独立的机器,实际上存储和主机的电气独立本来就是一个必然趋势,俗话说得好,儿大要分家嘛。在存储越来越重要的时代,存储要自立门户是必然的事。 如果我们把存储当作一个独立的主机来看,理解起来就很简单了。我们说到lun的概念的时候,我们就要将分为两个层面。一个层面就是在阵列这个机器的os识别到的范围,一个层面就是服务器的os识别到的范围。这两个层面是相对独立的,因为如果我们把存储当作一个主机来看,那么它自然有自己的device,target,lun之说,而服务器也有自己的device,target,lun之说;另外一方面,这两个层面又是相互关联的,一个阵列的控制系统,大多都有虚拟化的功能,阵列想让主机看到什么样的东西,主机才能看到相应的东西。当然,服务器识别到的最小的存储资源,就是lun级别的。那么主机的HBA卡看到的存储上的存储资源就靠主要两个东西来定位,一个就是存储系统的控制器(target),一个就是lun id,这个lun是由存储的控制系统给定的,是存储系统的某部分存储资源。

d、lun masking,lun mapping 我们有了独立的磁盘阵列用了之后,服务器只要看到存储的控制系统,就有可能使用磁盘阵列的磁盘资源,但是磁盘阵列不可能只为某一个服务器来使用,所以他必须管制主机使用某部分磁盘资源。这个管制分为两个部分:一部分就是lun mapping,类似于绿色通道,就是保证服务器能看到某部分存储资源,一部分就是lun masking,类似于警戒线,就是保证服务器只可访问给它分配的存储资源,而没分配给服务器的资源,就不要染指了。 实现lun masking和lun mapping有三种方法:一个是基于存储控制系统来设置,一个是基于存储交换系统来设置,一个是基于服务器os来设置。 基于存储控制系统得设置,是比较常见的设置,比如很多磁盘阵列的控制系统,本身就能设置lun被某服务器看到。比如FastT的partition功能。 基于存储交换系统的设置,也是一种常用的方法,比如常说的zoning。 基于服务器os的设置,比较少采用,一般采用安装某些操作系统上安装某些软件来实现,因为这个方法全靠服务器自觉,所以比较少用,呵呵。

e、lun的multi-path 现在,存储网络越来越发达了,一个lun有多条通路可以访问也不是新鲜事了。 服务器使用多个HBA连接到存储网络,存储网络又可能是由多个交换设备组成,而存储系统又可能有多个控制器和链路,lun到服务器的存储网络链路又可能存在着多条不同的逻辑链路。那么,必然的,同一个physical lun在服务器上必然被识别为多个设备。因为os区别设备无非用的是总线,target id,lun id来,只要号码不同,就认为是不同的设备。 由于上面的情况,多路径管理软件应运而生了,比如emc的powerpath,这个软件的作用就是让操作系统知道那些操作系统识别到lun实际上是一个真正的physical lun,具体的做法,就是生成一个特别的设备文件,操作系统操作这个特殊的设备文件。而我们知道,设备文件 driver firmware的一个作用,就是告诉操作系统该怎么使用这个设备。那么就是说,多路径管理软件从driver和设备文件着手,告诉了操作系统怎么来处理这些身份复杂的lun。

3、关于备份(Backup)和高可用性(High availability) 备份,从字面的意思来理解,其实就是现时存在和应用的一个实体的后备实体; 高可用性,即是指我们硬件的环境、设施、数据、应用系统等,在复杂环境下可用的能力和可能性达到一个较高的值; 在现实世界里,我们都讲究有一个稳定,可靠,所以我们经常在计算机环境设计里,涉及到高可用性和备份等等元素。 我首先把这两个词拿出来说,就是不想让新手们在什么双机热备,数据备份亚,集群等等概念里晕的不也乐乎。

对于备份我主要说说以下几个方面:    

a、设备的备份    

设备的备份,也就是我们在现时使用的设备之外,采取相同或者类似的设备做后备。     比如我们在服务器上采用冗余电源,也叫后备电源,我们使用单独的硬盘来做RAID的备用盘,也叫热备盘。     如果我们采取单独的一台服务器来做后备,这就成了主机的备份,主机的备份有很多种方式,比较著名的就是所谓的cluster,所谓的双机热备和双机容错,我很不喜欢鼓捣这些概念,我一概称他们为主机热备,因为他们有一个共同的特点,就是都是为了实现主机的备份,即某一个主机失效了,有另外一个主机顶替它来运行。实现主机热备的软件有很多,比如IBM的HACMP,HP的MCSG,SUN的sun cluster,Compaq的Ture Cluster,Veritas的VCS,EMC的autostart,ROSE HA等等         

b、数据的备份    

数据的备份,就是我们在现时使用的数据之外,实现或设置另外一份不同物理体现的、内容相同的的有效数据拷贝     比如我们将生产数据拷贝到磁带上,就是一种数据备份方式。     比如我们将生产数据复制到磁盘的另一个分区,另一个文件系统,或者拷贝到别的主机的磁盘上,等等,都是一种数据备份的方式。     实现数据备份的软件有很多,比如一些磁带操作的小工具,tar,cpio等,大的工具软件有什么EMC Networker, Symantec Netbackup,CommVault,tapeware等等,数据复制的工具就更多了,操作系统的复制命令呀,emc replicator呀,srdf等等

c、应用系统的备份    

应该说应用系统的备份,包含了以上两种备份,因为一个完善的应用系统,其设备和数据都是要求有备份的,那么初次之外,做为一个应用系统,除了设备和数据,他还包含了业务程序,人员,业务逻辑,外部环境等等一系列让应用跑起来的东西。     在这个层面,就有一个比较热火的东西,那就是常说的远程容灾。远程容灾,就是在生产系统环境之外,在相隔较远的物理空间,构建相同或类似的一个应用系统,以达到在必要的时候顶替原生产系统工作的目标。     要实现远程容灾的目的,除了我们说的外部环境,比如机房,电力,后勤保障,人员配备,业务程序之外,我们比较着重的一个环节,就是数据的问题,也就是我们在两个系统之间要保证数据的相对一致,实现这个目标的方法有很多,比如磁盘阵列之间的卷复制,比如两个主机之间文件系统上的复制,等等。当然,在一个系统里,把数据用磁带导出来,快递到另外一个系统地点,在用磁带把数据导进取,也不能说不是一个办法,但是这样操作,经常会和业务的逻辑相违背(呵呵,这么麻烦又耽误时间,估计一般很难接受)。

对于高可用性,我要说的是:    

可用性,即是指在各种复杂环境下,我们的数据,应用等计算资源都可以保持使用的能力和可能性。比如服务器配备冗余电源,就提高了服务器的可用性,好理解,一个电源工作不正常或者能力不够的是候,服务器不受影响嘛。再比如,我们的磁盘阵列采用双控制器,当某个控制器和链路工作不正常的时候,数据的访问能平滑的过渡到另外一个控制器上和链路上,这也是提高了数据和存储设备的可用性。    

那么什么是高可用性呢,我们就是一切为了提高系统可用性的实现方法和结果。    

要拿出来说的就是cluster,或者双机什么的。我们为了实现生产的应用系统的高可用性,其中一个环节就是实现服务器的高可用性,就是某服务器失效或者能力不足时,应用能平滑的过渡到另外的主机上,也就是说对于应用系统来说,服务器保证了相对的可用    

那备份和高可用性有什么区别呢?    

那我要说,这根本没有可比性!因为这是两个不同的概念,他们的着眼点是不同的。备份只是保证了有后备,而高可用性则是为了保证应用的尽快恢复。    

打个比方,我们说备份就好比买保险,买保险不能保证你平安无事,但是肯定能减轻损失。我们说搞可用性,就是安全气囊,ABS,能让你快速的重新开始或者说将危险消弭于萌芽时刻。     所以说我们做备份和提高可用性,两手都不可放松,也不互相矛盾。就好比买了好车,你就不买保险,或者你买了保险,就可以飙车,都是愚蠢的。

 

 

-----refer:

LVM磁盘管理 

一、LVM简介... 1 

二、 LVM基本术语... 2

三、 安装LVM... 3

四、 创建和管理LVM... 4

2、 创建PV.. 6

3、 创建VG.. 7

4、 创建LV.. 9

5、LV格式化及挂载... 10

一、LVM简介

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。 

与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、 'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。 

如图所示LVM模型: 

图片 3

由四个磁盘分区可以组成一个很大的空间,然后在这些空间上划分一些逻辑分区,当一个逻辑分区的空间不够用的时候,可以从剩余空间上划分一些空间给空间不够用的分区使用。 

二、 LVM基本术语

前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语: 

物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。 

物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。 

卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。 

逻辑卷(logical volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。 

PE(physical extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。 

LE(logical extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。 

简单来说就是: 

PV:是物理的磁盘分区 

VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。 

LV:也就是从VG中划分的逻辑分区 

如下图所示PV、VG、LV三者关系: 

图片 4

三、 安装LVM 首先确定系统中是否安装了lvm工具:     [root@www root]# rpm –qa|grep lvm     lvm-1.0.3-4 如果命令结果输入类似于上例,那么说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网络下载或者从光盘装LVM rpm工具包。 

四、 创建和管理LVM

要创建一个LVM系统,一般需要经过以下步骤: 1、 创建分区 

使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。如下列图所示: 

图片 5

查看磁盘分区表 

图片 6

使用fdisk创建分区,根据设备文件的绝对路径(/dev/hda)进入分区管理 

图片 7

图片 8

一定要指定分区的格式为8e,这是LVM的分区格式

2、 创建PV 

图片 9

3、 创建VG 

图片 10

图片 11

创建完成VG之后,才能从VG中划分一个LV。 

4、 创建LV 

图片 12

创建了一个名字为lvData,容量大小是100M的分区,其中:-L:指定LV的大小 -n:指定LV的名。Vo1Group00:表示从这个VG中划分LV; 

5、LV格式化及挂载 

下一步需要对LV进行格式化(使用mksf进行格式化操作),然后LV才能存储资料 

图片 13

将格式化后的LV分区挂载到指定的目录下,就可以像普通目录一样存储数据了 

图片 14

挂载之后,可以看到此LV的容量。 

如果要在系统启动的时候启动LV,最好是将lvData写入fstable 文件中,如下所示: 

图片 15

使用Vim编辑器,打开/etc/fstab,在最后一行添加如图中所示,其中/dev/VolGroup00/lvData指定需要挂载的分区LV,/root/test指定要挂载的目录(挂载点),ext3分区文件系统格式,其它使用默认即可

 

扩容当前分区

一、首先创建一块新的分区:

fdisk  /dev/hda

n

l        #选择逻辑分区,如果没有,则首先创建扩展分区,然后再添加逻辑分区(硬盘:最多四个分区P-P-P-P或P-P-P-E)

6        #分区号(从5开始),/dev/hda6

t      8e   #分区类型8e表示LVM分区

w        #写入分区表

partprobe   #重读分区表

mkfs –t ext3 /dev/hda6 #格式化

partx /dev/hda #查看当前硬盘的分区表及使用情况

二、创建PV,扩容VG,LV

pvcreate /dev/hda6

vgdisplay #查看当前已经存在的VG信息,以存在VG:VolGroup00为例

vgextend VolGroup00 /dev/hda6    #扩展VolGroup00

lvdisplay #查看已经存在的LV信息,以存在LV:LogVol01为例

lvextend –L 1G /dev/VolGroup00/LogVol01 #扩展LV

resize2fs /dev/VolGroup00/LogVol01 #执行该重设大小,对于当前正在使用的LogVol01有效

df –h #查看挂载情况,已经扩容

 

 

本文由澳门新萄京官方网站发布于服务器运维,转载请注明出处:企业数据风险及其控制,存储实战

关键词: