打造完美主机:如何设计您的 Linux 工作站

作者:Eric S. Raymond

Linux 的诸多优点都源于这样一个事实:它使得功能完善的 Unix 能够在廉价硬件上运行。因此,在 Linux 社区中,关于如何让已经拥有廉价硬件的人们在其上使用 Linux,存在着大量的文档和民间知识。然而到目前为止,对于已经了解 Linux 的人来说,关于如何购置与 Linux 良好匹配的廉价硬件的建议却不多。

以今天的价格来看,有可能以不到 2000 美元的价格组装出一台出色的个人 Unix 平台。如果您准备好进行邮购,仔细挑选并做出一些小的权衡,那么您可以以 1500 美元甚至更低的价格做到这一点。但请注意。如果您像购买 DOS/Windows 主机一样购买,您将无法获得最佳的价值或性能。Linux 比 Unix 更充分地利用硬件,并且在 DOS/Windows 下勉强够用的配置在 Linux 下可能会导致问题。

在本文中,我们将制定一个廉价但功能强大的 Linux 工作站的配方。在制定过程中,我们将详细讨论配方的选择,并了解如何避免可能给您带来麻烦的常见陷阱。

在本文中,我们将坚持使用英特尔硬件。Alpha 处理器速度很快,并且拥有出色的 64 位架构,SPARC 处理器也赢得了其粉丝。但是,我认为 PC 硬件总体上仍然是最具成本效益的——购买最便宜,最容易获得服务,并且与 Linux 的兼容性测试最好。而且,考虑到各自市场的规模,PC 硬件似乎很可能在未来几年内保持其领先地位。

有关此主题的更多详细信息,以参考而非叙述的形式组织,请访问我的 PC 克隆 UNIX 硬件购买者指南,网址为 http://www.ccil.org/~esr/clone-hw-guide/contents.html。我维护此文档及其 FAQ 前身的时间比 Linux 存在的时间还要长,并且自从 1980 年代后期首次成为可能以来,我就一直在 PC 硬件上运行 Unix。

优化什么

大多数人认为处理器是指定任何类型的个人计算机系统时最重要的选择。我们在构建 Linux 主机时学到的第一课是:对于 Linux 而言,处理器类型几乎是一个转移注意力的东西。更重要的是指定功能强大的系统总线和磁盘 I/O 子系统。

其中一个重要的原因是,PC 系统的营销方式将处理器速度呈现为主要的优点指标。结果是,处理器技术的发展自然而然地比其他任何东西都更受重视,并且现成的 PC 配备的处理器相对于系统中其他所有事物的速度而言,都显得过于强大。您现在典型的 PC 有许多空闲的 CPU 时间永远不会被使用,因为屏幕、磁盘、调制解调器和其他外围设备无法以足够快的速度驱动它以使其达到极限。

如果您已经在运行 Linux,您可能会发现,在使用机器时保持 top(1) 运行一段时间会很有启发。请注意 CPU 空闲百分比很少降至 90% 以下。

诚然,在人们升级主板后,他们经常报告吞吐量增加。但这通常更多是由于处理器升级带来的其他变化,例如改进的缓存内存或系统总线时钟速度的提高,即,使数据能够更快地进出处理器。

PC 的不平衡、处理器过重的架构在 DOS 和 Windows 3.1 下很难注意到,因为这两个操作系统都不太频繁地访问磁盘。但是,任何使用虚拟内存并保留大量磁盘日志和其他事务状态的操作系统都是另一回事——它将更重地加载磁盘,并且将更多地受到不平衡的影响。

Linux 就属于这一类,我猜 Windows NT 和 OS/2 也是如此。假设您在固定预算下为 Linux 购买硬件,那么为了获得更快的总线和磁盘子系统而牺牲一些过剩的处理器时钟是有道理的。

事实是,市场上现有的 任何 真正的 32 位处理器,即使是低端的 386/25,对于您在典型的类 Linux 负载下的磁盘来说,也已经足够快了。如果您运行 X,您的屏幕可能会要求更高——但即使是 486/50 也能让您像纸张一样拖动 Xterm 窗口。而这比您在本文发表时能够找到的最便宜的新台式机要慢得多。

所以购买快速总线。特别是,购买快速磁盘。这如何转化为配方?像这样

  • 不要 考虑最新的奔腾 Pro 炫酷 300mHz 超级发烧货,它带有一个比自身还大的散热风扇。

  • 购买 PCI 总线机器。

  • 购买 SCSI 控制器。

  • 购买您能负担得起的最快的 SCSI 磁盘。

购买 PCI 将为您带来最大的总线吞吐量,并且从其他几个角度来看也是有意义的。老旧的 ISA 总线显然正走向灭绝,您也不再听到关于其其他竞争对手(EISA、VESA 局部总线视频或 MCA)的消息。随着 PCI 现在也被用于 Macintosh 和 Alpha 以及所有高端英特尔主机中,它显然将长期存在,并且是保护您在 I/O 卡中的投资免受快速淘汰的好方法。

SCSI 的理由稍微不那么明显,但仍然令人信服。首先,SCSI 仍然比全速运行的 EIDE 快至少 10-15%。此外,EIDE 仍然有点像“临时拼凑”。像 Windows 一样,它分层在过时的祖先设计 (ST-512) 之上,这种设计既陈旧又容易在压力下发生故障。另一方面,SCSI 从一开始就被设计为可以很好地扩展到高速、高吞吐量系统。由于它被认为是“专业”选择,因此 SCSI 外围设备通常比 EIDE 同类产品设计得更好。您将多花几美元,但对于 Linux 来说,增加的吞吐量和可靠性完全值得这些成本。

为了获得最快的磁盘,请密切关注寻道时间和延迟时间。前者是寻道到任何磁道所需时间的上限;后者是磁道上任何扇区到达磁头下方所需的最大时间,是磁盘转速的函数。

在这些因素中,寻道时间更为重要,并且是制造商通常引用的一个。当您运行 Linux 时,快一毫秒的寻道时间可以显着提高系统吞吐量。早在 PC 处理器速度慢到可以进行比较的时候(我当时运行的是 System V Unix),它就很容易值处理器速度提高 30mHz。今天,相应的数字会更高。

我应该购买什么处理器?

我们刚刚用冗长的篇幅解释了为什么处理器速度没有那么重要。但是现在没有人会购买 386/25(甚至 386/50);即使没有其他原因,您也希望购买更新的主板,以便您可以将本周流行的 RAM 模块安装在上面。谁知道呢?也许您 最终进行实时 3D 图形或核爆炸建模,或者少数真正会使您的处理器紧张的应用之一。

因此,对于所有那些处理器速度迷来说,他们希望能够像齿轮迷吹嘘其改装车的压缩比一样挥舞兆赫兹数字,这里有一个简单的规则

  • 购买比商业最先进水平低一到两个级别的产品。

截至 1996 年 12 月,如果您查看典型的克隆机制造商的广告,您会看到前三个系统分别是奔腾 Pro、奔腾 166 和奔腾 133。经验法则告诉我们跳过奔腾 Pro,考虑奔腾 166,并认真考虑 133。

为什么?因为制造商的价格-性能曲线的形状是这样的。顶级系统通常是针对公司高管和其他人,他们钱多于理智。系统设计很可能是新的且未经尝试的——如果您处于技术周期的错误点,那么芯片甚至可能是预生产样品,或者是有未发现错误的早期生产步骤,例如臭名昭著的奔腾 FDIV 问题。您不需要这样的麻烦。最好选择已经上市一段时间且广为人知的芯片/主板组合。毕竟,您并不需要额外的速度。

此外,如果您购买这些镀金系统之一,您只会三个月后才开始责怪自己,那时价格会暴跌 30%。在产品线更下游的地方,已经有更多的真正竞争,并且制造商的利润率已经被挤压。价格下跌的空间较小,因此您不会眼睁睁地看着您的新玩具如此快速地失去市场价值。它的价格仍然会下跌,但不会令人作呕地暴跌。

再次强调,请记住,您今天可以购买的最便宜的处理器对于 Linux 来说已经足够快了。因此,如果降级到奔腾 90 或 75 可以使您控制在预算之内,您可以毫不后悔地这样做。

一个磁盘还是两个磁盘?

以 1996 年 12 月的价格来看,确实没有理由考虑购买小于 1GB 的磁盘。这是一个方便的尺寸,因为大多数 Linux 发行版上的“安装所有内容”将占用超过 540MB 但不到 1GB 的空间。

如果您能负担得起 2GB,那么很自然地会想到购买一个 2GB 的磁盘。但就我个人而言,我更喜欢配置两个 1GB 的磁盘——一个“系统”磁盘和一个“home”磁盘。这种设置有几个很好的理由。其中大多数都归结为这样一个事实:您同时损坏两个磁盘的可能性远小于损坏单个磁盘的可能性。

我们中的许多人大约每三个月进行一次 Linux 升级。在您下次升级期间,能够提前卸载您的“home”磁盘并 知道 升级绝对不可能踩到您的个人文件,这难道不会给您带来温暖、舒适的感觉吗?

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

您甚至可以以这种方式调整您的磁盘配置以获得性能。SCSI 控制器可以交错对不同磁盘的请求,因此您的交换程序和其他系统守护程序将能够同时使用系统磁盘上的临时文件,而您的应用程序正在使用 home 磁盘上的文件。因此,您可能会发现使用两个较小的磁盘比一个大的磁盘实际上获得更快的吞吐量。

为了最大限度地利用这种效果,请为您的系统磁盘选择访问速度,为您的 home 磁盘选择容量。在 96 年 12 月,我理想情况下会选择一个 1GB 的快速系统磁盘和一个 2GB 的 home 磁盘。

显示器和显卡

首先,购买您的显示器。我们不会在此处详细介绍,因为这些问题与 Linux 完全无关——您可以在任何与 DOS 相关的购买者指南中找到良好的指导。功能相同的显示器之间的价格差异不大,因为它是一种成熟的商品技术,因此基本问题是,“您能负担得起多少平方英寸的屏幕?”

这是不应该省钱的领域之一。您将长时间盯着显示器,并不断使用屏幕空间。购买您能负担得起的最好质量、最大的屏幕——这将是值得的。我个人在 1996 年 1 月花费了 2000 美元购买了一台 21 英寸的显示器。虽然我没有固定收入,而且这笔钱占了我银行账户的很大一部分,但我从未后悔过。

不应该省钱的原因也是您在购买之前应该实际查看您正在考虑的显示器的原因。像严重的边缘会聚不良或倾斜的偏转线圈这样的工厂缺陷在您刚开完支票后才发现并不是一件令人愉快的事情。

您可能需要考虑寻找带有保修的维修或翻新显示器。这些通常与新的一样好,而且便宜得多。

接下来,购买您的显卡。这里的主要问题是将显卡与显示器的容量相匹配——您不希望为超出屏幕使用能力的显卡付费,也不希望购买太便宜的显卡并发现它无法以其最大能力驱动您的显示器。

因此,一旦您指定了显示器,请找到最大视频带宽等于或略高于显示器带宽的显卡。这样您就知道您的视频系统已正确平衡,并且浪费的容量最少。

等效显卡之间的价格差异很大,因此请在此处积极购物。如果您的预算有限,那么容易放弃的一件事是位深度。制造商喜欢在广告中将 16 位和 24 位“照片级”色彩作为卖点,但除非您正在从事诸如专业的照片合成工作或医疗图形之类的工作,否则您永远不会使用超过 256 色。因此,您可以选择 8 位色彩。

XFree86 严重限制您选择显卡的时代早已过去。如今,您在克隆系统中可以购买的几乎任何东西都应该可以正常工作。如果您对显卡是否受支持有疑问,请访问 http://www.xfree86.org/ 并查看他们的兼容性列表。

更简单的选择

现在我们已经很好地掌握了最重要的选择,磁盘、总线、处理器和视频。其余的就更容易了,并且较少依赖于 Linux 的特性。

下一个重要的是您的 CD-ROM 驱动器,因为您几乎肯定会从中安装 Linux。您有一个 SCSI 系统,所以请购买 SCSI CD-ROM。这几乎是规范的结尾,因为 SCSI CD-ROM 是一个非常通用的项目。驱动器之间唯一显着的区别是它们的速度——6 倍速、8 倍速、10 倍速或更高。现在很难找到 2 倍速或 4 倍速的了。

再次强调,请记住,您可能不需要最新和最棒的产品。高速 CD-ROM 实际上是为玩 CD-ROM 游戏或涉及图像和声音存档的其他应用程序的人设计的。如果您正在做 Linux 的事情,那么您很可能主要使用代码存档的 CD-ROM。您的平均传输大小会很小,并且 6 倍速甚至 4 倍速的表观速度也相当令人满意。因此,这里可以通过购买落后于领先优势的产品来降低成本。

接下来,考虑备份设备。这是另一个花费额外金钱会带来回报的地方。廉价磁带驱动器不可靠、噪音大且传输速度慢得令人痛苦。听起来像搅拌机在切芹菜的声音持续二十分钟,同时备份您的磁盘,这很不好玩,因此使用廉价驱动器,您很快就会发现您的备份频率低于您真正应该备份的频率。

最糟糕的是 QIC 迷你盒式磁带驱动器,包括新的 Travan 技术。它们也是最便宜的,因此,正是克隆机制造商倾向于捆绑销售,销售人员倾向于推销的产品。避开它们。四分之一英寸 QIC 驱动器没那么糟糕,主要是因为它们具有更高的传输速度并且完成速度更快;而且它们通常也为提高可靠性而设计得更好。但您真正想要的是为 DAT 或 DLT 驱动器付费。

当然,购买 16MB 内存,除非您真的喜欢纯文本控制台——当内存不足时,X 会很不舒服。拥有大量可用内存也将提高您的虚拟内存性能。幸运的是,由于现在的 RAM 非常便宜,因此不太可能超出您的预算。

您还需要一个三键串行鼠标。我碰巧喜欢三键罗技 MouseMan 及其同类产品——非常适合黑客长期混乱的桌面。您的体验可能会有所不同。

您当然需要一个调制解调器。建议使用 28.8 以获得最快的网络冲浪速度。“如何购买调制解调器”本身可能就是一篇文章;我们不会尝试在此处介绍它。

其余的基本上是装饰和赠品。如果您愿意,可以购买声卡,尽管在 Linux 下,您可能只会将其用于玩 Doom。今天销售的每个系统都配备了必要的两个软盘驱动器和两个串行端口以及一个并行端口。

基本硬件就差不多了。稍后我们将研究一些实际的系统配置。

要避免的一些陷阱。

不要 购买无跳线外围设备卡,无论是称为“即插即用”的新型卡,还是需要 DOS 实用程序在启动时在卡中拨动寄存器的旧型卡。这些会给您带来无尽的麻烦。在我撰写本文时,Linux 尚不支持即插即用,并且每次想要运行 Linux 都必须先启动 DOS 将会非常糟糕。许多这些卡甚至无法在热启动中保持其设置。

购买时您需要格外警惕这一点。大多数计算机销售人员的微小、爬行动物般的大脑似乎无法理解除了 DOS 或 Windows 之外的克隆主机操作系统的存在。他们认为启动时设置实用程序非常好,无跳线卡是自切片面包以来最好的东西,因为它们更容易设置并且便宜了整整五十分。因此,他们会兴高采烈地向您推销无跳线卡。阻止他们,否则您以后会为此受苦。

不要 购买所谓的“WinModems”或任何在包装盒上宣传“RPI”或“Rockwell 外围接口”的东西。这些是制造商以您为代价节省一些固件成本的方法;它们在没有仅在 Windows 下运行的驱动程序软件的情况下将无法工作。

不要 被困在 2 键鼠标中。在填写订单时,指定三键型号是一个容易被忽略的细节。

如何购买

当我多年前最初推出购买者指南时,PC 的主要分销渠道是面向商业的实体店经销商和邮购。经销商过去和现在都有很高的管理费用和更高的价格。因此,我推荐邮购。

我仍然喜欢邮购,特别是对于预算紧张的技术人员。《Computer Shopper》等出版物及其网站 http://www.netbuyer.com/ 是了解价格的好方法,而且如今大多数有足够的现金在光面纸上做广告的邮购公司都是不错的选择。我的购买者指南的在线版本(请参阅本文顶部的 URL)详细介绍了如何在通过邮购购买时保护自己。

但是,如今,我也很喜欢计算机超市——像 CompUSA 和 Circuit City 这样的公司,它们每天从仓库大小的场所销售数百台机器,这些场所堆满了打折硬件。这些公司的管理费用显然高于邮购公司,但它们的价格溢价相对于邮购公司而言很小。他们从电脑游戏和小配件(如鼠标垫、电缆和软盘)中赚回了很多利润。

因此,如果您仔细购物并且没有爱上他们的名牌“声望”系统之一,您就可以获得与邮购相当的价格,并且知道在紧急情况下您可以开车回到故障服务台,这会感到很安心。此外,您 可以 在购买之前看到您的显示器。

何时购买

在价格快速下跌的市场中,总是很想再等一两个月再购买硬件,因为您知道那时它会更便宜。

应对此问题的一个好方法是在纸上配置您的系统,获得几个初步估算,然后设置一个目标价格,低于最低的价格,即您愿意支付的价格。然后观察并等待。当配置成本达到您的目标价格时,下订单。

这种方法的优点是它要求您提前在脑海中确定您愿意为您获得的东西支付的价格。这样,您将在您应该购买的最早时间购买,并且之后不会因其贬值而感到太大压力。

配方文件

让我们看一下一些示例组件,同时牢记我们制定的指南。所有价格均来自 1996 年 12 月的《Computer Shopper》或其网站 http://www.netbuyer.com/。查看此网站——其搜索功能非常好。价格和供应商的选择代表了市场上普遍可用的产品。

  • A:P55TV PCI,配备奔腾 166 和板载 AHA 2940 SCSI:740 美元,来自 Treasure Chest Peripherals。

  • B:相同的 P55TV,配备奔腾 133:520 美元

  • C:相同的 P55TV,配备奔腾 100:420 美元

  • D:相同的 P55TV,配备奔腾 75:380 美元

  • E:2 个 16MB 4x32 SIMM:208 美元,来自 Memory Etc。

  • F:希捷 1050MB Hawk 2XL:350 美元,来自 Insight Direct。

  • G:希捷 2149MB Hawk 2XL:480 美元,来自 Insight Direct。

  • H:“巨型”中塔式机箱 + 电源:40 美元,来自 Sam's Computers。

  • I:6 倍速 SCSI CD-ROM,来自 MicroXperts:160 美元

  • J:日立 CM1587 15 英寸 1024x768 彩色显示器:375 美元,来自 Automated Tech Tools, Inc。

  • K:ASTVision 7L 17 英寸 1280x1024 彩色显示器:400 美元,来自 Tredex

  • L:Trident Microsystems 9440 1MB PCI SVGA (1024x768):31 美元,来自 Hi-Tech USA

  • M:Cirrus Logic CL-GD54M30 1MB PCI 1280x1024:39 美元,来自 MicroXperts

  • N:Dalco 1.44 软盘:43.50 美元,来自 Dalco Electronics

  • O:Dalco 1.2 软盘:58.50 美元,来自 Dalco Electronics

  • P:希捷 MS4000R-SB(4GB SCSI 内置 DAT):300 美元,来自 Global Computer Supplies

  • Q:Americomp 3 键鼠标:5 美元,来自 Americomp

现在让我们将这些组合成示例系统配置。

首先,豪华系统 (A+E+F+G+H+I+K+M+N+O+P+Q):2,824 美元。这与我们的 2,000 美元目标相去甚远,但现在让我们尽可能地剥离。

如果我们去掉 1.2MB 软盘(您永远不会使用它)、辅助磁盘,然后降级为 15 英寸 1024x768 分辨率的显示器,并降级回奔腾 75 (D+E+F+H+I+J+L+N+O+P+Q),价格突然降至 1,892.50 美元。

现在,当您考虑到台式机系统供应商批量购买,并且获得的零件比您甚至通过邮购购买便宜 40% 时,您可以看到,配备奔腾 75 系统的价格低于 1500 美元实际上根本不是难事。

即使没有系统供应商的批量折扣,升级回奔腾 100 (C+E+F+H+I+J+L+N+O+P+Q) 也使我们的价格达到 1932.50 美元,仍然低于我们的 2000 美元目标。上面的零件清单仅作为示例——实际上,通过单独组装这样的零件来构建您的主机并不是一个好主意。通过系统供应商购买更好,通常也更便宜。

使用系统供应商有几个优点。一是供应商能够批量购买,并主要从零件供应商处获得的批量折扣中获得利润。这对于主板和磁盘等大件商品尤其重要。二是专业的组装。三是出厂前的老化测试。当然,还有保修——如果您的全新机器尽管经过老化测试但还是损坏了,那么拥有保修会让人感到非常安心。

一旦您设计了配置,您应该从两到三个不同的系统供应商处获取报价。任何无法生成自定义配置报价或拒绝在没有购买承诺的情况下提供报价的供应商都不值得您花时间——另找一家。

向您的供应商询问的问题

您应该接受的最弱保证应包括

  • 72 小时老化测试,以避免突然死亡。此外,尽量了解他们是否进行电源循环测试以及他们重复多少次;这比稳定的老化测试更能强调硬件。

  • 30 天退款保证。注意细则,这些细则可能会因收取重新进货费或排除条款而削弱此保证。

  • 1 年零件和人工保修(一些供应商提供 2 年)。

  • 1 年 800 号码技术支持(许多供应商提供终身支持)。

此外,许多供应商免费提供一年的现场服务。您应该了解他们将服务外包给谁。此外,请确保免费服务覆盖范围包括您的站点;一些不择手段的供应商会用“某些地点需要额外付费”来逃避责任,这大致可以理解为“如果您离我们的停车场更远,则需要支付高昂的费用。”

如果您从经销商或超市购买,请了解他们将保证超出上述范围的内容。如果答案是“没有”,请去其他地方。

询问您的潜在供应商他们随硬件提供的文档类型和数量。您至少应该获得主板和每张卡或外围设备的操作手册。这方面的小气表明他们可能正在使用来自上巴鲁支斯坦的无名零件,这本身不一定是危险信号,但应该促使您提出更多问题。

供应商可以使用各种降低成本的策略来降低系统的整体质量。以下是一些要问的好问题

  • 内存是否为零等待状态?一个或多个等待状态允许供应商使用速度较慢且更便宜的内存,但这会降低您的实际内存子系统吞吐量。对于缓存内存来说,这是一个特别重要的问题。

  • 如果您购买的是工厂配置的系统,它是否具有 FCC 认证?虽然未认证的系统不一定会释放大量射频干扰,但认证是法律要求的——并且随着时钟频率的升高而变得越来越重要。缺少 FCC 标签可能表明供应商是不可靠的,或者至少有被查抄和关闭的危险。

  • 内部电缆连接器是否已键控,因此它们不会被颠倒插入?如果您永远、永远永远 不需要升级或维修您的系统,这无关紧要。否则,这非常重要。忽略此细节的供应商可能会悄悄地偷工减料。

收到货物后

您的配置是自定义的,并且涉及稍微不寻常的硬件。因此,请保留一份您写下的配置副本,并将其与发票和实际交付的硬件进行核对。如果存在问题,立即致电您的供应商将最大限度地提高您快速解决问题的机会。

然后安装您的 Linux 并享受乐趣。

Eric S. Raymond 自 1973 年以来对 Unix 感兴趣,自 1976 年以来上网,自 1983 年以来成为领先的 Emacs 黑客之一,自 1990 年以来成为 Jargon File 的维护者。他被列为 Linux 核心开发人员。在不进行黑客攻击时,他可能会阅读科幻小说、演奏爵士长笛或与女友的猫练习心灵感应。他的网页是 http://www.ccil.org/~esr。

加载 Disqus 评论