打造终极 Linux 工作站
1996 年,Eric Raymond 为 LJ 撰写了一篇广受欢迎的文章,题为“打造完美主机:如何设计您的 Linux 工作站”。最近,我们中的一些人开始购买硬件,并注意到自 Eric 推荐配备 2GB 磁盘空间的奔腾 133 或 166 以来,硬件选择发生了一些变化。因此,我们请 Eric 和其他专家帮助我们更新关于打造终极 Linux 工作站的建议。
早在 1996 年,Eric 就建议 Linux Journal 的读者“购买比商业领域最先进水平低一到两个级别的产品”。这在总体上仍然是很好的建议。如果您想省钱,制造商最快的 CPU 和稍慢一些的 CPU 之间存在很大的价格差异;而且您的钱最好花在更多的 RAM 或其他部件上。
即使 Eric 的建议在地球上仍然适用,但我们正在打造终极 Linux 主机,因此我们将选择我们能买到的最快的 CPU。是的,CPU,复数。有了专门处理后台任务的 CPU,您的周期占用型进程,例如 MP3 编码和 GIMP,将完全独占另一个 CPU,这是个好消息。但是,如果您的预算有限,并且追求启动程序或打开文件时的总体“响应速度”,那么 SMP 帮助不大,而且您最好选择配备 10,000RPM SCSI 驱动器的单 CPU 系统,而不是配备慢速驱动器的 SMP 系统。
选择哪种 CPU?Darryl Strauss 曾在基于 Alpha 的 Linux 机器的渲染农场工作,该农场渲染了电影 泰坦尼克号 中的许多场景(请参阅 1998 年 2 月刊的 Linux Journal)。“我真的很喜欢 Alpha”,他说。“我在家有一台双 264 系统,它非常棒。他们还在即将推出的主机上做了一些出色的工作,这些主机将包括更快的处理器、更快的总线和 AGP 显卡。问题在于它们是小众产品。如果您有专门的应用程序在 Alpha 上运行,那么您就找不到比它们更好的了。如果您想要一台通用系统,那么 Intel 兼容架构是首选。”
大多数编写您想要运行的软件的人都在 Intel 架构系统上进行测试,因此我们现在将坚持使用 Intel 当前的顶级处理器。AMD CPU 与 Intel 二进制兼容,并且在性能方面可以与 Intel 一较高下,但目前还没有主板支持两个 AMD CPU。
可用的主板列表不断变化。有足够多的新主板出现,足以维持整个网站只报道主板新闻。您如何选择一块主板?Jason Collins 是 VA Linux Systems 的软件工程师,也是 Cerberus 测试套件的开发人员,他正在构建自己的家用 Linux 系统,并就选择主板提出了一些建议。“我会查看超频网站。如果一块主板在超频时稳定,那么它在预期速度下也会非常稳定”,他说。
Penguin Computing 的 CEO Sam Ockman 说:“花点钱,买一块不错的 Tyan 主板。” Tyan 主板在 Linux 系统供应商中以其可靠性而闻名。Mike Higashi 是一位 Linux 顾问,他构建了许多自己的机器,他推荐华硕主板。
Darryl Strauss 正在使用华硕 P2B-DS,它基于 Intel 早期但可靠的 440BX 芯片组。对于预算有限的 SMP 系统来说,BX 主板仍然是不错的选择。如果您不打算使用 SMP,那么当前 CPU 和主板的最佳组合是 AMD Athlon 搭配 ABit KA7-100。
在选择主板时,请确保它支持 ECC RAM,并且有足够的容量来满足您可预见的需要。考虑到终极 Linux 工作站中的 RAM 容量以及运行时间,如果不使用 ECC,您将会遇到位翻转。有一个新的“Linux ECC”驱动程序,它提供了单比特 ECC 错误的扩展日志记录,这些错误通常是不可见的。如果您有支持的主板,您可以使用它进行测试。
在屏幕上打开一个大的白色窗口,然后越过显示器顶部看向远处的物体。如果您可以用余光检测到闪烁,则您的显卡或显示器有问题或配置错误。您通常不会注意到的闪烁可能会导致头痛或其他健康问题。不同的人似乎需要不同的刷新率——大多数人在 75-85Hz 左右。任何 Linux 主机中的显卡都应能够提供足够的刷新率。对于终极 Linux 主机,您需要在非常大的显示器上以每像素 24 或 32 位获得高刷新率。即使您对 3D 不感兴趣,也请购买一块好的显卡来保护您的眼睛。
终极 Linux 工作站需要 3D 功能。Darryl Strauss 说:“值得关注的新兴显卡是 Radeon”,它是 ATI 在 3D 图形性能竞赛中的参赛产品。“性能与 GeForce2 大致相同,并且他们想要做开源驱动程序。只是它还没有针对 Linux 发布。” 请关注您喜欢的 Linux 新闻网站以获取详细信息。在我们付印时,速度领先者是 NVIDIA GeForce2,Strauss 称其为“一块很棒的显卡,除了许可证问题”。今年 1 月,VA Linux Systems 受到了 UNIX 供应商的诱惑,与 Linux 社区的其他成员决裂,为 NVIDIA 显卡提供了一个快速但专有的 3D 包。
试图将仅限二进制的专有软件插入到简洁的开源环境的底层,就像用筷子喂猫吃药一样困难,因此在 NVIDIA 走上正轨之前,最安全的做法是选择排名第二的显卡之一——3dfx 的 Voodoo 5 或新的 Matrox G450。Jason 指出,Matrox 显卡擅长利用更多的 CPU 性能。“使用快速 CPU,您可以开始接近 NVIDIA 的速度。”
Creative Labs 过去也处于与 NVIDIA 现在相同的情况。他们的顶级产品 Soundblaster Live! 没有开源驱动程序的支持。在意识到他们没有什么可失去的,而且有很多可获得之后,Creative 去年启动了 opensource.creative.com 网站,以托管 Live! 的开源驱动程序。现在也有 ALSA 支持。Creative 还在共同赞助一项名为“OpenAL”的新标准,该标准被称为“音频的 OpenGL”,它将让开发人员创建跨平台的三维声音应用程序。Live! 现在听起来很棒,并且也将成为您未来观看 3D 音频表演的门票。不要忘记在您的保修卡上写上“Linux”。
如果您只需要一块像样的基本声卡,那么搜寻古老的 ISA Soundblaster 或摆弄 ISA 即插即用的日子已经结束了。Creative Ensoniq AudioPCI,型号 ES1371,是一款廉价、支持良好且(正如您可能从名称中看出的那样)PCI 卡。
服务器使用 SCSI,因为它是连接大量驱动器的最佳方式。廉价的台式机(请参阅 Jason Schmaker 的文章,第 88 页)使用 IDE,因为主板免费包含 IDE 控制器,而且驱动器更便宜。但是人们积极争论 SCSI 与 IDE 的地方是在中端或高端台式机系统中。
最快的驱动器,转速为 10,000 RPM,仅提供 SCSI 版本。因此,对于真正的终极系统来说,SCSI 是最佳选择。而且,随着您向系统中添加更多驱动器,您会体会到 SCSI 不像 IDE 那样占用中断。
当您比较机械结构相同的 SCSI 和 IDE 驱动器时,IDE 驱动器将具有更快的原始传输速率,因为接口更简单。但是 Eric Raymond 说,“就目前磁盘的速度而言,这种差异实际上是无关紧要的。SCSI 的真正优势(以及它整体上更快的原因)来自于其额外的智能。”
对于我们的终极 Linux 主机,我们将选择最新的 SCSI 技术,Ultra 160。对于两个驱动器产生的 SCSI 总线流量,您不需要 Ultra 160,但是 (1) 这是终极 Linux 主机;并且 (2) SCSI 卡之间的价格差异很小,以至于您不妨购买一块能够持续使用几组驱动器的卡。
Rick Moen 曾经建议我选择足够灵活的硬件,以便将其纳入您构建的下一台 Linux 主机中。您今天为您的终极工作站购买的一些部件可能会在明年最终出现在您的 Freenet 服务器中。Adaptec 29160 就是这种(几乎)面向未来的硬件的一个很好的例子。当您升级到 64 位 PCI 时,您仍然可以使用它。29160 仍然足够新,以至于您去年获得的 Linux 发行版附带的内核可能无法识别它,因此您可能需要升级。查看您的发行版的硬件兼容性列表以了解更多信息。
Symbios 是一家 SCSI 卡供应商,在 Linux 硬件供应商中很受欢迎。他们的卡性能良好,并且也得到了很好的支持。
如果您不使用快速驱动器,那么您花在杀手级 SCSI 卡上的钱就浪费了,因此请从 IBM、Quantum 或 Seagate 选择两个或更多 10,000RPM 的驱动器。一个好的经验法则是选择信誉良好的 Linux 系统供应商在其服务器中使用的相同驱动器。
如果您确实决定省钱并选择 IDE,请坚持使用上面提到的三大驱动器供应商之一。今年早些时候,内核黑客 Andre Hedrick,Linux IDE 驱动程序的维护者,将用户的问题追溯到 Western Digital 驱动器无法正确进行错误检查的事实。他在 linux-kernel 上发帖说:“WDC 驱动器忽略了 UDMA 的 CRC 校验……这很糟糕而且很愚蠢。” Western Digital 在他们的网站上反驳说:“如果在使用 Linux 中的这些驱动器时出现问题,那么问题很可能出在软件驱动程序而不是硬盘本身。” 我会相信内核黑客而不是硬件供应商,并远离 Western Digital 驱动器。
Eric 的建议是将您自己的珍贵文件放在一个驱动器上,并将您的发行版放在另一个驱动器上。这使得在磁盘崩溃后更容易恢复您的系统。“如果您有两个驱动器,也许崩溃的驱动器是您的系统磁盘,在这种情况下,您可以购买另一个驱动器并摆弄新的 Linux 安装,知道您的个人文件是安全的。或者也许它是您的 home 磁盘;在这种情况下,您仍然可以运行并执行恢复操作和基本的网络通信,直到您可以购买另一个 home 磁盘并从备份中恢复它。”
如果(像经常发生的那样)您同时处理 /tmp 和 /home,或 /home 和 /var,那么两个驱动器比一个驱动器更快。您还可以使用 Linux 的软件 RAID 在一对磁盘上镜像同一组文件系统。但是,不要依赖同一台机器中的备用硬盘作为主驱动器的唯一备份。通常,电源故障可能会同时烧毁两个驱动器。通过网络备份到另一个系统,或使用磁带。
网卡市场现在相当沉闷:Intel 似乎占据主导地位,尽管偶尔有人抱怨硬件在驱动程序不知情的情况下发生变化,并导致某些网络流量组合出现不可预测的问题。如果您正在构建自己的主机,那么如果您必须更新以太网驱动程序,您应该有资格构建一个新的内核。
无论您做什么,都不要购买最新的热门 CPU 和驱动器,然后将它们安装在散热不足的机箱中,或者将它们连接到不稳定的电源,这种电源会烧毁并烧毁所有东西。开关电源可能发生故障的一种方式是将输入电压直接输入到预期为 5 或 12 伏直流电的部件中。那可不好。
如果您在硬件方面走在前沿,那么您的机箱、电源和风扇的使用寿命将超过几个主板和 CPU。有些人将曾经是热门台式机的主板和 CPU 取出,并在 Web 服务器中使用它。同样,考虑一下能够将您今天购买的组件转移到明年的另一台机器中。
Mike 选择 PC Power and Cooling 电源,Sparkle Power 是第二选择。PC Power and Cooling 有一款名为“Silencer”的产品,它使 Linux 主机更适合与人共处一室。
选择一个内部有足够工作空间、侧面板易于拆卸以及有多个安装风扇位置的机箱。Mike 为没有专用空调服务器机房或机架空间的小公司构建了相当多的重型 Linux 服务器。这意味着他需要一个具有大量散热能力的塔式机箱,他推荐 Supermicro。他们制造的塔式机箱在所有标准位置以及横跨驱动器的位置都设有风扇安装点。对于安装在终极 Linux 主机中的 10,000RPM 驱动器来说,直接气流是绝对必要的。否则,它们很快就会自行烧毁。
一家加拿大公司 AMK 生产了一系列名为“Overclocker's Dream”的机箱,其排气扇安装在机箱顶部的“吹气孔”中。如果您不介意保持机器顶部清洁,那么吹气孔是一种有效排出最热空气的方式。
Jason 指出,添加风扇有时会使散热问题变得更糟。您可能会创建一个涡流,将热空气困在重要组件附近,或者更糟糕的是,添加过多的排气扇而进气扇不足。业余爱好者经常添加额外的排气扇或风扇,试图吸出热空气,但是如果您有太多的风扇向外吹,而向内吹的风扇不足,那么电源,甚至可能是 CPU,都可能过热。典型的 ATX 电源在背面有一个风扇,并在 CPU 上方的某个位置设置了一组通风口。在正常运行中,电源风扇从 CPU 上方吸入空气并排出,从而冷却电源并帮助冷却 CPU。但是,如果系统有太多的排气扇,它们会在机箱内部产生负压,抵消电源风扇的作用,阻止电源内部的空气流动,并将其变成昂贵的烤面包机。
在向机箱添加风扇时,要记住两条规则:第一,平衡进气扇和排气扇的类型和数量;第二,记住热空气上升——将进气扇放在低处,排气扇放在高处。并且不要在机箱打开的情况下运行太长时间。您只是将其暴露于来自其他设备的严重干扰。“我的手机响了,我的电脑就 ‘blaaargh’ 了”,Jason 说。
终极 Linux 主机可能会很吵。驱动器、CPU 风扇、前面板风扇、后面板风扇……很快听起来就像你在悬浮船内部工作一样。Jason Collins 计划安装一个“DigitalDoc 2”,可从 AMK 购买。它是一个安装在驱动器托架中的控制面板,为风扇提供恒温控制。他选择的风扇是 Delta 的“badass”新风扇,每秒可以移动 32 立方英尺的空气。Jason 还在他的机箱侧面安装了隔音材料,以防止其共振。
当然,您还需要一个 UPS。在工作站上配备 UPS 最重要的好处不是在断电期间保持系统运行。长时间停电会耗尽其电池电量。最大的好处是 UPS 会在电池供电时警告您,让您有时间干净地关机。
APC 和 Tripp Lite 都生产备受推崇的带有串口的 UPS。Penguin Computing 不得不在两者之间做出选择。Ockman 说,他对“你为什么不卖我们的 UPS?”的回答是,“你为什么不 GPL 你的控制软件?” 所以他们就这么做了。APC 甚至不愿意发布他们的协议规范。在 APC 意识到向开源开发人员提供他们的协议不会导致他们在北大西洋损失 U 型潜艇舰队之前,让我们将他们与 NVIDIA 一起列入我们很乐意在他们醒悟过来后支持的公司名单。
