存储基础知识目录1网络存储技术................................................................................................................................11.1NAS简介.............................................................................................................................11.2SAN协议.............................................................................................................................31.3SCSI访问控制原理.............................................................................................................4RAID技术详解................................................................................................................................60写惩罚.....................................................................................................................................60计算IOPS................................................................................................................................621网络存储技术1.1NAS简介在20世纪80年代初,英国纽卡斯尔大学布赖恩.兰德尔教授(BrianRandell)和同事通过“纽卡斯尔连接”成功示范和开发了在整套UNIX机器上的远程文件访问。继“纽卡斯尔连接”之后,1984年Sun公司发布了NFS协议,允许网络服务器与网络客户分享他们的存储空间。90年代初Auspex工程师创建了集成的NetApp文件管理器,它支持windowsCIFS和UNIXNFS协议,并有卓越的可扩展性和易于部署,从此市场有了专用NAS设备。在短短几年中,NAS凭借简便高效应用的中心思想,逐渐成为网络数据存储方案的主打设备之一。目前EMC公司Celerra产品拥有优异的性能及多功能性,在全球NAS市场处于领导地位。NAS概念NAS(Network-AttachedStorage,网络附加存储)是指连接到计算机网络的文件级别计算机数据存储,可以为不同客户端提供数据存取。NAS被定义为一种特殊的专用数据存储服务器,包括存储器件(一个或多个硬盘驱动器的网络设备,这些硬盘驱动器通常安排为逻辑的、冗余的存储容器或者RAID阵列)和内嵌系统软件,可提供跨平台文件共享功能。NAS通常在一个LAN上占有自己的节点,无需应用服务器的干预,允许用户在网络上存取数据,在这种配置中,NAS集中管理和处理网络上的所有数据,将负载从应用或企业服务器上卸载下来,有效降低总拥有成本,保护用户投资。NAS本身能够支持多种协议(如NFS、CIFS、FTP、HTTP等),而且能够支持各种操作系统。NAS是真正即插即用的产品,并且物理位置灵活,可放置在工作组内,也可放在混合环境中,如混合了Unix/Windows局域网的环境中,而无需对网络环境进行任何的修改。NAS产品直接通过网络接口连接到网络上,只需简单地配置一下IP地址,就可以被网络上的用户所共享。NAS特点与采用存储区域网络(SAN-StorageAreaNetwork)的方案比较,采用网络附加存储(NAS-Network-AttachedStorage)结构的方案具有以下特点:1.以网络为中心,开放的标准协议支持区别于存储区域网络(SAN)的设计方案,网络接入存储(NAS)的模式以网络为中心。该方案利用现有的以太网网络资源来接入专用的网络存储设备,而不是另外再部署昂贵的光纤交换机网络来连接传统的存储设备,这样保护了用户对以太网的投资。近年来,千兆以太网的传输带宽(1000Mbps,为125MB/s)已经得到普及,并且有望朝万兆以太网发展。届时,以太网的传输带宽将会是10倍于SAN赖以生存的各种SCSI和FiberChannel协议的传输带宽。EMC公司Celerra产品支持目前最流行的TCP/IP网络协议,而使用的NFS和CIFS文件服务协议也是业界标准协议,充分做到设备的兼容性。2.独立的操作系统Celerra的DART操作系统具备自主知识产权,专注于文件系统的传输。该操作系统功能强大,性能优越,保证了文件系统高速可靠的传输。Celerra后端通过SAN网络连接后端存储设备,拥有多条链路冗余,避免单点故障,保障了数据安全性。用户的数据只要保存一个拷贝,即可被前端的各种类型的主机所使用,因此,具备主机无关性。Celerra的DART操作系统对于不同操作系统Unix和Windows同样保证了数据共享,并且各自的访问权限亦可得到相应的保证。3.安装及管理简便NAS无需服务器直接上网,而是采用面向用户设计的、专门用于数据存储的简化操作系统,内置了与网络连接所需的协议,整个系统的管理和设置较为简单。Celerra只要现有的网络具有空闲的网口,在无需关机的情况下,即可提供给前端不同类型主机进行访问,无需在主机上安装任何的软硬件。4.NAS底层协议NAS采用了NFS(Sun)沟通Unix阵营和CIFS沟通NT阵营,这也反映了NAS是基于操作系统的“文件级”读写操作,访问请求是根据“文件句柄+偏移量”得出。由于NAS以上诸多优点及良好的兼容性,笔者相信NAS未来将会得到更加广泛的应用。1.2SAN协议SAN(StorageAreaNetwork的简称)直译过来就是存储区域网络,它采用光纤通道(FibreChannel)技术,通过光纤通道交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN网络存储是一种高速网络或子网络,SAN存储系统提供在计算机与存储系统之间的数据传输。一个SAN网络由负责网络连接的通信结构、负责组织连接的管理层、存储部件以及计算机系统构成,从而使SAN技术保证数据传输的安全性和力度。SAN具有以下几点优势:1.SAN的可扩展性意味着你有少数的磁盘不受连接到系统上的限制。SAN可以增长到数百个磁盘,但是普通物理服务器的极限只有十几个。2.SAN的性能不会受到以太网流量或本地磁盘访问量的制约。数据通过SAN从自己的私有网络传送,隔开用户流量、备份流量和其他SAN流量。3.在正确的配置环境下,SAN数据被区域划分。用户保存数据的分区和其他人处在同样的SAN.SAN区域隔离就如同将UNIX服务器和Windows服务器连接到相同的SAN上,但这两种服务器上的数据访问是不同的,事实上,Windows系统不能“看到”UNIX的数据,反之亦然。4.SAN系统不需要重新启动就能添加新的磁盘,更换磁盘或配置RAID组。数据流完全避开服务器系统,SAN同样增加了数据备份和恢复性能。5.分区也可以在SAN上将你的工作负载分离。不仅是将你的数据分离保护,而且对那些影响应用程序性能的不相关的工作负载采取屏蔽。在适当的区域应用SAN共享从性能上讲不是问题。6.SAN有个无可比拟的优势,就是存储连接距离为10公里距离(约6英里)。不是说你一定会用到这个优势,但当你需要的时候,它就能显现出来。具有距离优势,可以将数据存储到一个独立的位置,从系统服务中脱离出来。7.在如SAN这样的存储网络上的自动精简配置的空间利用效率,要比本地存储的来得高。当一个系统需要更多的存储资源时,SAN将动态分配资源。这意味着物理系统可以享受自动精简配置,就像虚拟化那样。1.3SCSI访问控制原理SCSI-2Reserve(预留)/Release(释放)/Reset(重置)SCSI-2协议中客户端访问lun过程如下:1、客户端向lun发起预留操作2、预留操作成功后,客户端获得lun操作权限;预留失败,提示预留冲突,会继续尝试,直到预留成功。3、客户端操作完毕后,执行释放操作,其他客户端可以预留。SCSI-2访问控制主要缺点有:1、预留操作基于路径。预留和释放必须由相同的客户端完成,一台主机不能释放另外一台主机的预留,同一主机HBA卡不能取消相同主机另外一块HBA的预留。2、预留无法长久保留。主机重启将会丢失预留信息。3、如果lun已经被预留,其他主机无法再预留。如果其他主机要想获得lun操作权限,必须对lun进行重置,重置操作可能会导致数据丢失。重置后释放掉lun现有的预留,重置操作由lun主动发起,原来预留主机并不知晓。SCSI-3PersistentReserve(PR)/PREEMPT(抢占)SCSI-3协议引入PGR(persistentgroupreservation)功能。在访问lun之前,客户端首先向lun注册(registration)一个预留密钥(reservationkey),注册成功后客户端可以尝试进行永久预留(reserve),永久预留成功后就可以获得lun操作权限。预留密钥是一串16进制的ASCII码,最长8个字节。永久预留一共6种类型,由1、3、5、6、7、8数字表示。包括两种操作类型和三种客户类型,操作类型包括写排它和所有访问排他,客户类型包括所有客户端、已注册客户端和所属客户端。数字与永久预留类型对应关系如下:1-writeexclusive3-exclusiveaccess5-writeexclusive-registrantsonly6-exclusiveaccess-registrantsonly7-writeexclusive-allregistrants8-exclusiveaccess-allregistrants.不同注册类型对应不同访问权限。与SCSI-2不同,SCSI-3释放操作根据预留密钥。不同客户端可以使用相同密钥或是不同密钥进行预留,具体可以结合永久预留类型决定。客户端可以通过抢占来获取已被永久预留的lun访问权限。SCSI-3抢占和SCSI-2重置不一样,抢占不会造成数据丢失。SCSI-3关于PGR相关操作命令分为两大类:分别是PRIN和PROUT。PRIN主要用于查询,PROUT用于修改。SCSI命令执行过程中,需要明确该命令是哪种类型。常见使用场景1、集群I/OFencing为了防止集群故障发生“脑裂”现象,2-节点集群可以通过SCSI-2Reseve/Release触发I/Ofencing来保证整个集群正常运行,是SCSI-2不适用于多-节点集群,多-节点集群可以使用SCSI-3PGR。主流厂商集群套件都已经支持SCSI-3PGR,比如:VCS、HACAMP、RHCS等。2、集群文件系统集群文件系统需要保证多节点同时访问存储时的数据一致性,SCSI-2/SCSI-3都可以满足,当一个节点尝试访问一个已经被预留的存储就会产生访问权限冲突。SCSI-3PGR相比SCSI-2Reserve/Release更能够减少访问权限冲突。1.4NAS实现类型对比:统一式、网关式和横向扩展式(Scale-out)NAS主要有三种类型的实现:统一式、网关式和横向扩展式(Scale-out)。统一NAS使用统一的存储平台将基于NAS和基于SAN的数据访问合并,提供了可以同时管理二种环境的统一管理