「磁盘阵列转移?你们Tom’s硬件指南网站的人在搞什么玩意?」当然我们搞的还是我们最拿手的东西:测试和模拟日常生 活中的各种状况下和测定效能,以及提供对高阶玩家和管理人员而言相当有用的信息。磁盘阵列转移和更改现有磁盘阵列组态的磁盘等级转移没有关联。磁盘阵列转 移的意思是将现有的磁盘阵列从一个大量储存装置控制器移转到另一个。只要你更改硬件,这件事就相当重要,这种状况最常出现在使用者打算升级系统平台(包括 主机板、CPU、内存等等)的时候。由于磁盘阵列的实际制作方式并没有明确的定义(磁盘阵列等级只定义要做哪些东西,但没有定义该怎么做),各款控制器 所谓的「磁盘阵列特征」(RAID signature)往往都不一样,将数组从这个控制器移到另一个控制器可能会让功能完整的磁盘阵列变成一块废铁。
我们在各款磁盘阵列控制器上玩不同的Windows安装方式,为我们的「磁盘阵列图表」寻找最好的配置方式时,经常碰到 要在不同控制器上重复使用已安装好的磁盘阵列这个问题。如果你的系统硬盘也使用数组组态,你可能会有兴趣知道究竟有没有可能将储存数组转移到新的梦想平台 上。假设有一块用了三年的主机板,你用上面的储存控制器建立了磁盘阵列,用来安装Windows,你能不能将现有的数组转移到较新的主机板内建磁盘阵列控 制器上?如果不行的话,有没有什么解决方法?而最重要的一点或许是,如果出现问题的话,你能不能回溯整个过程,而不损伤到磁盘阵列里的数据?
为了这次测试,我们搜遍了硬件库房,寻找适合的平台。我们决定推回到2003年,磁盘阵列控制器刚开始整合到南桥芯片里 的时候。Intel的ICH5R是供865和875芯片组选用的组件,首先提供了两个序列ATA/150连接埠,同时支持RAID 0和RAID 1。2004年的ICH6R(915、925芯片组)将SATA连接埠增加到4个, ICH7R首先纳入支持RAID 5和Intel的Matrix磁盘阵列功能,让使用者可在同一组硬盘上安装一组以上的磁盘阵列。除了Intel芯片组的主机板之外,我们还选了一款 nForce3主机板,以及一款以威盛K8T800 Pro(南桥为VT8237)为基础的解决方案。另外我们还找了一块旧型Promise FastTrak 20378控制卡,这款控制器经常出现在高阶型主机板和独立的磁盘阵列卡上。
接着我们选了三款代表目前大多数系统采用的储存装置控制器或南桥芯片,分别是AMD/ATI的SB600,隶属于 AMD690芯片组和AMD/ATI Crossfire Xpress 3200、Intel ICH9R,隶属于P35及即将针对Intel的Core 2 Duo处理器推出的X38芯片组、以及Nvidia的nForce 590,它仍然是Socket AM2解决方案和Athlon 64 X2最普遍采用的芯片组。这几款产品都支持AHCI模式和多种磁盘阵列组态,但我们要它们做的只是接受原始平台上已经建立好的磁盘阵列。
底为什么要转移?
南桥芯片 / 储存装置控制器 |
年份 |
PATA 连接埠 |
SATA 连接埠 |
RAID 等级 |
USB 连接埠 |
Intel ICH5R |
2003 |
2 |
2 |
0,1 |
8 |
Intel ICH6R |
2004 |
1 |
4 |
0,1 |
8 |
Intel ICH7R |
2005 |
1 |
4 |
0,1,0+1,5 |
8 |
Intel ICH8R |
2006 |
0 |
6 |
0,1,0+1,5 |
10 |
Intel ICH9R |
2007 |
0 |
6 |
0,1,0+1,5 |
12 |
VIA 8237 |
2004 |
2 |
2 |
0,1,0+1 |
8 |
Promise FastTrak 20378 |
2002 |
1 |
2 |
0,1 |
- |
Nvidia nForce3 |
2003 |
2 |
2 |
0,1,0+1 |
8 |
Nvidia nForce 590 |
2006 |
1 |
6 |
0,1,0+1,5 |
10 |
ATI SB600 |
2006 |
1 |
4 |
0,1,0+1 |
10 |
技术规格:Intel 875X芯片组。Socket 478 Intel Pentium 4处理器(3.0 GHz Prescott核心)、2x 512 MB DDR400 RAM。ICH5R提供2个SATA/150连接端口,不支持指令队列。
技术规格:Intel 925X芯片组。Socket LGA775 Intel Pentium 4 560处理器(3.6 GHz Prescott核心)、2x 512 MB DDR2-533 RAM。ICH6R提供4个SATA/300连接端口,支持指令队列。
技术规格:Intel 975X芯片组。Intel Core 2 Extreme 处理器 X6800(2.93 GHz Conroe核心)、2x 1 GB DDR2-667 RAM。ICH7R提供4个SATA/300连接端口,支持指令队列。
技术规格:Intel P965芯片组。Intel Core 2 Extreme 处理器 X6800(2.93 GHz Conroe核心)、2x 1 GB DDR2-800 RAM。ICH8R提供6个SATA/300连接端口,支持指令队列。
技术规格:Nvidia nForce 3 250 Gb芯片组。AMD Athlon 64 X2 处理器4800+(2.4 GHz Windsor核心)、2x 1 GB DDR2-400 RAM。MCP提供4个SATA/300连接端口,支持指令队列。
技术规格:VIA K8T800 Pro芯片组。AMD Athlon 64 X2 处理器 4800+(2.4 GHz Windsor核心)、2x 1 GB DDR2-400 RAM。MCP提供6个SATA/300连接端口,支持指令队列。
技术规格:Crossfire Xpress 3200 Intel用芯片组。Intel Core 2 Extreme 处理器 X6800(2.93 GHz Conroe核心)、2x 1 GB DDR2-800 RAM。ICH9R提供6个SATA/300连接端口,支持原生指令队列。
技术规格:Intel P35芯片组。Intel Core 2 Extreme 处理器 X6800(2.93 GHz Conroe核心)、2x 1 GB DDR2-800 RAM。ICH9R提供6个SATA/300连接端口,支持原生指令队列。
技术规格:Nvidia nForce 590 SLI。AMD Athlon 64 X2 处理器 5600+(2.8 GHz Windsor核心)、2x 1 GB DDR2-800 RAM。MCP提供6个SATA/300连接端口,支持指令队列。
首先,我们大力建议您在转移之前备份所有重要数据,因为我们没听过有哪家公司认可过磁盘阵列转移程序,因此也不保证是不是会成功。
最理想的状况是你只要将磁盘驱动器接上新控制器就行了。大多数状况下显然不会那么容易,以下是几个尚待解答的问题:
• 如果没有安装正确的驱动程序,Windows能在目标系统上启动吗?
你可以试着在Windows下选取预设的驱动程序,但我们的经验是这样也没有用。
• 磁盘驱动器接在储存装置控制器上的顺序有没有关系?
有些控制器会介意,有些则不会。
• 能不能加装适当的驱动程序?
可以。你必须执行Windows XP或Vista的修复程序。回到选择安装分割区的地方,Windows询问你是否要重新安装或修复时,请选择修复。系统会保留所有已安装的应用程序,但你必须重新安装驱动程序,包括大量储存装置驱动程序。
• 如果转移程序失败,我能不能重新回复来源系统?
可以。我们将数组磁盘驱动器接上新控制器时,数据完全没有损坏。除非你更改了磁盘阵列的实体配置,否则新控制器不会更改磁盘内容。
CPU | |
Socket 478 |
Intel Pentium 4 3.0 GHz |
Socket 754 |
AMD Athlon 64 3200+ |
Socket 775 |
Intel Pentium 4 560 |
Socket 775 |
Intel Core 2 Extreme X6800 |
Socket 939 |
AMD Athlon 64 4000+ |
Socket AM2 |
AMD Athlon X2 5600+ |
主机板 | |
Intel Platform S775 |
Lanparty UT ICFX3200-T2R/G |
AMD Platform 754 |
DFI Lanparty UT nF3 250Gb |
AMD Platform AM2 |
华硕 M2N32-SLI Deluxe |
Intel Platform S478 |
华硕 P4C800-E Deluxe |
Intel Platform S775 |
华硕 P5AD2-E Deluxe |
Intel Platform S775 |
微星 975X Platinum Power Up Edition |
Intel Platform S775 |
技嘉 965P-DQ6 |
Intel Platform S775 |
华硕 P5K3 Deluxe |
AMD Platform 939 |
华硕 A8V Deluxe |
RAM | |
RAM I |
Corsair CMX512-3200XLPRO XMS3208v1.1 |
RAM II |
Corsair CM2X1024-6400C3 XMS6403v1.1 |
RAM III |
GeIL DDR3-1066 G31GB1066C6DC |
硬盘 | |
Hard Disk I |
Western Digital WD1500ADFD |
Hard Disk II |
Samsung HD321KJ |
DVD-ROM | |
DVD-ROM I |
Gigabyte GO-D1600A (16/48 X) IDE ATA133 |
DVD-ROM II |
Samsung SH-D163A (16/48 X) SATA150 |
显示卡 | |
显示卡 I |
Zotac 8800GTS |
显示卡 II |
ATI Radeon 9800XT |
电源供应器 | |
电源供应器 |
PC Power & Cooling Turbo-Cool 510 |
电源供应器 |
Enermax EG565P-VE |
系统软件与驱动程序 | |
操作系统 |
Windows XP Professional 5.10.2600 |
DirectX Version |
9.0c (4.09.0000.0904) |
Platform AMD |
ATI Catalyst 6.11 |
Platform Nvidia nForce3 250Gb |
nForce Driver 5.11 |
Platform Nvidia nForce 590 SLI |
nForce Driver 9.35 |
Platform Intel 875P |
INF Update Utility 8.2.0.1014 |
Platform Intel ICH5 |
RAID/AHCI Software 5.5.0.1035 |
Platform Intel 925XE/P965/975X |
INF Update Utility 8.2.0.1014 |
Platform Intel ICH6/7/8 |
RAID/AHCI Software 7.0.0.1020 |
Platform Intel P35 |
INF Update Utility 8.3.0.1013 |
Platform Intel ICH9 |
RAID/AHCI Software 7.5.0.1017 |
Platform VIA K8T800 Pro/8237 |
HyperionPro 5.11A |
Graphics Driver NVIDIA |
ForceWare Release 158 |
Graphics Driver ATI |
Catalyst 7.4 |
来源平台 |
目标控制器 |
是否可成功转移? |
是否可更改连接埠? |
随插即用 |
以 Windows 修复安装转移 |
失败后回复 |
Nvidia nForce3 MCP |
ATI SB600 |
否 |
- |
- |
- |
是 |
Intel ICH6R |
ATI SB600 |
否 |
- |
- |
- |
是 |
Promise FastTrak 378 |
ATI SB600 |
是 |
是 |
- |
是 |
- |
VIA VT8237 |
ATI SB600 |
否 |
- |
- |
- |
是 |
我们首先尝试将4个不同的来源磁盘阵列转移到ATI/AMD的SB600南桥芯片上,只有一个来源系统转移成功,就是 Promise FastTrak 20378。有趣的是,AMD/ATI芯片组和Promise控制器的磁盘阵列韧体看起来几乎相同,因此我们也认为控制器逻辑可能也相同。另外,SATA 连接埠0和1也很可能弄混,因为磁盘阵列在来源和目标系统上都能运作。由Intel的ICH6R、Nvidia nForce 3或VIA VT8237转移到AMD/ATI的SB600都不成功,ATI/AMD控制器会认为是损坏的RAID 1+0,但当然不是。
来源平台 |
目标控制器 |
是否可成功转移? |
是否可更改连接埠? |
随插即用 |
以 Windows 修复安装转移 |
失败后回复 |
Intel ICH5R |
Intel ICH9R |
是 |
是 |
- |
是 |
- |
Promise FastTrak 378 |
Intel ICH9R |
否 |
是 |
- |
Windows 光盘无法开机 |
是 |
Nvidia nForce3 |
Intel ICH9R |
否 |
- |
- |
- |
是 |
VIA VT8237 |
Intel ICH9R |
否 |
是 |
- |
- |
是 |
Intel ICH6R |
Intel ICH9R |
是 |
是 |
- |
是 |
- |
Intel ICH7R |
Intel ICH9R |
是 |
是 |
- |
是 |
- |
Intel ICH8R |
Intel ICH9R |
是 |
是 |
是 |
- |
- |
接着我们将目标系统换成配备ICH9R的P35芯片组的华硕P5K3 Deluxe,另外还多加几个Intel芯片组来源系统,看看不同世代的的Intel芯片组或储存装置控制器之间兼容性如何。从旧的Intel芯片组转移 到新芯片组上完全没有问题,但我们必须执行Windows XP修复安装,接着就可重新安装更新后的储存装置驱动程序。我们也可在过程中对换SATA连接埠,整个过程没有任何困难。由ICH8转换为ICH9甚至完 全不需使用者介入,这两者的大量储存装置控制器在运作时似乎完全相同。
将安装好的系统由Nvidia nForce3 MCP或威盛的VT8237转移到Intel ICH9R则没有成功。nForce3磁盘驱动器被辨识为非数组磁盘驱动器,而在VIA的系统方面, Intel的控制器则只辨识出未使用的数组磁盘驱动器。
来源平台 |
目标控制器 |
是否可成功转移? |
是否可更改连接埠? |
随插即用 |
以 Windows 修复安装转移 |
失败后回复 |
Nvidia nForce3 |
Nvidia nForce 590 |
是 |
是 |
- |
是 |
- |
Promise FastTrak 378 |
Nvidia nForce 590 |
否 |
- |
- |
- |
是 |
VIA VT8237 |
Nvidia nForce 590 |
否 |
是 |
- |
- |
是 |
Intel ICH6R |
Nvidia nForce 590 |
否 |
- |
- |
- |
是 |
转移到nForce 590的工作不算成功,只有nForce 3来源系统移转成功。使用Promise控制器、Intel或VIA来源系统时,原有的磁盘阵列完全无法辨识,系统只回报有空白磁盘。如果使用的磁盘驱动器较 多时,这样会相当危险,因为你可能会将数组磁盘驱动器和其它或许真的是空白的磁盘驱动器搞混,不小心毁掉磁盘阵列。nForce 590 MCP将威盛控制器的磁盘阵列被辨识为损坏的RAID 5数组。
将磁盘阵列从一个控制器转移到另一个控制器,只有在少数状况下可以成功,因为磁盘阵列的实作方式不同,所以控制器的磁盘 数组特征也各不相同。我们发现磁盘阵列可在同一厂商的控制器间转移。举例来说,在Intel的ICH5、ICH6、ICH7或ICH8控制器上建立的磁盘 数组,都可转移到ICH9上。从ICH8转移到ICH9甚至完全不需处理,因为这两种储存装置单元在运作时似乎完全相同。从nForce3转移到 nForce 590也相当顺利,从Promise控制器转移到ATI/AMD 690芯片组和SB600南桥芯片也完全没有困难,因为它们使用相同的控制器逻辑线路。
即使可以成功转移,所有转移程序也都必须执行Windows XP修复安装,方式是以安装光盘开机,在选择安装分割时选择「修复」,而不选择「完整安装」。还好,你一定可以停止转移工作,将磁盘阵列装回原先的控制器上而不损坏数据。
目前为止一切正常。但这篇文章所进行的测试耗时超过一星期,由于现在的主机板内建磁盘阵列控制器功能已经相当强大,因此 应该不需要这么久了。多重磁盘阵列模式,甚至在同一组硬盘上安装多组磁盘阵列都很容易建立,使用的磁盘驱动器最多可达6部。Nvidia的软件会在磁盘驱动器损坏 时发出讯息,在Windows下时甚至还可告诉你该换哪部磁盘驱动器。但不论是AMD SB600、Intel的ICH9或Nvidia的nForce 5/6 MCP,没有一款控制器能确实找到原有的磁盘阵列,更别说是加入新数组。
这个领域显然还需要进一步改良,不过我们也清楚这并不容易。因为没有共通的规格,因此不同厂商的磁盘阵列实作方式也各不 相同。依据CBL Data Recovery和Kroll Ontrack等公司提供给我们的数据,在磁盘阵列实作方式方面,磁盘阵列控制器制造厂商并没有合作。