NEC 容错 Linux 服务器

作者:Dan Wilder

产品信息。 

  • 制造商:NEC Corporation

  • 网址:www.necft.com

  • 价格:24,000 美元以上

优点。 

  • 结构坚固。

  • 无需工具,热插拔冗余 CPU、磁盘、电源和 PCI 模块。

  • 自动隔离故障硬件。

缺点。 

  • 速度不够快。

  • Kernel 2.4.2 可能不适合所有需求。

  • 随附包含已知安全问题的旧版本守护程序。

NEC Corporation 的 Express5800/320La 是首款商用通用服务器,为 Linux 提供硬件容错功能。该服务器旨在独立使用或作为高可用性集群中的一个元素,具有冗余 CPU、内存、磁盘、I/O 和电源。硬件故障转移电路允许在丢失任何单个单元的情况下继续正常运行。热插拔功能超越了常用的电源和磁盘。如果此系统上的 CPU、RAM 或 I/O 卡发生故障,它将被隔离,并且处理将不中断地继续。您可以在方便时更换故障部件,而无需关闭整个系统。例如,对于需要始终在线的服务器的公司,这可以显著节省成本,尤其是在技术支持可能需要数小时才能到达的偏远地区。应用程序无需进行高可用性修改即可将此系统用作独立服务器,也不需要故障转移脚本和计划。

数千台此类服务器已随其他操作系统一起发货,现在 Linux 也可在其上使用。标准的 Linux 内核提供的错误检测和恢复功能对于这种运行模式来说太少,因此 NEC 添加了广泛的强化功能。特别是 SCSI、以太网和光纤通道驱动程序和支持代码经过修改,以提供故障检测和故障转移。NEC 当前发货的内核基于 2.4.2 版本,并反向移植了一些后来的更改。在撰写本文时,NEC 正在审查和记录其内核更改,计划公开发布,可能通过 OSDL 的运营商级 Linux 项目。NEC 是 OSDL 的创始成员和赞助商。

功能

Express5800/320La 具有四个 Pentium III 800MHz 处理器,成对排列,并与 RAM 和其他电路一起,位于两个热插拔 CPU 模块中。两个模块都以锁步方式运行相同的指令,互相检查输出。故障单元几乎立即被隔离,从而允许处理继续进行,而不会出现可观察到的中断。监控软件记录可恢复的故障,例如对内存输出的 ECC 纠正,从而可以在更大的故障发生之前诊断某些初期问题。此服务器上的标准文件系统是 ext2。

总共可以安装三对内部 18、36 或 73GB 驱动器,并配置为 RAID-1 对,从而提供高达 219GB 的内部存储空间。NEC S1200 RAID 阵列可以通过冗余光纤通道连接,提供高达 2TB 的额外容错存储空间。

两个 PCI 模块具有双重相同的 PCI 卡集。基本单元在每个模块中都有一张以太网卡。两张卡都连接到同一网络;当一张卡发生故障时,另一张卡将使用相同的 MAC 和 IP 地址接管。所有模块和电源都插入到无源背板中。

硬件看门狗定时器会查找系统故障,例如由于内核崩溃导致的系统死锁,并且可以配置为启动自动重启,进入完整运行模式或诊断模式。

这款服务器很大,尺寸为 14 英寸宽、21.5 英寸高、27.5 英寸深,重量约为 150 磅。还提供 8U 机架式版本。包括三年保修。NEC 在正常工作时间内提供电话支持。

开箱和启动

打开我们评测单元包装完好的运输箱,我观察到外壳上有一个警告标签,上面写着“搬运系统时请小心,以避免人身伤害。” NEC 并非开玩笑。需要一位强壮的同事的帮助才能将这个东西轻轻地从运输箱中抬出来并放在地板上。我们的演示单元配备了双 Seagate ST318404LC 18G SCSI 驱动器、1GB RAM 和两张以太网卡。

内部组件看起来制作精良,无需工具即可拆卸和更换。不过,如果单元的标签能更好一些就更好了。风扇位于可拆卸单元中,因此您不必关闭这些服务器中的一台即可更换发生故障的风扇。即使是电源线也是冗余的。这允许从两个独立的电源为服务器供电,更不用说让忙碌的系统管理员拔下电源线来解开它而不会中断任何操作。

按下位于铰链塑料保护盖下方的电源开关后,一阵散热风扇启动,前面板发出 63 分贝的洪亮呼啸声,后面板发出 74 分贝的呼啸声。前面板 LCD 状态监视器显示诊断消息,LED 指示灯闪烁。大约两分钟后,系统完成开机自检并启动进入 NEC Linux,它基于 Red Hat Linux 7.1。

流行的 bonnie++ 磁盘测试程序是我们在此系统上尝试的第一件事。在 bonnie++ 启动后,一个 CPU 模块上的故障指示灯立即亮起。测试如预期完成,但纠正服务器的问题似乎是明智之举。一位 NEC 工程师通过支持热线联系我们,让我们运行了一些测试,然后建议无源背板可能在运输过程中遭受了机械损坏。背板不可热插拔。他想检查一下,所以我们安排了服务器的更换。新服务器及时到达,启动并顺利通过了 bonnie++ 测试。

为了测试网络恢复,我一次拔掉两张以太网卡中每张卡的以太网电缆。Ping 指示丢失了一些数据包,但总体通信得以维持。尽管不断拔下备用电缆,一次拔下一根,并且在两根电缆都已插入的情况下有几秒钟的重叠,但测试单元和另一台服务器之间的 rsync 顺利完成,没有错误。

在运行 bonnie++ 时,我断开了每个 CPU 模块的电源,然后重新连接。在这两种情况下,CPU 模块都在运行几分钟诊断程序后恢复运行。磁盘基准测试结果未受影响。

基准测试

最好的基准测试是您计划运行的负载,并且可以使用许多基准测试。每个基准测试都捕获了系统功能的有限视图。随着基准测试变得流行,制造商会调整硬件和安装以优化基准测试结果,因此结果的适用性降低。

Linux Journal,我们根据 bonnie++、内核构建和 PostgreSQL 回归测试的结果对服务器进行粗略评估。这些测试运行多次,结果取平均值。我们将此服务器与备用的通用服务器进行了比较,该服务器具有单个 Athlon XP 2100+ 处理器,并使用两种不同的磁盘配置:单个 IDE 驱动器和 IDE 硬件 RAID-5。结果如表 1-5 所示。

在 I/O 测试中,NEC 单元的表现优于 IDE RAID 系统,在块输出和块重写方面轻松击败了它,在块输入方面也略胜一筹。在创建大量零大小文件时,具有更快 CPU 的通用机器获胜。在 PostgreSQL 回归测试的运行时间方面,NEC 服务器介于通用机器的两种配置之间,同时占用了更高比例的 CPU 时间,尽管负载平均值较低 - 这是衡量准备运行但未运行的进程数的指标。内核构建测试表明 NEC 单元的表现不太好。这可能是因为编译内核在计算上比其他两个测试更密集,但它不能很好地适应多 CPU 运行,即使有多个进程在工作。

我们对这些测试进行了预运行,并且在 bonnie++ 和内核编译测试期间,两个 CPU 上的相对负载来回大幅波动。PostgreSQL 测试显示两个 CPU 之间的负载分配相当稳定。这并不完全令人惊讶,因为 PostgreSQL 测试在客户端和服务器之间拆分处理,为在两个 CPU 之间分配负载提供了更好的可能性。

总的来说,与我们最近推出的中等水平的通用计算机相比,NEC 机器的速度并不快得惊人。但是,它的表现相当不错。无论如何,NEC 机器的声誉在于其容错能力。在这方面,我们的通用机器没有太多可比性。

软件

NEC 服务器配备了 NEC Linux,它源自 Red Hat 7.1。它在控制台上仅显示文本,不包含 X 服务器。提供 X 库和客户端以供从远程显示器使用。安装相当完整,尽管我发现缺少我依赖的某些程序(例如 procinfo)有点烦人。

软件重新安装是使用 Red Hat 的 kickstart 方法完成的。当我们尝试时,从提供的 CD 重新安装的过程非常顺利。

某些已安装的守护程序是非常旧的版本,并且包含严重的安全漏洞。示例包括 Sendmail 8.11.2、Apache 1.3.19、OpenSSL 0.9.6 和 OpenSSH 2.5.2p2。我们无法了解有关发布较新版本的具体计划。Aspire Communications 的 John Fitzsimmons 在本次评测期间担任我们与 NEC 的联络人,他表示 NEC 希望其客户能够根据自己的喜好自定义发行版,并在部署之前与 NEC 确认最终设置。升级这些东西很可能是自定义工作中最少的组成部分。尽管如此,升级后的 NEC Linux 可能会在今年晚些时候推出。它可能包含 X 服务器;我们希望它包含安全升级。

NEC 提供了广泛的专有软件,用于服务器的配置和监控。这允许冗余硬件的设置和配置,以及通过 SNMP 或其他方式对远程系统进行监控和报告。

总体评价

在付印时,软件负载方面还有大量工作要做。对于起价 24,000 美元的评测服务器而言,如果客户不需要立即开始进行重大的安全相关升级,那就更好了。

我们对该服务器的容错能力所依赖的内核的未来发展方向有些担忧。自 2.4.2 以来,2.4 内核发生了许多变化,而此服务器的内核正是基于 2.4.2 版本。我们无法清楚了解 NEC 在将其更改向前移植到更高版本的 2.4 内核方面的计划。尽管有一项计划要将这些更改移植到内核版本 2.6 及更高版本,并在其他 NEC 容错服务器上提供 Linux,但似乎没有宣布与此计划相关的日期。

NEC 告诉我们,他们坚定地致力于根据 GPL 公开发布所有更改。在此发生之前(即在本文发表后一段时间),我们无法评估 NEC 的更改有多广泛,也无法评估它们的可能命运,例如集成到内核的主线源代码中。

我们的总体评价是积极的,但带有谨慎态度。对于许多应用程序来说,此服务器具有足够的处理能力。能够更换故障硬件而无需关闭系统真是太好了。更令人高兴的是,硬件可以自行停止服务,而不会中断任何操作,等待方便的维修时间。话虽如此,我们建议正在考虑购买大量此类服务器的公司仔细询问有关正在进行的内核开发的问题。此外,还要询问 NEC 的演示或“试用购买”计划,根据这些计划,您或许可以获得其中一台机器,并针对其预期应用对其进行严格测试。

资源

容错 Linux 摘要和白皮书请求:www.necsolutions-am.com/servers/products。如果这不起作用,请访问 servers.nectech.com 并按照链接 资源→问答。然后在文档中搜索“Linux”,并点击“阅读更多”链接。

开源开发实验室:www.osdl.org

Dan Wilder 是 Specialized Systems Consultants, Inc. 的技术经理。

加载 Disqus 评论