ICP vortex GDT RAID 控制器
制造商:ICP Vortex
电子邮件:sales@icp-vortex.com
价格:GDT6518RD 型号 1595 美元,GDT6538RD 型号 2195 美元(批量定价另议)
评测人:Eric Lee Green
ICP Vortex 是一家德国公司,长期以来一直是 Linux 的支持者。ICP 驱动程序由 ICP 编写,自 Linux 1.3 时代起就已包含在 Linux 内核中,他们的 RAID 配置实用程序 (gdtmon) 可以在 Linux 下原生运行。虽然 ICP 是欧洲最大的 RAID 硬件供应商,但在美国,与 Mylex、Adaptec 和 AMI 相比,他们的知名度似乎较低。
ICP 提供多种 RAID 卡,从低成本的单通道 RAID0,1 控制器到一系列高端光纤通道控制器。所有 ICP 卡都与 Linux 兼容,并且“开箱即用”地受到当前 Linux 发行版的支持,但 Red Hat 6.0 除外,尽管 ICP 驱动程序在安装菜单上,但不知何故却被遗漏在引导盘之外。Red Hat 的 FTP 站点或 ICP 直接提供了修复后的引导盘。
首先,介绍一点背景知识:RAID 是一种将磁盘驱动器组合起来以提高性能或可靠性的方法。RAID 有多种实现方法。软件 RAID 构建于 Linux 内核中。“纯”硬件 RAID 将 SCSI 控制器直接内置到 PCI 卡中。还有混合方法,其优点是价格便宜,但需要特殊配置的主板(通常带有所谓的“RaidPort”)或双倍的 PCI 带宽才能运行。
“纯”硬件 RAID 的最大优势是 CPU 使用率低、稳健性高、总线带宽使用率最低,并避免了 Linux SCSI 驱动程序架构可以寻址的 SCSI 设备数量的底层限制。Linux SCSI 子系统最多可以访问 16 个硬盘驱动器(标记为 sda 到 sdp)。通过将 RAID 阵列中的多个驱动器作为单个驱动器呈现给 Linux,硬件 RAID 绕过了该限制。
第一个问题是决定测试哪个 ICP RAID 控制器。很容易排除低端和高端控制器。仅支持 RAID0 和 RAID1 的 61xx 系列比内置的 Linux 软件 RAID 慢。光纤通道控制器在使用 EXT2 文件系统的 Linux 下运行良好,但 Linux 对能够使用光纤通道驱动器作为光纤连接存储(在多台机器之间共享)的文件系统的支持充其量还处于实验阶段。
为了决定使用哪种控制器,我转向了 Linux 下 RAID 的两种最常见用途:Web 和新闻服务器。
Web 服务器通常有三个驱动器,一个热备盘。使用 4.5GB SCSI 硬盘驱动器,这将为他们提供 9GB 的可用磁盘空间。请注意,9GB SCSI 驱动器通常比 4.5GB 快两倍,因此这也是一种选择。单通道 6518RD 在此应用中工作良好。
新闻服务器需要大量的磁盘空间。一个能够备份整个 USENET 新闻层次结构一个月的新闻服务器可能至少需要 12 个 36GB 硬盘驱动器。我的非正式基准测试表明,IBM 7200rpm 36GB 硬盘驱动器的数据传输速率约为 25MB/秒,而 Ultra2 SCSI 的带宽限制为 80MB/秒。因此,每个通道四个驱动器将是一个很好的“凭经验”估计,这里需要一个 3 通道 RAID 控制器。6538RD 是他们的“中端”控制器之一,被选为第二个评估的卡。
ICP 控制器装在一个相当重的盒子里,里面装有控制器、一张包含驱动程序和实用程序的 CD 以及一本厚厚的活页装订手册。CD 还包含该手册的完整 PDF 版本,以及自手册出版以来创建的任何附录和勘误表。
检查 6518RD 发现了一个 Intel 960 CPU、一个 Symbios 53c895 SCSI 芯片组、一个 Symbios 53c860 芯片和各种小型支持芯片。还有一个用于缓存 SIMM 的插槽。这也用作 Intel 960 的暂存内存,因此控制器在没有它的情况下无法运行。
6518RD 和 6538RD 都包含 53c860 Ultra-SCSI 芯片,用于处理单独窄带 SCSI 总线上的 CD-ROM 和磁带驱动器。因此,6518RD 实际上可以被视为双通道设备,尽管它只有一个 Ultra2 RAID 通道。尽管有两个通道,但 6518RD 背面只有一个外部 SCSI 连接器。令人恼火的是,此连接器连接到 Ultra2 控制器。请注意,将任何非 LVD 设备连接到 Ultra2 总线都会将其速度降低到非 LVD 速度,即 40MB/秒,因此将磁带驱动器连接到此连接器将是一个严重的错误。外部磁带驱动器将需要一根特殊的电缆,将内部窄带 SCSI 引到计算机背面的插座。
6538RD 看起来与 6518RD 相似,但为了容纳另外两个 53c895 芯片而更长。它的背面有三个高密度 SCSI 连接器。与 6518RD 类似,只有 Ultra2 通道被引出到外部连接器。如果您有外部磁带设备,解决方法是相同的:使用特殊电缆将内部窄带 SCSI 连接器引出到外部连接器。
我要做的第一件事是将缓存 SIMM 添加到控制器卡中。ICP 建议您使用 60ns FPM(快速页面模式)RAM 或 50ns EDO RAM。我只有 60ns EDO RAM,所以起初我尝试将跳线设置为表示我有 60ns FPM RAM。在与技术人员交谈后,我决定将跳线移动到 EDO 模式。我发现在 FPM 和 EDO 模式设置之间存在显着的性能差异。跳线到 EDO 模式将性能提高了约 20%。使用廉价的 60ns EDO SIMM 绝对会使控制器不可靠;事实上,当我尝试复制兆字节文件以测试磁盘写入吞吐量时,它损坏了硬盘驱动器。切换到高质量 OEM 60ns EDO SIMM 解决了该问题。
我尝试使用 64MB 和 128MB 缓存对 GDT 进行基准测试。我发现性能没有显着差异,因此建议使用 64MB 缓存。鉴于当今 RAM 的低廉价格,使用小于 64MB 的缓存是没有意义的。
当您将这两张卡插入计算机时,它们的工作方式完全相同。它们使用相同的驱动程序、相同的 BIOS 和相同的实用程序。唯一的区别是您用于设置 RAID 卷的 BIOS 实用程序为 6538RD 显示了更多通道。
BIOS 设置实用程序允许您选择驱动器,然后将它们组合成单个 RAID 卷。它不允许像软件 RAID 驱动程序那样在多个 RAID 卷之间划分驱动器。设置实用程序将结果数据写入驱动器开头和结尾的特殊引导扇区。因此,您可以卸下控制器,放入不同的(更换)控制器,并且您的 RAID 设置保持不变。
GDT6538RD 毫无困难地将来自多个通道的驱动器组合在一起,并将它们作为单个 SCSI 硬盘驱动器呈现给 Linux。出于好奇,我尝试将多个 GDT 控制器放入一台机器中,看看是否可以组合位于完全不同的控制器上的驱动器。这没有奏效,但除此之外,Linux GDT 驱动程序在同一台计算机中处理多个 GDT 卡时没有问题。
配置阵列后,GDT 控制器开始构建阵列,即构建校验和块。我中断了这个过程以重新启动到 Red Hat 5.2 安装例程。我发现 ICP 不会将连接到其窄带 SCSI 端口的 SCSI CD-ROM 作为可引导设备呈现给 BIOS。切换到 IDE CD-ROM 解决了该问题。
5.2 安装程序在我的系统上检测到 ICP RAID 阵列控制器和 RAID 阵列作为单个硬盘驱动器。我继续安装了 Red Hat Linux。在我执行此操作时,GDT 控制器正在后台透明地继续构建磁盘阵列。
阵列可能需要相当长的时间才能构建并变得冗余。请注意,您可以在后台构建阵列的同时执行安装操作系统、配置软件等任务。
不幸的是,我无法在带有 3 通道控制器和 36GB 驱动器的系统上进行广泛的基准测试。命令 hdparm -t 报告在“virgin”驱动器(操作系统刚刚重启且 GDT 控制器重置)上的吞吐量为 28MB/秒。使用 dd 将 100,000,000 字节从 /dev/zero 写入磁盘阵列报告的写入吞吐量约为 18MB/秒。我发现的一件事是,打开写入缓存显着提高了吞吐量。显然,这允许控制器在内部执行写入重新排序并在可能的情况下组合写入。经过测试的 2.0.36 和 2.2.10 内核都在关机时正确刷新缓存,因此只要您拥有正确配置为干净关闭系统的 UPS,这通常是安全的。如果您不信任 UPS 软件并坚持关闭写入缓存,则预计写入性能会受到显着影响。
所涉及硬件的理论性能略高于看到的数字。通过使用 dd 读取和写入原始分区,消除了 EXT2 文件系统作为可能因素的可能性。软件 RAID0 快了约 15%,但仍然没有接近所涉及硬件的理论性能。对这种减速原因的推测会很有趣(我怀疑它们是由于 Linux 内核中的各种因素造成的),但这与本文无关。无论如何,GDT 的 RAID5 性能与软件 RAID5 相似,而没有在运行软件 RAID5 时看到的过度 CPU 使用率。
如果驱动器损坏,RAID1 或 RAID4/5/10 会继续运行。然后 GDT 开始发出恼人的蜂鸣声。它还会向 syslog 和控制台发送消息。
如果定义了热备盘,GDT 将自动将坏驱动器标记为故障,并切换到使用热备盘。它将使用热备盘透明地重建阵列。您无需采取任何操作,但您最终会想要卸下坏驱动器,更换新驱动器并将新驱动器初始化为热备盘。假设您有热插拔托架,则无需关闭 Linux 即可执行此操作。ICP gdtmon 程序在 Linux 下原生运行,可以处理这种情况。
如果您没有热备盘,GDT 将自动标记故障磁盘,但阵列将不再是冗余的。同样(gdtmon 来救援),您可以使用 gdtmon 换出坏驱动器并换入更换驱动器。无需停机,因为 gdtmon 在 Linux 下原生运行;新驱动器将在您的系统继续运行时透明地重建。
像梅赛德斯-奔驰汽车和大多数其他德国产品一样,GDT 在某种程度上是过度设计的。这使其非常可靠和安全,但也比竞争对手更昂贵。我尝试了两家不同的 ICP 控制器经销商。一家试图以建议零售价向我出售控制器和 RAM,另一家则为我报价 6518RD(带 RAM)的价格,比单独控制器的建议零售价低约 50 美元。带 64MB 缓存的价格比同等的 Mylex ExtremeRaid 带 32MB 缓存的价格高出约 300 美元。价格会因新产品的推出等因素而波动,但这些相对价格可能会保持相似。因此,对于低端 RAID,您可能希望考虑竞争设备,但请记住,大多数供应商没有 ICP 所拥有的 Linux 经验和支持范围。
对于需要高可用性和大容量磁盘存储的情况,硬件 RAID 的稳健性、透明性以及将多个驱动器作为单个卷呈现给 Linux SCSI 层的功能使其成为必须。
在硬件 RAID 市场中,ICP GDT 系列是 Linux 可用的最完整 RAID 解决方案集。其他供应商为 Linux 提供单通道 RAID 控制器,但多通道 RAID 控制器在 Linux 市场中仍然很少见。在撰写本文时,没有其他供应商为 Linux 提供光纤通道 RAID 解决方案。
ICP GDT 系列也是 Linux 市场上最稳健的 RAID 解决方案之一。部分原因是 ICP 将他们的 gdtmon 实用程序移植到 Linux,从而可以在不必像重新配置大多数竞争设备那样重启到 DOS 的情况下处理热插拔和故障转移情况。很大程度上是因为 ICP 团队已将其产品设计为尽可能安全。
不幸的是,这确实需要付出代价。ICP RAID 控制器不是最便宜的。对于单通道控制器,您可能希望研究来自 Mylex、AMI 或 Adaptec 的竞争设备,但请记住,它们对 Linux 的支持相对较新且不完整。对于多通道控制器或光纤通道 RAID,则完全没有争议。在这些市场中,ICP Vortex 是 Linux 的 最佳 RAID 解决方案。
Eric Lee Green (eric@estinc.com) 是 Enhanced Software Technologies Inc.,“The Bru Guys”的系统和网络专家。