分页: 1 / 2

8540w/8740w的RAID阵列模式探讨

发表于 : 2012年 1月 12日 22:01 星期四
MUDBOY
很早就想研究一下8740w上面RAID模式的性能和可用性

这几天整理了一下硬盘资料,把一些文件归类存档,于是两块500G的东芝硬盘腾了出来,正好在新入的8740w上做一个RAID方面的测试。

因为8740w和同一代的8540w等同样支持RAID模式,因此本文的使用范围也包含8540w,8540p等这些机型。

首先,硬件上面的支持

在8740w主机上,最大可以内置支持两块硬盘,一块内置主硬盘,一块内置光驱位的扩展硬盘。
其实,如果接上ESATA接口,那主机就是在sata总线上连接3个硬盘了。
甚至于,如果算上高级扩展坞的底座,可以安装一个光驱位硬盘,还可以接一个ESATA硬盘,于是就又多了两个硬盘。
也就是说总的可以同时基于SATA总线最大连接5块硬盘啦。

不过很可惜,8740w只设计支持两种RAID阵列模式RAID 0(条带), RAID 1(镜像), 还有一种Rapid Recover(基本可以算是intel自家在RAID1上做的一种改进模式),估计是采用的是Intel(R) ICH8M-E/ICH9M-E SATA RAID Controller控制器的缘故。

更多关于INTEL芯片上的RAID模式介绍,可以参见另外的帖子。
Intel芯片上使用的RAID技术简介
Intel Rapid Recover技术简介

其次,底层BIOS上的设置

要想实现8740w的RAID功能,就需要在BIOS里把硬盘的运行模式设置为RAID,具体如下图所示。
bios_1.png
bios_2.png
这个时候,如果重新开机,在不适用设置程序创建任何RAID磁盘卷之前,我们以前安装的Windows操作系统一般仍然可以运行(这个时候其实连接硬盘的主板控制芯片模式已经改变了,目前的操作系统一般会自动在第一次启动的时候更新一下驱动程序,其他Linux类系统没有验证,不知是否需要重新人工安装驱动)。
这个时候的硬盘是连接在RAID Controller下,以单个独立硬盘的模式运行的。

第三,创建RAID磁盘卷

从上面的介绍可知,我们这个时候只能使用8740w上的两只硬盘来创建磁盘卷。两个500G的硬盘,实际容量大概是931G左右。

通常情况下,如果你只对速度提升感兴趣,那么可以把两只硬盘创建为一个整体的磁盘卷,采用RAID0模式,容量刚好就是两个硬盘容量之和。RAID0模式,理论上性能会翻倍,实际也有非常大的提高,大概是单个硬盘的1.5倍。RAID0模式对速度提升的效果是非常明显的,磁盘总容量也不会减少,但是一旦其中一块硬盘挂了,就意味着所有的数据丢失。
Config_Utility_1.JPG
Config_Utility_2.JPG
Config_Utility_3.JPG
Config_Utility_4.JPG
因此,我这里为了保护自己的重要数据,选择了创建两个RAID磁盘卷的方式。
一个是RAID1,容量大概100G,于是每个硬盘会占用100G共200G空间。
另外一个是RAID0,容量大概731G,用于安装操作系统,存放一些常用的程序执行文件等。
总的加起来就是931G的容量了。

第四,系统安装(导入)

创建好如上所述的RAID1,RAID0磁盘卷后,我在安装(导入)操作系统是,遇到一个问题,我打算在RAID0上安装操作系统的(使用的是GHOST的方式)。

第一次,我使用RAID配置界面,先创建100G的RAID1的磁盘卷,然后再创建731G的RAID0磁盘卷后,并用GHOST导入了以前的操作系统,这个时候始终开机无法引导到系统里面,总是提示bootmgr is missing的错误,甚至用安装盘修复也无法解决。

然后我只好重新先创建731G的RAID0卷,然后再创建100G的RAID1卷,同样使用GHOST导入,结果问题解决,正常启动。

我自己分析,应该是启动的时候,电脑识别了两个RAID卷的先后顺序,总是在第一个上面去查找操作系统的启动文件。由于INTEL的RAID配置程序并不能选择从哪一个RAID卷优先启动的选项,因此有此问题。不过这个在传统的RAID控制卡上,一般都提供了磁盘启动顺序的选择的,类似于BIOS的启动顺序。

在进入操作系统后,单个的硬盘驱动器已经在设备管理器里面消失了,取而代之的是两个RAID磁盘卷,这个时候我们可以理解为,这两个创建的RAID磁盘卷,就相当于两个硬盘。

另外,以前的磁盘控制器在设备管理器里,也由普通的SATA控制器,变成了RAID控制器。
38_DEVICE_MANAGEMENT.png
37_DEVICE_MANAGEMENT.png
第五,性能测试对比

通过对RAID的一定认识,相信大家都能够理解各个模式的特点了,别的不多说,具体性能的提升和比较,请参考我下面的测试截图。
HDTune_Benchmark_TOSHIBA_MK5056GSY.png
HDTune_Benchmark_Intel___Raid_1_Volume.png
HDTune_Benchmark_Intel___Raid_0_Volume.png
简单来说,RAID0有较大的提升,RAID1基本对性能无影响。
另外一个方面,我们不得不考虑的是,在设置了RAID模式后,两块磁盘都是一直在通电工作的,这一点上同单个磁盘安装操作系统,另外一个磁盘存储数据的模式对比,在省电上肯定不占任何优势,因为单个磁盘的模式,文件数据存储的磁盘如果没有读写的情况下,很多时候都是在省电模式下工作(最小电流,磁盘无读写,甚至省电时无旋转)。不过话说回来,相对性能的提升,这点耗电还是不算什么的。
8740w上我相信没有多少朋友成天背着到处跑只用电池的。

第六, 数据恢复测试

我一直有这样一个疑问,就是在基于主机这两块硬盘上面创建的两个不同RAID0, RAID1类型的磁盘卷,如果一块硬盘损坏了以后,那么另外一块硬盘上面的数据究竟是否能够访问,特别是RAID1模式。

因为在我心里,一直认为这种桌面级的RAID系统并不是像服务器工业级的RAID系统那样,安全可靠。
这也是本次探讨的关键一步,最后验证的事实证明,我的疑问完全是多虑的。

实验结果是,RAID0正如预期概念那样,数据无法访问,RAID1磁盘卷在丢失了一个磁盘成员后,数据仍然能够访问。

测试的方法,我是通过将主机放置在高级扩展坞上,如第一条描述的那样,上面可以再安装一个光驱型的硬盘架,从而通过这个硬盘启动另外一个单独的系统。

主机这两个硬盘,为了模拟磁盘损坏的情景,我拆下了主机光驱位的硬盘。

在验证过程中,开机按F9,选择从扩展坞上面的硬盘启动,在INTEL RAID配置信息界面时,因为一块RAID磁盘已经拆下,这个时候会有错误提示RAID成员丢失,但是主机仍然可以继续启动,通过扩展坞上面的硬盘进入操作系统。

在windows下,RAID0的磁盘卷已经无法识别了,只有RAID1的能够识别,并能够正确访问。
41_DISK_MISSING.png
通过Windows下的Intel Matrix Storage Console工具,我们可以看到磁盘的信息,里面提示RAID0磁盘卷丢失。
40_DISK_MISSING.png
测试完美,达到了预期目的,装上主机光驱位的硬盘,重新启动机器,并从RAID0的操作系统启动成功。
这里RAID0的启动关键是我们在上面的测试中没有对RAID0磁盘卷做任何操作,否则是无法启动操作系统的(如果有改动的话,RAID0的数据就没了)
43_DISK_MISSING_NOREBUILD.png
在进入RAID0的操作系统后,Intel Matrix Storage Console识别到了磁盘曾经的“丢失”,估计是在测试过程中,测试操作系统不可避免的对在线的RAID1磁盘有信息更新(如访问时间,磁盘信息等),因此在两块硬盘都可以访问时,对RAID1进行同步(重建光驱位置上面那块磁盘上面的RAID1数据)
44_DISK_MISSING_REBUILD.png
42_DISK_MISSING_REBUILD.png
第七, Intel Matrix Storage Console工具

上面提到这个Intel Matrix Storage Console工具,不得不提一下,非常不错的管理工具。
可以完成所有启动时Ctrl+I进入的那个Intel RAID配置工具所做的操作,并且有更多的设置如打开高速缓存,数据校验等等。

举例说明,我们本次是将操作系统置于RAID0的,那么RAID0的这个磁盘卷,没办法只能用启动的RAID配置工具来创建了。

对于非操作系统所在的RAID1磁盘卷,我们完全可以使用Intel Matrix Storage Console工具来创建。

具体的操作就不深入了,可以用以下几个截图简单的概括一下。
1.png
2.png
3.png
5.png
7.png
8.png
9.png
总结一下

不得不说,RAID模式的加入令到8740w又达到了另外一个层次,我是越来越喜欢这个机器了, :D

初步的设想,如果我们把现在的机械硬盘更换为性能更好,更省电更安静的SSD固态硬盘,那电脑上针对磁盘的瓶颈,肯定是达到了一个质的改善。毋庸置疑,相信很多玩家已经早已在桌面台式机型上验证过了。

在新一代的机型8760w上,已经对磁盘系统进行了进一步的增强,默认支持了两个主机硬盘,加上光驱托架硬盘,就是3个硬盘了。并且8760w默认支持了RAID5的阵列模式,对我们既能够提供高可用的数据保护,也能够带来成倍的磁盘性能提升。真是有点口水哗哗啦,呵呵(残念如果8760w的16:9屏幕也像8740w这样能够配置16:10屏幕就完美了 :D )

因为数据和机器用途的原因,我没再过多的模拟其他环境来测试了,比如更换两个RAID磁盘的位置,更换到其他机器比如从8740w到8540w,RAID上的数据能否继续使用的问题。

本文权当抛砖引玉,期待大家更多的体验分享。

欢迎讨论,谢谢!

Re: 8540w/8740w的RAID阵列模式探讨

发表于 : 2012年 1月 13日 01:35 星期五
MUDBOY
你还别说,我真是看上8760w的3 SSD RAID5模式了,肯定很爽。

如果不怕数据丢失,就在8740w上面实现2 SSD的RAID0模式也是非常不错的。

:D

Re: 8540w/8740w的RAID阵列模式探讨

发表于 : 2012年 2月 1日 14:05 星期三
MUDBOY
刚入了第二个intel的g2 160g,打算配合原来的g2 160g,采用首帖中的raid1和raid0相配合的模式,替换掉机械硬盘组成的raid。

这样的话速度提升不少,同时也不用担心机械硬盘那样常转导致耗电增加的情况,因为ssd本身耗电是要小很多的。

唯一遗憾的就是目前的ssd容量太小了,只能说刚好够日常工作的处理,资料类的文件只能还是存储在外置存储上了。

Re: 8540w/8740w的RAID阵列模式探讨

发表于 : 2012年 2月 1日 15:29 星期三
zybon
raid模式下,不知道硬盘是否能够在空载时候降速,如果因为raid而抑制了空载降速的话,ssd耗电好像也不低的

Re: 8540w/8740w的RAID阵列模式探讨

发表于 : 2012年 2月 3日 00:07 星期五
MUDBOY
zybon 写了:raid模式下,不知道硬盘是否能够在空载时候降速,如果因为raid而抑制了空载降速的话,ssd耗电好像也不低的
因为有raid0并且系统安装在raid上,我估计两个raid硬盘成员都不会进入空闲模式(降速或停转)。

ssd的好处还是很明显的,除了速度大幅提升,耗电相对机械硬盘少,噪音减少外,至少还减少了在一些突发的笔记本电脑移动情况下,硬盘损坏或坏到的几率。(当然,机械硬盘也很少会坏,除非长时间颠簸)

刚入了另外一个1.8寸的intel G2 160G,打算配合原来的一个同样的g2 160G,换下现有的机械硬盘了,这样磁盘系统上的瓶颈就大幅降低了。唯一不爽就是容量相对减少好多。
因为考虑到以后可能用在小机器上,因此选择的1.8寸ssd,需要外加一个2.5的硬盘盒(5v电压降低为3.3v),目前还在等收货中...

Re: 8540w/8740w的RAID阵列模式探讨

发表于 : 2012年 2月 3日 00:16 星期五
MUDBOY
今天先把机械硬盘的数据做备份,刚才做了一些测试。

组成raid的两个机械磁盘都从机器内部和光驱位置移了出来,还是从底座的ssd硬盘启动系统。
随便选择了一个机械硬盘,用esata数据线接在了主机的esata接口上,这个时候系统自动就识别出了这个机械盘是raid的成员。因为另外一个raid成员机械盘没有接,所以只能够使用到raid1的那部分数据。

通过以上测试我相信,改变了raid成员的连接位置,对raid的配置不会产生影响,但就是无法确定配置参数是保存是在硬盘上还是intel的raid配置管理里面,如果有朋友确定的话不妨指点一下。

如图所示,主机esata的端口号是4,主机内部的硬盘接口和光驱接口端口号是0和1。(注:底座光驱接口端口号为2,底座esata接口端口号为5,没有3号连接端口)

Re: 8540w/8740w的RAID阵列模式探讨

发表于 : 2012年 2月 3日 14:32 星期五
MUDBOY
先上一个2760p上的镁光ssd测试截图

Re: 8540w/8740w的RAID阵列模式探讨

发表于 : 2012年 2月 3日 15:46 星期五
MUDBOY
刚刚把intel的SSD raid创建好

我同样采用了raid0(198G,raid0条带没有空间损失)和raid1(50G, 实际消耗了两块ssd上共100G的空间)共存的模式,重要数据都放在了50G Raid1上以防万一,操作系统和运用程序等都放在了RAID0上。
intel_g2_160_raid_64k.png
raid0选择区块(block)大小的时候应该也对读写性能有所影响,而且一经设置就不能修改了。
经过对测试结果对比,我最终针对windows7上,选择了64k的区块设置。
以下是4k,64k,128k的区块大小时测试的结果,同时大家也可以看到,raid0模式下速度的确又有了大幅的提高。
intel_g2_160_raid_4k_benchmark.png
intel_g2_160_raid_64k_benchmark.png
intel_g2_160_raid_128k_benchmark.png
intel_g2_160.png

Re: 8540w/8740w的RAID阵列模式探讨

发表于 : 2012年 2月 4日 08:24 星期六
azxcvbnmazx
悲催的SATA2接口~~~这个速度,镁光M4接在SATA3接口上速度可以直接到500MB/s

Re: 8540w/8740w的RAID阵列模式探讨

发表于 : 2012年 2月 4日 14:07 星期六
MUDBOY
azxcvbnmazx 写了:悲催的SATA2接口~~~这个速度,镁光M4接在SATA3接口上速度可以直接到500MB/s
的确是这样的。
SATA2的理论带宽是3Gbit/s,除以8,就是375MB/s
SATA3的理论带宽是6Gbit/s,除以8,就是750MB/s
实际使用上的带宽应该要小一些。

SATA2和SATA3的总线接口,对单个硬盘特别是SSD来说,影响还是非常大的。
因为有些SSD的速度已经超过了SATA2总线接口的速度,比如MT的已经上到了500MB/s左右。
这个时候如果把这个500MB/s左右的SSD连接在SATA2的电脑硬盘接口上面,最多也就是375MB/s(还是理论的,估计一般350MB/s可以有)。
如果把这个500MB/s左右的SSD连接在SATA3的电脑硬盘接口上面,就可以完全发挥硬盘的速度达到500MB/s。

上面说的是单个硬盘连接的情况,如果由组成了RAID的模式比如RAID0,那么两块硬盘就相当于同时使用了两个SATA2的总线连接,这样的话也就达到了提升8740w上面硬盘的总体速度的目的。
在这次我的组合里,因为这个INTEL的SSD实际读取速度也只有250MB/s左右,没有超过SATA2的最大带宽,所以,两个合起来达到了500MB/s我觉得还是完全发挥出了SSD硬盘的性能。

当然,设想一下,我们如果用镁光SSD的高速500MB/s在SATA3上组成RAID0,那速度甚至可能达到1G/s了。