硬盘阵列(磁盘存储阵列)
硬盘阵列(磁盘存储阵列)
什么是磁盘阵列??
在从RAID1到RAID5的几种方案中,每当磁盘损坏时,都可以随时将损坏的磁盘拔出,然后插入到好的磁盘中(需要硬件上的热插拔支持),这样就不会损坏数据,可以快速重建故障磁盘的内容,重建工作也是由RAID硬件或RAID软件来完成的。但是RAID0不提供检错功能,所以有人说不能算作RAID。其实这也是RAID0被称为0级的原因RAID-0本身的意思就是‘无’。
1.3 raid的应用
目前PC的速度瓶颈主要是硬盘。虽然有Ultra DMA33、DMA66、DMA100等快速标准。结果并不伟大。在个人电脑中,较慢的磁盘速度并不严重。但是,在服务器中,这是不允许的。服务器必须能够响应来自四面八方的服务请求,其中大部分与磁盘上的数据有关,因此服务器的磁盘子系统必须具有较高的输入输出速率。为了数据安全,需要有一定的容错功能。RAID提供了这些功能,所以RAID在服务器系统中被广泛使用。
1.4 RAID提供的容错功能是自动实现的(通过RAID硬件或RAID软件)。
它对应用程序是透明的,也就是说,应用程序不需要为容错做任何事情。为了获得最高的安全性和最快的恢复速度,可以使用RAID1(镜像)。RAID 5可用于损害容量、容错和性能。在大多数数据库服务器中,操作系统和数据库管理系统所在的磁盘驱动器是RAID 1,数据库的数据文件存储在RAID5的磁盘驱动器上。
1.5有时候我们看一些名牌服务器的配置单,发现CPU不是很快,内存不是很大,显卡也不是最好的,但是价格高。服务器系统都是暴利产品吗?当然不是。服务器的配置和普通家用PC不一样。除了更高的稳定性之外,冗余和容错也是一大特色,比如双电源、带电池备份的磁盘缓存、热插拔硬盘、热插拔PCI插槽等。
另一个特点是巨大的磁盘吞吐量。这主要是因为RAID。例如,使用SCSI RAID的奔腾166和带有IDE硬盘的PIIICopermine 800都用作文件服务器。奔腾166的事务处理能力会比P 高几十倍甚上百倍,因为P 处理器的计算能力根本用不上,但是奔腾166的RAID发挥了作用。
1.6 RAID现在主要用于服务器,但和任何高端技术一样,RAID也在向PC转移。也许有,所有的PC机都使用SCSI磁盘驱动器的RAID,这才是真正的PC机“早期”RAID。
1.1 RAID是由加州大学伯克利分校的D.A .帕特森教授于1988年提出的。是不可扩展磁盘的RAID精简阵列的缩写,字面意思是“廉价冗余磁盘阵列”,简称“磁盘阵列”。后来RAID中的字母I改成了Independent,RAID变成了‘独立冗余磁盘阵列’,但这只是名称上的改变,实质性的内容并没有改变。RAID可以理解为一种使用磁盘驱动器的方法,它以逻辑方式连接一组磁盘驱动器,并将它们用作逻辑磁盘驱动器。通常,逻辑磁盘驱动器的容量小于每个磁盘驱动器容量的总和。RAID的具体实现可以依赖硬件,也可以依赖软件,Windows NT操作系统提供软件RAID功能。RAID一般在SCSI磁盘驱动器上实现,因为IDE磁盘驱动器的性能受到IDE接口的限制(IDE最多只能连接两个传输速率为1.5MBps的磁盘驱动器)。IDE通道最多只能连接4个磁盘驱动器,同时只能有一个磁盘驱动器传输数据。此外,IDE通道一般与光驱相连,光驱造成的延迟会严重影响系统速度。SCSI适配器确保每个SCSI通道始终畅通。同时,每个SCSI磁盘驱动器都可以自由地向主机传输数据,不会出现IDE磁盘驱动器争用设备通道的现象。
1.2 raid的优势
1.2.1低成本、低功耗、高传输速率。在RAID中,许多磁盘驱动器可以同时传输数据,而这些磁盘驱动器在逻辑上是一个磁盘驱动器,因此使用RAID可以达到单个磁盘驱动器的几倍、几十倍甚几百倍的速率。这也是RAID原本想要解决的问题。当时CPU的速度很快,但是磁盘驱动器的数据传输速率并不能得到很大的,所以需要一个解决方案来解决两者之间的矛盾。RAID终于成功了。
1.2.2可以提供容错。这是使用RAID的第二个原因,因为如果不包括写在磁盘上的CRC(循环冗余校验)代码,普通磁盘驱动器无法提供容错。而RAID容错是基于每个磁盘驱动器的硬件容错功能,因此提供了更高的安全性。
1 . 2 . 3 RAID的另一个功能是奇偶校验功能,可以描述为RAID级别2、3、4和5的附加信息。当磁盘出现故障时,奇偶校验功能可以通过组完整磁盘中的数据来重建故障磁盘上的数据。对于磁盘阵列系统来说,在任何有害的情况下,保持数据的完整性是最基本的要求。数据完整性是指阵列在磁盘出现故障时防止数据丢失的能力。因为数据销毁通常会带来灾难性的后果,所以选择RAID阵列的基本条件是它能提供什么级别的数据完整性。
性。1.2.4 RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低许多。RAID的分级
RAID 0级(Stripe) :无冗余无校验的磁盘阵列数据同时分布在各个磁盘驱动器上,没有容错能力,读写速度在RAID中最快,但因为任何一个磁盘驱动器损坏都会使整个RAID系统失效,所以安全系数反倒比单个的磁盘驱动器还要低。一般用在对数据安全要求不高,但对速度要求很高的场。
RAID 1级(Mirror) :镜象磁盘阵列每一个磁盘驱动器都有一个镜像磁盘驱动器,镜像磁盘驱动器随时保持与原磁盘驱动器的内容一致。RAID1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场。
RAID 1+0 :如果同时对RAID 0中写往两个硬盘的数据再做两个镜像如何呢?这就是RAID 1+0的方案。RAID 1+0少使用4个硬盘,这样,RAID 1+0在理论上同时保证了RAID 0的性能和RAID 1的安全性,代价是比RAID 0 或1再多一倍的硬盘数量。但应该注意,这仅仅是理论上的,因为实际中IDE RAID 这样的软件RAID系统会消耗CPU运算时间,RAID 1+0比起RAID 0或1来讲,同样多消耗一倍的CPU时间,所以性能不一定能到RAID 0那样的比例,甚有可能总体性能不升反降。
RAID 3 :任何一个单独的磁盘驱动器损坏都可以恢复。RAID3和RAID4的数据读取速度很快,但写数据时要计算校验位的值以写入校验盘,速度有所下降。RAID3和RAID4的使用也不多。
RAID 5级 :无独立校验盘的奇偶校验磁盘阵列同样采用奇偶校验来检查错误,但没有独立的校验盘,校验信息分布在各个磁盘驱动器上。RAID5对大小数据量的读写都有很好的性能,被广泛地应用。RAID
1.1 RAID是由美国加州大学伯克利分校的D.A.Patterson教授在1988年提出的。RAID 是Redundent Array of Inexpensive Disks的缩写,直译为"廉价冗余磁盘阵列",也简称为"磁盘阵列"。后来RAID中的字母I被改作了Independent,RAID就成了"独立冗余磁盘阵列",但这只是名称的变化,实质性的内容并没有改变。可以把 RAID理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用。一般情况下,组成的逻辑磁盘驱动器的容量要小于各个磁盘驱动器容量的总和。RAID的具体实现可以靠硬件也可以靠软件,Windows NT操作系统就提供软件RAID功能。RAID一般是在SCSI磁盘驱动器上实现的,因为IDE磁盘驱动器的性能发挥受限于IDE接口(IDE只能接两个磁盘驱动器,传输速率最高1.5MBps)。IDE通道最多只能接4个磁盘驱动器,在同一时刻只能有一个磁盘驱动器能够传输数据,而且IDE通道上一般还接有光驱,光驱引起的延迟会严重影响系统速度。SCSI适配器保证每个SCSI通道随时都是畅通的,在同一时刻每个SCSI磁盘驱动器都能自由地向主机传送数据,不会出现像IDE磁盘驱动器争用设备通道的现象。
1.2 RAID的优点
1.2.1 成本低,功耗小,传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID成功了。
1.2.2 可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC (循环冗余校验) 码的话。RAID 和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。
1.2.3 RAID的另一特征是具备数据校验(Parity)功能,校验可被描述为用于RAID级别2,3,4,5的额外的信息,当磁盘失效的情况发生时,校验功能结完好磁盘中的数据,可以重建失效磁盘上的数据。对于RAID系统来说,在任何有害条件下保持数据的完整性(Data Integrity)是最基本的要求。数据完整性指的是阵列面对磁盘失效时保持数据不丢失的能力,由于数据的破坏通常会带来灾难性的后果,所以选择RAID阵列的基础条件是它能提供什么级别的数据完整性。
1.2.4 RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低许多。RAID的分级
RAID 0级(Stripe) :无冗余无校验的磁盘阵列数据同时分布在各个磁盘驱动器上,没有容错能力,读写速度在RAID中最快,但因为任何一个磁盘驱动器损坏都会使整个RAID系统失效,所以安全系数反倒比单个的磁盘驱动器还要低。一般用在对数据安全要求不高,但对速度要求很高的场。
RAID 1级(Mirror) :镜象磁盘阵列每一个磁盘驱动器都有一个镜像磁盘驱动器,镜像磁盘驱动器随时保持与原磁盘驱动器的内容一致。RAID1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场。
RAID 1+0 :如果同时对RAID 0中写往两个硬盘的数据再做两个镜像如何呢?这就是RAID 1+0的方案。RAID 1+0少使用4个硬盘,这样,RAID 1+0在理论上同时保证了RAID 0的性能和RAID 1的安全性,代价是比RAID 0 或1再多一倍的硬盘数量。但应该注意,这仅仅是理论上的,因为实际中IDE RAID 这样的软件RAID系统会消耗CPU运算时间,RAID 1+0比起RAID 0或1来讲,同样多消耗一倍的CPU时间,所以性能不一定能到RAID 0那样的比例,甚有可能总体性能不升反降。
RAID 3 :任何一个单独的磁盘驱动器损坏都可以恢复。RAID3和RAID4的数据读取速度很快,但写数据时要计算校验位的值以写入校验盘,速度有所下降。RAID3和RAID4的使用也不多。
RAID 5级 :无独立校验盘的奇偶校验磁盘阵列同样采用奇偶校验来检查错误,但没有独立的校验盘,校验信息分布在各个磁盘驱动器上。RAID5对大小数据量的读写都有很好的性能,被广泛地应用。
什么是磁盘阵列??从RAID1到RAID5的几种方案中,不论何时有磁盘损坏,都可以随时拔出损坏的磁盘再插入好的磁盘(需要硬件上的热插拔支持),数据不会受损,失效盘的内容可以很快地重建,重建的工作也由RAID硬件或RAID软件来完成。但RAID0不提供错误校验功能,所以有人说它不能算作是RAID,其实这也是RAID0为什么被称为0级RAID的原因--0本身就代表"没有"。
1.3 RAID 的应用
当前的PC机,整个系统的速度瓶颈主要是硬盘。虽然不断有Ultra DMA33、 DMA66、DMA100等快速的标准推出,但收效不大。在PC中,磁盘速度慢一些并不是太严重的事情。但在服务器中,这是不允许的,服务器必须能响应来自四面八方的服务请求,这些请求大多与磁盘上的数据有关,所以服务器的磁盘子系统必须要有很高的输入输出速率。为了数据的安全,还要有一定的容错功能。RAID 提供了这些功能,所以RAID被广泛地应用在服务器体系中。
1.4 RAID 提供的容错功能是自动实现的(由RAID硬件或是RAID软件来做)。
它对应用程序是透明的,即无需应用程序为容错做半点工作。要得到最高的安全性和最快的恢复速度,可以使用RAID1(镜像);要在容量、容错和性能上取折衷可以使用RAID 5。在大多数数据库服务器中,操作系统和数据库管理系统所在的磁盘驱动器是RAID 1,数据库的数据文件则是存放于RAID5的磁盘驱动器上。
1.5 有时我们看某些名牌服务器的配置单,发现其CPU并不是很快,内存也算不上是很大,显卡更不是最好,但价格不菲。是不是服务器系统都是暴利产品呢?当然不是。服务器的配置与一般的家用PC的着重点不在一处。除去更高的稳定性外,冗余与容错是一大特点,如双电源、带电池备份的磁盘高速缓冲器、热插拔硬盘、热插拔PCI插槽等。
另一个特点就是巨大的磁盘吞吐量。这主要归功于RAID。举一个例子来说,一台使用了SCSI RAID的奔腾166与一台IDE硬盘的PIIICopermine 800都用做文件服务器,奔腾166会比PⅢ的事务处理能力高上几十倍甚上百倍,因为PⅢ处理器的运算能力根本用不上,反倒是奔腾166的RAID起了作用。
1.6 RAID现在主要应用在服务器,但就像任何高端技术一样,RAID也在向PC机上转移。也许所有的 PC 机都用上了SCSI磁盘驱动器的RAID的那,才是PC机真正的"出头之日"RAID
1.1 RAID是由美国加州大学伯克利分校的D.A.Patterson教授在1988年提出的。RAID 是Redundent Array of Inexpensive Disks的缩写,直译为"廉价冗余磁盘阵列",也简称为"磁盘阵列"。后来RAID中的字母I被改作了Independent,RAID就成了"独立冗余磁盘阵列",但这只是名称的变化,实质性的内容并没有改变。可以把 RAID理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用。一般情况下,组成的逻辑磁盘驱动器的容量要小于各个磁盘驱动器容量的总和。RAID的具体实现可以靠硬件也可以靠软件,Windows NT操作系统就提供软件RAID功能。RAID一般是在SCSI磁盘驱动器上实现的,因为IDE磁盘驱动器的性能发挥受限于IDE接口(IDE只能接两个磁盘驱动器,传输速率最高1.5MBps)。IDE通道最多只能接4个磁盘驱动器,在同一时刻只能有一个磁盘驱动器能够传输数据,而且IDE通道上一般还接有光驱,光驱引起的延迟会严重影响系统速度。SCSI适配器保证每个SCSI通道随时都是畅通的,在同一时刻每个SCSI磁盘驱动器都能自由地向主机传送数据,不会出现像IDE磁盘驱动器争用设备通道的现象。
1.2 RAID的优点
1.2.1 成本低,功耗小,传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID成功了。
1.2.2 可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC (循环冗余校验) 码的话。RAID 和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。
1.2.3 RAID的另一特征是具备数据校验(Parity)功能,校验可被描述为用于RAID级别2,3,4,5的额外的信息,当磁盘失效的情况发生时,校验功能结完好磁盘中的数据,可以重建失效磁盘上的数据。对于RAID系统来说,在任何有害条件下保持数据的完整性(Data Integrity)是最基本的要求。数据完整性指的是阵列面对磁盘失效时保持数据不丢失的能力,由于数据的破坏通常会带来灾难性的后果,所以选择RAID阵列的基础条件是它能提供什么级别的数据完整性。
1.2.4 RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低许多。RAID的分级
RAID 0级(Stripe) :无冗余无校验的磁盘阵列数据同时分布在各个磁盘驱动器上,没有容错能力,读写速度在RAID中最快,但因为任何一个磁盘驱动器损坏都会使整个RAID系统失效,所以安全系数反倒比单个的磁盘驱动器还要低。一般用在对数据安全要求不高,但对速度要求很高的场。
RAID 1级(Mirror) :镜象磁盘阵列每一个磁盘驱动器都有一个镜像磁盘驱动器,镜像磁盘驱动器随时保持与原磁盘驱动器的内容一致。RAID1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场。
RAID 1+0 :如果同时对RAID 0中写往两个硬盘的数据再做两个镜像如何呢?这就是RAID 1+0的方案。RAID 1+0少使用4个硬盘,这样,RAID 1+0在理论上同时保证了RAID 0的性能和RAID 1的安全性,代价是比RAID 0 或1再多一倍的硬盘数量。但应该注意,这仅仅是理论上的,因为实际中IDE RAID 这样的软件RAID系统会消耗CPU运算时间,RAID 1+0比起RAID 0或1来讲,同样多消耗一倍的CPU时间,所以性能不一定能到RAID 0那样的比例,甚有可能总体性能不升反降。
RAID 3 :任何一个单独的磁盘驱动器损坏都可以恢复。RAID3和RAID4的数据读取速度很快,但写数据时要计算校验位的值以写入校验盘,速度有所下降。RAID3和RAID4的使用也不多。
RAID 5级 :无独立校验盘的奇偶校验磁盘阵列同样采用奇偶校验来检查错误,但没有独立的校验盘,校验信息分布在各个磁盘驱动器上。RAID5对大小数据量的读写都有很好的性能,被广泛地应用。RAID
1.1 RAID是由美国加州大学伯克利分校的D.A.Patterson教授在1988年提出的。RAID 是Redundent Array of Inexpensive Disks的缩写,直译为"廉价冗余磁盘阵列",也简称为"磁盘阵列"。后来RAID中的字母I被改作了Independent,RAID就成了"独立冗余磁盘阵列",但这只是名称的变化,实质性的内容并没有改变。可以把 RAID理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用。一般情况下,组成的逻辑磁盘驱动器的容量要小于各个磁盘驱动器容量的总和。RAID的具体实现可以靠硬件也可以靠软件,Windows NT操作系统就提供软件RAID功能。RAID一般是在SCSI磁盘驱动器上实现的,因为IDE磁盘驱动器的性能发挥受限于IDE接口(IDE只能接两个磁盘驱动器,传输速率最高1.5MBps)。IDE通道最多只能接4个磁盘驱动器,在同一时刻只能有一个磁盘驱动器能够传输数据,而且IDE通道上一般还接有光驱,光驱引起的延迟会严重影响系统速度。SCSI适配器保证每个SCSI通道随时都是畅通的,在同一时刻每个SCSI磁盘驱动器都能自由地向主机传送数据,不会出现像IDE磁盘驱动器争用设备通道的现象。
1.2 RAID的优点
1.2.1 成本低,功耗小,传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID成功了。
1.2.2 可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC (循环冗余校验) 码的话。RAID 和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。
1.2.3 RAID的另一特征是具备数据校验(Parity)功能,校验可被描述为用于RAID级别2,3,4,5的额外的信息,当磁盘失效的情况发生时,校验功能结完好磁盘中的数据,可以重建失效磁盘上的数据。对于RAID系统来说,在任何有害条件下保持数据的完整性(Data Integrity)是最基本的要求。数据完整性指的是阵列面对磁盘失效时保持数据不丢失的能力,由于数据的破坏通常会带来灾难性的后果,所以选择RAID阵列的基础条件是它能提供什么级别的数据完整性。
1.2.4 RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低许多。RAID的分级
RAID 0级(Stripe) :无冗余无校验的磁盘阵列数据同时分布在各个磁盘驱动器上,没有容错能力,读写速度在RAID中最快,但因为任何一个磁盘驱动器损坏都会使整个RAID系统失效,所以安全系数反倒比单个的磁盘驱动器还要低。一般用在对数据安全要求不高,但对速度要求很高的场。
RAID 1级(Mirror) :镜象磁盘阵列每一个磁盘驱动器都有一个镜像磁盘驱动器,镜像磁盘驱动器随时保持与原磁盘驱动器的内容一致。RAID1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场。
RAID 1+0 :如果同时对RAID 0中写往两个硬盘的数据再做两个镜像如何呢?这就是RAID 1+0的方案。RAID 1+0少使用4个硬盘,这样,RAID 1+0在理论上同时保证了RAID 0的性能和RAID 1的安全性,代价是比RAID 0 或1再多一倍的硬盘数量。但应该注意,这仅仅是理论上的,因为实际中IDE RAID 这样的软件RAID系统会消耗CPU运算时间,RAID 1+0比起RAID 0或1来讲,同样多消耗一倍的CPU时间,所以性能不一定能到RAID 0那样的比例,甚有可能总体性能不升反降。
RAID 3 :任何一个单独的磁盘驱动器损坏都可以恢复。RAID3和RAID4的数据读取速度很快,但写数据时要计算校验位的值以写入校验盘,速度有所下降。RAID3和RAID4的使用也不多。
RAID 5级 :无独立校验盘的奇偶校验磁盘阵列同样采用奇偶校验来检查错误,但没有独立的校验盘,校验信息分布在各个磁盘驱动器上。RAID5对大小数据量的读写都有很好的性能,被广泛地应用。