磁盘阵列移转大冒险

间隙填充
正睿科技  发布时间:2008-01-23 09:35:08  浏览数:3687

储存专业人员的器官移植手术:转移磁盘阵列

「磁盘阵列转移?你们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。虽然它的控制器的效能已经略微高于90年代末的Ali、 SiS或VIA等芯片组,但Intel仍然是第一个将序列ATA控制器整合到南桥芯片的芯片组厂商。Intel发现这个功能相当重要,足以使储存功能成为 各款南桥芯片间的主要差异因素。Intel也是第一家支持RAID 5 with parity的公司(不过这项功能会影响处理器)。

现在Nvidia已经和Intel不相上下,目前的nForce芯片组系列也同样相当好用。ATI一向不是芯片组市场 上的主流,但正在急起直追。虽然SB600南桥芯片没有独特的功能,储存装置控制器的效能也没有超越Intel和Nvidia,但仍然可以满足绝大多数的 使用者。

到底为什么要转移?

答案很简单,很多使用者花了好多小时,甚至好多天,安装Windows系统、安装驱动程序和应用程序,最后依据自己的需 求调整系统。重新安装系统等于要再花相同的时间重做一遍。如果Windows系统能够完全正常运作,显然大多数人都会希望能不用重做最好。许多人也找不到 多余的储存容量可将现有磁盘阵列中的所有数据移出来。

为什么不试试…?

由于这个计划只有一星期时间可用,南桥芯片和储存控制器的数量已超过我们的能力范围,因此我们选出我们认为对众多读者而 言最具有测试价值的原始及目标平台。我们回到2003年时的状况,但将转移测试范围缩小在AMD/ATI、Intel和Nvidia推出的三款目标控制 器,因为其它产品和可能考虑转移现有磁盘阵列的高阶玩家或管理人员没什么关系。另外,使用独立式磁盘阵列卡也会使这篇文章篇幅加大,同时根据我们的经验, 极少使用者会购买独立式磁盘阵列卡扩充桌上型计算机的磁盘阵列。

磁盘阵列等级选择

这次我们选择RAID 0进行测试,因为这是高阶玩家用来加快储存子系统的常见方式。几项与RAID 1的交叉测试显示,这种方式用起来相当不错。显然储存控制器不仅复制硬盘内容,还会将本身的特征写入磁盘。因此,目标控制器必须能解读原始控制器的特征才行。
 

原始平台

Intel ICH5R:华硕P4C800-E Deluxe

技术规格:Intel 875X芯片组。Socket 478 Intel Pentium 4处理器(3.0 GHz Prescott核心)、2x 512 MB DDR400 RAM。ICH5R提供2个SATA/150连接端口,不支持指令队列。

Intel ICH6R:华硕P5AD2-E Deluxe

技术规格:Intel 925X芯片组。Socket LGA775 Intel Pentium 4 560处理器(3.6 GHz Prescott核心)、2x 512 MB DDR2-533 RAM。ICH6R提供4个SATA/300连接端口,支持指令队列。

Intel ICH7R:微星975X Platinum加强版

技术规格:Intel 975X芯片组。Intel Core 2 Extreme 处理器 X6800(2.93 GHz Conroe核心)、2x 1 GB DDR2-667 RAM。ICH7R提供4个SATA/300连接端口,支持指令队列。

原始平台(续)

Intel ICH8R:技嘉GA-965P-DQ6

技术规格:Intel P965芯片组。Intel Core 2 Extreme 处理器 X6800(2.93 GHz Conroe核心)、2x 1 GB DDR2-800 RAM。ICH8R提供6个SATA/300连接端口,支持指令队列。

Nvidia nForce3 250Gb MCP:DFI LanParty UT NF3 260GB

技术规格: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 VT8237:华硕A8V Deluxe

技术规格:VIA K8T800 Pro芯片组。AMD Athlon 64 X2 处理器 4800+(2.4 GHz Windsor核心)、2x 1 GB DDR2-400 RAM。MCP提供6个SATA/300连接端口,支持指令队列。

目标平台

AMD/ATI SB600:DFI LanParty UT ICFX3200-T2R/G

技术规格:Crossfire Xpress 3200 Intel用芯片组。Intel Core 2 Extreme 处理器 X6800(2.93 GHz Conroe核心)、2x 1 GB DDR2-800 RAM。ICH9R提供6个SATA/300连接端口,支持原生指令队列。

ICH9R:华硕P5K3 Deluxe

技术规格:Intel P35芯片组。Intel Core 2 Extreme 处理器 X6800(2.93 GHz Conroe核心)、2x 1 GB DDR2-800 RAM。ICH9R提供6个SATA/300连接端口,支持原生指令队列。

Nvidia nForce 590 MCP:华硕M2N32-SLI Deluxe

技术规格: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
(Prescott 90 nm, 3.0 GHz, 1 MB L2 快取 )

Socket 754

AMD Athlon 64 3200+
(Clawhammer 130 nm, 2.0 GHz, 1 MB L2 快取 )

Socket 775

Intel Pentium 4 560
(Prescott 90 nm, 3.6 GHz, 1 MB L2 快取 )

Socket 775

Intel Core 2 Extreme X6800
(Conroe 65 nm, 2.93 GHz, 4 MB L2 快取 )

Socket 939

AMD Athlon 64 4000+
(Clawhammer 130 nm, 2.4 GHz, 1 MB L2 快取 )

Socket AM2

AMD Athlon X2 5600+
(Windsor 90 nm, 2.8 GHz, 2 MB L2 快取 )

主机板

Intel Platform S775

Lanparty UT ICFX3200-T2R/G
AMD Crossfire Xpress 3200 For Intel / SB600

AMD Platform 754

DFI Lanparty UT nF3 250Gb
NVIDIA nForce3 250Gb

AMD Platform AM2

华硕 M2N32-SLI Deluxe
NVIDIA nForce 590 SLI

Intel Platform S478

华硕 P4C800-E Deluxe
Intel 875P, ICH5R, Promise FastTrak

Intel Platform S775

华硕 P5AD2-E Deluxe
Intel 925XE, ICH6R

Intel Platform S775

微星 975X Platinum Power Up Edition
Intel 975X, ICH7R

Intel Platform S775

技嘉 965P-DQ6
Intel P965, ICH8R

Intel Platform S775

华硕 P5K3 Deluxe
Intel P35, ICH9R

AMD Platform 939

华硕 A8V Deluxe
VIA K8T800, VIA 8237

RAM

RAM I

Corsair CMX512-3200XLPRO XMS3208v1.1
2x 512 MB DDR-400 (CL 2.0-2-2-5)

RAM II

Corsair CM2X1024-6400C3 XMS6403v1.1
2x 1024 MB DDR2-800 (CL 4.0-4-4-8 1T)

RAM III

GeIL DDR3-1066 G31GB1066C6DC
2x 512 MB DDR3-1066 (6-6-6-15)

硬盘

Hard Disk I

Western Digital WD1500ADFD
2x 150 GB 10,000 RPM, 16 MB cache, SATA150

Hard Disk II

Samsung HD321KJ
2x 320 GB 7.200 RPM, 16 MB cache, SATA300

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
GPU: Nvidia GeForce 8800 GTS (500 MHz)
内存: 320 MB GDDR3 (1200 MHz)

显示卡 II

ATI Radeon 9800XT
GPU: ATI R360 (412 MHz)
内存: 256 MB GDDR2 (730 MHz)

电源供应器

电源供应器

PC Power & Cooling Turbo-Cool 510
ATX 2.01, 510 W

电源供应器

Enermax EG565P-VE
ATX 2.01, 510 W

系统软件与驱动程序

操作系统

Windows XP Professional 5.10.2600
Service Pack 2

DirectX Version

9.0c (4.09.0000.0904)

Platform AMD
Radeon Xpress 3200 for Intel

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


转移测试结果…

转移到AMD/ATI SB600

来源平台

目标控制器

是否可成功转移?

是否可更改连接埠?

随插即用

以 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,但当然不是。

转移到Intel ICH9R (82801IR)

来源平台

目标控制器

是否可成功转移?

是否可更改连接埠?

随插即用

以 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的控制器则只辨识出未使用的数组磁盘驱动器。

转移测试结果…(续)

转移到Nvidia nForce 590 MCP

来源平台

目标控制器

是否可成功转移?

是否可更改连接埠?

随插即用

以 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等公司提供给我们的数据,在磁盘阵列实作方式方面,磁盘阵列控制器制造厂商并没有合作。