打造终极 Linux 电脑

作者:Eric S. Raymond

五年前,我为 Linux Journal 撰写了一篇文章,介绍了一种优雅且经济的 Linux 电脑的配方。这篇文章成为 LJ 历史上最受欢迎的文章之一,因此编辑们邀请我再次执笔。

UL Web 服务器

这一次,LJ 招募了 Rick Moen,他是关于调制解调器和其他硬件主题的一些著名 FAQ 的作者,来协助我。电影 泰坦尼克号 中使用的著名 Linux 渲染农场的幕后功臣 Daryll Strauss,也从他在图形和极端数据处理方面的背景贡献了明智的建议。此外,这次我们不追求经济性,而是追求最大的计算能力。我们将探讨如何从我们能够接受的硬件中获得绝对最高的性能。

您能够接受的硬件意味着一台稳定、易于故障排除且维护成本低廉的机器。它应该足够小巧且易于维护,可以放在您的办公桌旁,而不是某些液体冷却的庞然大物。简而言之,它应该是一台 PC——一台镀金的热门 PC,但仍然是一台 PC。可接受性的其他重要方面是发射的声噪和热量水平;我们将尽量减少这两者。

我们将坚持使用 PC 硬件。Alpha 很快,并且具有出色的、性感的 64 位架构,但该产品线似乎很可能在不久的将来被 Itanium 取代。单独考虑,我比任何 x86 架构都更喜欢 PowerPC 芯片。但 PC 硬件具有作为最大市场的所有优势;它最容易获得服务,升级成本也最低。

我们展示的终极 Linux 电脑当然会在几个月内(甚至在付印前)落后于领先水平。但是,通过开发 ULB 的过程,您将学到关于系统设计和故障排除的知识,这些知识在本文中的硬件变得过时很久之后,您仍然可以继续应用。

好消息、坏消息以及您如何证明这东西的合理性?

优化什么

对于 Linux 下的典型作业负载,处理器类型几乎是无关紧要的——更重要的是指定一个功能强大的系统总线和磁盘 I/O 子系统。如果您不相信这一点,您可能会发现在使用机器时保持 top(1) 运行一段时间会很有启发。请注意 CPU 空闲百分比很少降至 90% 以下。

如果您正在构建 ULB,请继续购买最快的可用处理器。一旦您克服了对大数字的齿轮迷恋,请密切关注总线速度和您的磁盘子系统,因为您将在那里获得真正的性能提升。处理器速度和 I/O 子系统吞吐量之间的差距在过去五年中只会扩大,因此这甚至比 1996 年的建议更好。

每个人都在使用双 Athlon

所有这些在 2001 年如何转化为配方?购买 PCI 总线机器,而不是混合 PCI/ISA 设计;使用后者您会牺牲大约 10% 的峰值性能。获得最快的前端(处理器到内存)总线(在 2001 年 8 月,最大值为 266MHz)。获得高速 SCSI 控制器和您可以获得的最快的 SCSI 磁盘。

SCSI 的理由不太明显,但仍然令人信服。首先,SCSI 仍然比全速运行的 IDE/ATAPI 快至少 10%-15%。由于它被认为是专业选择,SCSI 外围设备通常比 IDE/ATAPI 等效设备设计得更好,并且新的高性能驱动器技术往往首先在 SCSI 中可用。您将多花几美元,但成本将在吞吐量和可靠性的提高中得到很好的回报。Rick Moen 评论道

他们称我为 SCSI 偏执狂。就这样吧——但我的硬件一直保持着面向未来的特性:我不必运行奇怪的仿真层来寻址 CDR,我从不耗尽 IRQ 或求助于 IRQ 共享,我的所有硬盘都具有硬件级热修复功能,我的所有硬盘/CD/磁带等设备都支持稳定的标准,而不是本月的廉价扩展 kludge,而且我不必担心混合 ATA 和 SCSI 会在硬件或驱动程序级别产生不利的交互作用。

Daryll 和我也不会在我们构建的任何机器中使用 IDE。

要选择最快的磁盘,请密切关注平均寻道时间和延迟时间。前者是寻道到任何磁道的平均时间;后者是磁道上任何扇区到达磁头下方的最长时间。

其中,平均寻道时间更为重要。当您运行 Linux 时,快一毫秒的寻道时间可以显着提高系统吞吐量。制造商自身通过垂直堆叠盘片而不是增加盘片尺寸来避免增加更大容量驱动器上的寻道时间。因此,与盘片半径和磁头运动速度成正比的寻道时间,在同一产品线中的不同容量之间往往是恒定的。这很好,因为这意味着您不必担心容量与速度之间的权衡。

一个磁盘还是两个磁盘?

我总是使用两个磁盘进行构建:一个系统磁盘和一个 home 磁盘。这样做有两个很好的理由,与额外的容量无关。一个是能够交错命令到不同物理主轴的性能优势。另一个是我一次丢失两个磁盘的可能性比我损坏一个磁盘的可能性要小得多。

假设您遇到了致命的磁盘崩溃。如果您只有一个磁盘,那就再见了。如果您有两个,也许崩溃的是您的系统磁盘,在这种情况下,您可以购买另一个磁盘并进行新的 Linux 安装,知道您的个人文件是安全的。或者,也许是您的 home 磁盘;在这种情况下,您可以购买另一个 home 磁盘并从备份中恢复它(您确实保留了备份,对吧?)。

Debian、在您的发行版不支持的硬件上安装以及 ReiserFS 两步法

更简单的选择

最大化您的内存。大量的可用内存将提高您的虚拟内存性能。幸运的是,由于 RAM 现在如此便宜,即使您在节俭,一到三个千兆字节也不太可能超出您的预算。

您需要 CD-ROM 或 DVD-ROM 驱动器(您几乎肯定会从中安装 Linux)。您有一个 SCSI 系统,因此请获取 SCSI CD-ROM。这几乎就是规范的结尾,因为 SCSI DVD-ROM 型号很少,而 SCSI CD-ROM 是通用项目。

我们还需要一个好的、大容量的备份设备。大磁盘非常便宜,以至于将您的 home 目录备份到另一个磁盘似乎是一个有吸引力的替代方案,但最好还是能够制作您可以与系统分离并异地存储的备份,以防万一发生灾难。我们将使用 DDS 磁带驱动器。即使您是廉价构建,也不建议使用较便宜的 CD-ROM 刻录机进行大规模备份。问题在于介质的每兆字节成本,您无法重复使用。Rick 补充说:“磁带也更快,在存储和记录过程中更坚固(晃动 DAT 驱动器不会破坏正在进行的备份),不需要大量的暂存空间来组装映像文件,并且更容易自动化。”

说到更快,您在磁带驱动器中最希望获得的功能之一是传输速度。这是使用更新的 DDS4 磁带驱动器的一个很好的理由,它的速度通常是旧的 DDS3 驱动器的一半。

噪音控制和散热

机器设计中日益关键的一个方面是处理运行产生的废热和声噪。如果您希望您的 ULB 持久耐用,散热至关重要,因为废热产生的热应力几乎肯定会使其报废。另一方面,散热会产生声噪,这是人类无法很好地容忍的。可以公平地说,我们已经达到了热负荷与散热噪音权衡成为个人机器性能的有效限制因素的地步。

那么,我们如何为个人、桌面或桌旁机器管理这种权衡呢?愿意为散热良好和低噪音的部件支付溢价会有很大帮助。即使是精明的系统集成商也无法做到这一点,因为他们不断面临通过使用通用组件来削减成本的竞争压力。但是,我们在这里不节俭;我们可以把它做好。

配方文件

既然我们已经阐述了原则,现在是实践的时候了——指定和构建一台机器。

处理器、主板和内存

在 2001 年 7 月,ULB 主板的明确首选是 Tyan Thunder K7,型号 S2462(参见标题为“AMD、SMP、AGP 和 LED:Tyan Thunder K7 S2462”的侧边栏)。

AMD、SMP、AGP 和 LED:Tyan Thunder K7 S2462

将外围设备集成到主板上既有优点也有缺点。优点是主板的故障点更少,产生的热量更少。缺点是集成可能会使故障恢复更加困难。您希望尽可能减少一个板载组件的故障需要立即更换主板的可能性。在 S2462 上,所有板载外围设备都可以通过跳线跳出或从 BIOS 设置屏幕禁用。

选择机箱

内部扩展空间不再非常重要,因为两个驱动器托架将容纳比您永远需要的更多的磁盘。外部托架更重要;您需要一个 CD-ROM、一个磁带、一个软盘,也许还有一个 DVD 驱动器。这是一个外露软盘托架、三个外露半高 5.25 英寸托架和两个内部托架。

您还希望机箱具有三个其他重要特性:良好的气流设计、组件可访问性和噪音衰减,按此顺序排列。最后,您可能希望您的机箱看起来整洁。良好的气流设计实际上是购买大型机箱的最佳理由。您需要充足的空间让冷空气在发热电子元件周围流动。

Tyan 的网站列出了已通过 S2462 认证的机箱,因此我在该列表中购买了一个全塔式机箱。Antec 的 Performance 系列提供了许多通过 Tyan 认证的机箱,并且它们都具有的侧开式侧面板和快速释放驱动器托架对我很有吸引力。当我的设计演变为包含 DVD 播放器和声卡的前面板控件时,我选择了 SX1200,即具有七个外露托架的全塔式版本。

电源和散热

对于电源,我们三个人都同意一家供应商:PC Power & Cooling。PCP & C 以制造优质单元而闻名,而且作为奖励,它们也很安静。当 PCP & C 告诉我他们专为 S2462 设计的全新 450A4 单元时,PCP & C 证明了我们的信任。A4 的噪音水平为 44dBA,算是非常安静的了。

在 5 月,Tom's Hardware 比较了 46 个 CPU 散热器。明显的佼佼者是 Noise Control, Inc. 的 Silverado,在 30°C 时被评为散热性能最佳,在噪音排放方面排名第二,仅为 37dBA。典型的散热器排放约 50dBA。Silverado 唯一的真正缺点是它很大——长 80 毫米,宽 56 毫米,高 113 毫米——因此您需要注意机箱间隙。

我们可以通过指定具有滚珠轴承而不是更便宜且更常见的滑动轴承的散热风扇,来避免机箱风扇给机器的分贝输出增加超过最低限度的噪音。这将显着降低机器噪音,尤其是恼人的、呜呜作响的高频成分,这主要是轴承噪音。

PC Power & Cooling 生产 20dBA Silencer 80mm 滚珠轴承机箱风扇。指定三针连接器以插入主板,而不是旨在插入电源的四针连接器。

海量存储

我们将指定快速宽 LVD 驱动器,这是 SCSI 设备的前沿。在该类别中,重要的统计数据是寻道时间、旋转延迟、容量、散热和噪音输出。领先品牌的平均故障间隔时间足够长,以至于在您的系统过时多年之前,您不太可能看到一个故障。

StorageReview.com 的搜索证实了 Rick Moen 的轶事证据。他喜欢 IBM 当前的产品线 UltraStar。凭借 4.2 毫秒的寻道时间,它们领先于 Seagate、Quantum 和 Fujitsu 的竞争产品。Rick 认为它们运行起来也相对凉爽,而且我们听说它们在 Evi Nemeth 在 CAIDA 项目中进行的一些比较试验中击败了竞争对手。因此,我们将两个 IBM UltraStar 36Z15 驱动器添加到零件清单中。

我们还希望能够读取(和写入)CD-ROM。同样,StorageReview.com 证实了 Rick 的轶事报告,将 32 速 Plextor PX W1210TS 评为 SCSI CD-RW 驱动器中的佼佼者。

Rick 观察到

CD-R/CD-RW 驱动器本质上具有比普通只读 CD 驱动器更庞大的磁头组件。为什么?因为它们安装了刻录激光器。更大的质量意味着更大的惯性和更快的机械磨损,并且在刻录周期中产生的相当大的热量也会造成损失。因此,CD-R/CD-RW 驱动器的 MTBF 时间明显短于普通 CD 驱动器。不应将 CD-R/CD-RW 驱动器用于普通的读取操作,而只能用于 CD 刻录。因此,如果您确实需要 CD-R 或 CD-RW 驱动器,您还需要第二个只读驱动器用于日常 CD 读取。

Daryll Strauss 插话说:“购买 DVD-ROM 而不是普通的 CD-ROM。通常,传输速率同样好,甚至更好,因为基本 DVD 旋转速度一开始就更高。”

DVD 是必不可少的,还有另一个原因;任何真正的 Linux 黑客梦想系统都必须包括播放 DVD 以违反数字千年版权法案的反合理使用条款的能力,即使(像我一样)黑客基本上对 DVD 不感兴趣。这是道德上的必然。

目前,只有两种型号的 SCSI DVD-ROM 可用:Pioneer 的 304S/305S 和 Toshiba 的 SD-M1201B。东芝作为 DVD 驱动器是 5 倍速,作为 CD-ROM 驱动器是 32 倍速;先锋的数字是 10 倍速和 40 倍速。很容易选择,特别是考虑到东芝实际上更贵。

历史表明,顶级惠普磁带驱动器要么是最好的,要么接近最好的。顶级 HP DDS4 驱动器似乎是 C5685,容量为 40GB,传输速率为 21.6GB/小时(假设硬件压缩)。

显示器、显卡和声卡

对于我的用途,清晰地显示大量相对较小字体大小的文本是我希望显示器做的最重要的事情。因此,我选择了唯一一款被 PC World 评为在文本和图形方面都非常出色的显示器,三菱 Diamond Pro 2060u。它支持 2048 × 1536 分辨率,刷新率为 75Hz,刷新速度舒适地高于闪烁水平。

Daryll 是一位图形专家,也是致力于 ATI 高端 Radeon 显卡 Linux 驱动程序团队的成员。他告诉我们,在可预见的未来(或至少在 NVIDIA 意识到开源之前),Radeon 将是最好的具有完全开源驱动程序的高端显卡。因此,我们添加了一张 ATI Radeon 64MB 显卡。

由于这是一台开发机器而不是游戏机,因此声卡最好得到稳定驱动程序的良好支持,而不是紧跟音频技术的最新前沿。安全的选择似乎是 SoundBlaster Live Platinum 5.1。ConsumerSearch 评选的最佳扬声器,在游戏和音乐方面都被评为优秀,是 Klipsch ProMedia 2.1。

图形:安全还是速度?

opensource.creative.com: SB Live

哦,真希望有个真正的键盘!

像许多特定年龄段的黑客一样,大约 20 年前我就对 IBM Model M 键盘印象深刻。它们具有相对较硬的行程,具有清晰的断点和积极的按键咔嗒声,只能用嘎吱嘎吱来形容。它们激发了类似邪教般的奉献精神。仍然可以购买真正的 Model M,包括装甲外壳。它们不再生产了,但旧库存仍在销售。您需要这些 IBM 型号:42H1292(IBM 101 键,弹簧式键盘)和 1393278(IBM SpaceSaver 紧凑型、重型 84 键盘)。它们都可以在 Unicomp 购买。梦想系统将获得一个 101 键的 PC-2 版本。

键盘

杂项

对于我自己的使用,我将保留我原来的三按钮 Logitech TrackMan Marble。可悲的是,罗技不再生产原来的 Marble 了;替代品有一个相当突兀的滚轮取代了中间按钮。

梦想系统中只有一种可能的调制解调器:US Robotics V.Everything,外部版本。这款功能丰富、坚如磐石、可靠的调制解调器是各地有辨识力的黑客的首选。Rick 写了一篇有趣的咆哮,内容是关于选择较差的外部调制解调器或任何内部调制解调器可能造成的后果。

软盘驱动器是可启动 CD-ROM 之前的时代的遗物。偶尔您会想要一个来启动诊断软件。一个普通的 TEAC 1.44 3.5 英寸驱动器就可以了。

哦,对了,还有软件。我知道最喜欢的 Linux 发行版的话题是一场宗教战争,但我忍不住要为我最喜欢的发行版做广告:Kevin Fenzi 和 tummy.com 的好人在 KRUD Linux。订阅 KRUD 可以让您获得 Red Hat 基础以及每月更新,包括所有安全修复程序和精选的附加程序和工具。

系统集成

我们有两个 SCSI 控制器。这很好,因为在我们的零件清单中,我们既有 LVD 也有单端 SCSI 设备。Daryll 观察到

LVD 驱动器可以以 40MHz 和 80MHz 的速度驱动总线,而单端驱动器则不能。如果您混合使用单端和 LVD,总线会降级为单端。因此,具有单端设备的总线的最高速度为 20MHz 宽 SCSI 或 40MB/s,而 LVD 可以使您达到 160MB/s。

因此,我们希望组装具有两个 SCSI 链的梦想机器:用于硬盘驱动器和磁带的高速宽/LVD 链,以及用于 CD-RW 和 DVD-ROM 的低速窄/单端链。我们使用了 The Mate Company 的 SM-20 将第二个主板通道转换为 50 针窄 SCSI。

由于硬盘驱动器可能是重要的发热源,我们将它们安装在它们之间的备用内部托架中,而不是将它们堆叠在相邻的驱动器托架中,以获得更好的气流。

Antec 机箱使您可以将进气风扇直接安装在硬盘驱动器的前面。通常,对于此类驱动器,驱动器和托架外壳会变得烫手;使用这种设置,温暖感几乎不明显。这是一件好事,因为它可能会显着延长驱动器的预期寿命。后部电源附近的另一个风扇有助于将空气抽出机器。我们最终安装了第三个风扇,因为我们注意到内存芯片似乎运行过热。

我们将在机器中安装两张扩展卡,SoundBlaster Live! 和 Radeon。Radeon 可能会趋于发热,而 SoundBlaster 不会。幸运的是,Radeon 位于插槽行的上端的 AGP 插槽中,它加热的空气将被吸入两个后部风扇。

我们的噪音预算看起来如何?IBM 表示我们的 UltraStar 每个发出 48dBA 的噪音,PCP & C 表示电源发出 44dBA 的噪音,风扇每个发出 20dBA 的噪音,Tom's Hardware 将 Silverado 评为 37dBA(但有两个)。应用对数和公式,我们得到 52dBA 作为内部噪音水平。假设机箱阻挡 8dB,这将使我们在机箱旁边的外部噪音水平为 44dBA。通过将机器放在桌旁,我们可以再减少大约 5dB 的噪音。

用四个或五个机箱风扇重新计算几乎不会改变总数的第二个小数点。这意味着,如果我们的初始老化测试显示出散热问题;我们有空间降温,而不会使机器的噪音显着增加。

构建机器

Los Alamos Computers 的 Gary Sandine 和 John Pearson 承担了组装我的终极 Linux 电脑的任务;实际上,他们组装了两台,一台给我,一台给 Linus Torvalds。他们向我们列表中的供应商征集零件捐赠,他们的勇气得到了回报,IBM 慷慨地为项目预算捐赠了 15,000 美元。

故障排除

请参阅 Linux Journal 网站上的“终极 Linux 电脑故障排除”。

结论

我发现令人印象深刻的是,在以不惜成本为基础指定它之后,总系统成本如此之低。我试图尽可能多地镀金系统,并加载所有我可以添加的额外设备和配件,但我仍然无法将零件总费用提高到 7,000 美元以上。

如果我们丢弃最奢侈的外围设备——Klipsch 扬声器、Radeon 以及 DVD 和 DDS 驱动器——成本将降至相当合理的 4,200 美元左右。正如 Rick 尖锐地评论道,“人们每天为垃圾电脑支付的费用都超过这个数额。”此设计将可从 Los Alamos Computers 购买,型号为 ULB-200108。

它构建内核有多快?在 make clean 之后,终极 Linux 电脑从冷启动开始构建 ULB 的 2.4.8 Linux 内核 (make -j3 'MAKE=make -j3' dep; make -j3 MAKE=make -j3' bzImage) 只需 2 分 21 秒。太棒了。

资源

Building the Ultimate Linux Box
电子邮件:esr@thyrsus.com

Eric S. Raymond 是一位四处游走的社会学家和惹麻烦的哲学家,他碰巧在正确的时间出现在正确的地点,并且一直在想他是否应该后悔。

加载 Disqus 评论