虚拟磁盘、卷和文件系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1RAID、虚拟磁盘、卷和文件系统存储技术——第3部分2目标理解软件和硬件RAID的区别RAID卡和SCSI卡架构理解磁盘柜和磁盘阵列的原理深刻理解LUN和卷的重要性理解虚拟磁盘和卷之间的关系分区和分区表的定义文件系统的重要性3目录3.1软件和硬件RAID3.2理解磁盘阵列和LUN3.3虚拟磁盘、卷和文件系统43.1软件和硬件RAID53.1.1软件RAID在主机上编写程序,运行于操作系统底层,将从主机SCSI或者IDE控制器提交上来的物理磁盘,运用RAID算法,虚拟成各种模式的虚拟磁盘,然后再提交给上层程序接口,这就是用软件实现的RAID,也叫软RAID。——为了保证性能,最好不用将IDE和SCSI硬盘混搭做RAIDWindows系统RAID介绍:——跨区卷:一个卷的空间可以跨越多个物理磁盘,相当于没做条带的RAID0,只是把磁盘容量累加。——带区卷:相当于条带化的RAID0系统。——镜像卷:相当于RAID1系统。——RAID5卷:相当于RAID5系统。Windows的动态磁盘管理实际上应该算是一个带有RAID功能的卷管理软件,而不仅仅是RAID软件。63.1.1软件RAID的缺点软件RAID有三大缺点,决定了它无法在对安全性要求高的环境使用:——占用内存空间——占用CPU资源——无法将安装有操作系统的那个磁盘分区做成RAID模式73.1.2硬件RAID软件RAID的缺点如此之多,也就决定了对硬件RAID的需求,RAID卡就是一种利用独立硬件来实现RAID功能的方法。如果要在硬件上实现RAID功能,必须找一个物理硬件作为载体,SCSI卡或者主板的南桥芯片无疑就是最好的载体了,也就是说需要在SCSI卡或南桥上增加一个可以执行RAID算法的芯片。能够实现RAID功能的板卡,统称RAID卡。同样,在主板南桥芯片上也可实现RAID功能,但由于南桥中的RAID芯片,不能靠CPU来完成它们的功能,所以这些芯片完全要靠电路逻辑来自己运算,尽管速度很快,但功能相对RAID卡要弱。对于硬件RAID来说,操作系统根本无法感知底层的物理磁盘,而只能通过厂家提供的RAID卡管理软件来查看卡上所连接的物理磁盘,通常是在开机后进入这个硬件来配置。83.1.3详解RAID卡架构带CPU的RAID其实就是一个小的计算机系统,有自己的CPU、内存、ROM、总线和IO接口,只不过它是为大计算机服务的。下面列举RAID卡的几个部分组成,以及它们的功能——SCSI控制器:因为其后端连接的依然是SCSI物理磁盘——PCI控制器:其前端连接到PCI总线上——ROM:还需要有一个ROM,其中存放着初始化RAID卡必须的代码以及实现RAID功能所需的代码。——RAM:首先是作为数据缓存,提高性能;其次作为RAID卡上的CPU执行RAID运算所需要内存空间——XOR:专门用来做RAID3、5、6等这类校验型RAID的校验数据计算。如果让CPU来做校验计算,将耗费很多周期,而使用专用的数字电路,一进一出就立即得到结果,大大增加了数据校验计算的速度。93.1.4RAID卡与SCSI卡的区别RAID卡与SCSI卡的区别就在于RAID功能,如果RAID卡上有多个SCSI通道,那么它就是多通道RAID卡。目前最高有6通道到SCSIRAID卡,也就是说其后端可以接入6条SCSI总线,所以最多可连接96个SCSI设备(16位总线)。增加了RAID功能之后,SCSI控制器就成了RAID程序代码的傀儡,RAID让它干什么,它就干什么。SCSi控制器了解它下面掌管的磁盘情况,它将磁盘情况报告给RAID控制器,RAID知道SCSI控制器掌管的磁盘情况后,就按照ROM中所设置的RAID类型、条带大小等,对RAID控制器做相应的调整,操控它的傀儡SCSI控制器向主机报告“虚拟”的逻辑盘,而不是所有物理磁盘了。提示:RAID思想中有个“条带化”的概念。所谓的条带化,并不是真正的像低级格式化一样将磁盘划分成条和带。这个条带化完全就是在“心中”,也就是体现在程序代码上。条带化之后,RAID程序代码就操控SCSI控制器向OS层驱动程序代码提交一个虚拟化之后的所谓的“虚拟盘”,一般我叫它“LUN”。103.2理解磁盘阵列和LUN113.2.1理解外置磁盘柜和磁盘阵列内置阵列卡的局限性:如果RAID功能内置到服务器里面,放几块磁盘就满了,并且受主机影响。调整RAID时,需要关机,并且与主机类型、操作系统等有关。主机故障(如停电等)会直接影响到存储数据及RAID的完整性。——磁盘柜:将很多磁盘集成到一个箱子里面,箱子有独立的电源和散热系统,通过SCSI接口连接到主机的RAID控制器,这种箱子我们称它是磁盘柜或JBOD。——磁盘阵列:而自带RAID控制器的磁盘箱叫做“磁盘阵列”或盘阵。磁盘柜内置RAID卡服务器123.2.2磁盘阵列柜的优势盘阵是在盘柜的集成上,将内部的磁盘经过其自带的RAID控制器的分分合合,虚拟化成逻辑磁盘,盘阵与主机和操作系统完全独立。是一个独立的存储子系统。与主机通过SCSI电缆连接,无需任何软件驱动或硬件支持,只需主机提供标准SCSI接口即可。此时整个盘阵对于主机来说,就是主机SCSI总线上的一个或多个设备,具有一个或者多个SCSIID。所以逻辑磁盘都以LUN的形式呈现给主机。——与主机操作系统独立,无需驱动——设置RAID无需进入BIOS,可直接更改——支持的RAID模式更多,冗余性能更强——支持的通道数量多,单个磁盘柜最多可以支持96块硬盘磁盘阵列柜结构HPStorageWorksD2000系列阵列柜133.2.3理解LUN和卷的区别因为对于大型磁盘阵列来说,可能生成几百甚至几千个虚拟磁盘,但是由于每个SCSI总线最多允许16个设备接入(目前32位SCSI标准最大允许32个设备)。因此为每个磁盘分配一个SCSIID是远远不够用的,LUN就是来解决这个问题。LUN是SCSI协议中的名词,它是SCSIID更细一级的地址号,每个SCSIID下面还可以有更多的LUNID。LUN就是这样一个次级寻址ID,这样就可以在一条总线上生成众多虚拟磁盘,以满足需求。——LUN:我们把硬件层次生成的虚拟磁盘,称为“LUN”。——卷:而由软件生成的虚拟磁盘,统一称为“卷”。143.2.4双控制器的高安全磁盘阵列如果盘阵内部只有一个控制器模块,那么将会是一个单点故障点。所以一些高端的盘阵内部都有两个控制器,互为冗余。分配给其中一个控制器的LUN逻辑卷,可以在这个控制器因故障失效的时候,自动被另一个工作正常的控制器接管,继续处理针对这个LUN的读写请求。两个控制器平时都管理各自的LUN,一旦发现对方故障,那么就会自动将所有LUN都接管过来。两个控制器需要相互通信,以通告各自的状态,方式如下:——Active-Standby:这种方式又称HA方式,即两个控制器中同一时刻只有一个在工作,另外一个处于等待、同步和监控状态——Dual-Active:两个控制器同时工作,每个总线平时只被其中一个控制器管理,一旦其中一个损坏,则另外一个控制器接管所有总线153.2.5连接多个扩展柜为了充分发挥两个控制器的性能,可以把盘柜和盘柜之间用线连接起来。因为一个控制器上可以有多个通道,一个通道下面就是一条SCSI总线,那么盘阵的每个控制器上如果能多提供几个接口,每个接口连接盘柜(JBOD),这样它所能连接硬盘的数量将成倍增加。理论上,只要RAID控制器处理速度够强,总线带宽和面板上空间够大,多增加几个通道都没问题。如右图所示:一般情况下,把带有控制器的磁盘柜称作“机头”,因为它就像火车头一样,是提供动力的。机头里可以有磁盘,也可以根本不含磁盘。把用于扩展容量用的JBOD叫做“扩展柜”,它就像一节节火车车厢,本身没有动力,全靠车头带,但是基本的供电和冷却系统还是要有的。163.2.6磁盘阵列柜种类和结构图按照前端和后端接口来分,有SCSI-FC盘阵,FC-FC盘阵,SATA-FC盘阵,SCSI-SCSI盘阵等类型。SCSI-FC类型表示后端接口为SCSI接口,前端用于连接主机的为FC接口。磁盘阵列和阵列柜之间的结构图磁盘阵列柜的外部连接图173.2.7从存储的角度理解网络网络:不仅仅指以太网,TCP/IP网络,它还可以是SCSI网,PCI总线网,USB网等。你可以这样理解,其实RAID控制器,就相当于一个路由器,它在各种协议之间做转换,只不过这些协议是运行在计算机内部。现在我们可以为存储网络做一个定义:将磁盘放到了主机的外部,此时存储设备和主机之间,就形成了又一个独立的网络:存储区域网络(SAN)183.3虚拟磁盘、卷和文件系统193.3.1虚拟磁盘实际中,比如用5块100GB的磁盘做了一个RAID5,那么实际数据空间可以有400GB,如果将这400GB虚拟成一块盘,不够灵活。且如果OS不需要这么大的磁盘,将非常浪费。所以要再次划分这400GB的空间,比如划分成4块100GB的逻辑磁盘,然后提交给OS。目前各种RAID卡都可以划分逻辑盘,逻辑盘大小任意设置。每个逻辑盘对于OS来说都认成一块单独的物理磁盘。这里千万不要跟分区搞混,分区是OS在一块物理磁盘上做的再次划分。而RAID卡提供给OS的,任何时候,都是一块或者几块逻辑盘,也就是OS认成的物理磁盘。而OS在这个磁盘上,还可以进行分区、格式化等操作。一种RAID类型中包含的磁盘共同组成一个RAIDGroup,简称RG。逻辑盘就是从这个RG中划分出来的,原则上逻辑盘不能跨RG来划分,就是说不能让一个逻辑盘的一部分处于一个RG,另一部分处于另一个RG。203.3.2卷管理层和它的作用原因:虚拟磁盘的局限性是,当使用一段时间,磁盘空间不够了,只能重新划分逻辑磁盘,这个时候,数据将全部丢失,这是不能容忍的。解决:为了能够实现收缩自如,我们在OS层再把RAID控制器提交上来的逻辑盘(OS会认成不折不扣的物理磁盘)加以组织、再分配,就会非常灵活。因为OS层上运行的都是软件,完全靠CPU来执行,而不用考虑太多细节。实际中,有很多基于这种思想的产品,这些产品都有一个通用的名称,叫做卷管理器(VM),在Windows系统上叫LDM(逻辑磁盘管理),在Linux系统上叫LVM(逻辑卷管理),下面是它的一些常用名词:物理卷(PhysicalVolume,PV):物理卷可以是一个磁盘,也可以是磁盘中的一个分区。它为LVM提供了存储介质。逻辑卷组(LogicalVolumeGroup,LVG):可以把逻辑卷组想象成一个存储池,或者是逻辑硬盘。物理卷与物理卷在硬件上可以是不连续的,但把多个物理卷加入逻辑卷组后,就可以把这个逻辑卷组看成一个存储空间连续的逻辑硬盘,在这块硬盘上,可以创建多个逻辑卷(LV)。逻辑卷(LogicalVolume,LV):可以将卷组划分成若干个逻辑卷,相当于在逻辑硬盘上划分出几个逻辑分区,每个逻辑分区上都可以创建具体的文件系统。213.3.5卷管理软件(LVM)的实现卷管理软件就是运行在OS操作系统磁盘控制器驱动程序之上的一层软件程序,它的作用就是实现RAID卡无法实现的一些功能,比如随时扩容。磁盘在经过VM这一层处理之后,应该称为卷比较恰当,因为磁盘这个概念只有对磁盘控制器来说才有意义。卷管理软件看待磁盘,会认为它是一个线性存储的大仓库,而不管这个仓库用的是什么存储方式,仓库每个房间都有一个地址(LBA逻辑块地址),VM必须知道这些地址一共有多少。22linux下逻辑卷管理器的一个例子233.3.8文件系统的定义和它的作用在早期的计算机系统中,每个程序都必须自己管理磁盘,想在磁盘中放自己的数据,程序需要直接和磁盘控制器打交道,有多少个程序要利用磁盘,就有多少个和磁盘交互的驱动接口,这样效率是非常低下和不经济的。所谓文件系统就是操作系统用于规范磁盘上的文件的存储方法和数据结构的一套体系;文件系统由三部分组成:与文件管理有关软件、被管理文

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功