Linux 在现实世界中的应用:Linux 为 IKEA 服务
事情开始于去年年初的一次偶然事件。我们使用租用线路和基于 VMS 的 Kermit 向业务伙伴发送文件的系统反复出现问题。一位顾问建议我们安装一台装有 UUCP 的 PC 作为替代方案。我们同意了,PC 到了,猜猜我在磁盘上找到了什么操作系统。没错,是 Linux 1.0,我们——以及我——第一次体验基于 PC 的 Unix 系统。
对于那些不了解 IKEA 的人,这里是对我们公司的一个概述。IKEA 是一家家具和家居用品零售商。我们在几乎所有欧洲国家、美国和加拿大以及远东地区(包括澳大利亚)都设有分店。这些国家被细分为组织单元。我们的部门,北欧(在撰写本文时),负责管理 7 个欧洲国家的商店、仓库和办公室。我们的总部位于瑞典南部的赫尔辛堡,这是我工作的地方。
从这里,我们有到所有“我们”的国家以及其他 IKEA 分支机构的网络连接。我们还有几台 DEC Alpha 系统作为中央“大型机”,用于通用的数据库应用程序。这些系统对我们的生存至关重要(连接到这些系统的网络连接也是如此)。
像许多其他公司一样,我们正在迅速发展我们的 IT 结构,使其更趋向于分布式系统。这意味着以前可以中断一天或更长时间而不会造成严重问题的通信线路,现在正变得对业务绝对至关重要。
在 1994 年末和 1995 年初,我们在 IKEA 北欧重组了我们的欧洲网络,使其拥有更快的链路、新的路由器、LAN 等。从或多或少纯粹的 DECNET 网络,我们越来越多地转向 TCP/IP,因为这是我们全球姊妹组织之间的共同点。在计划这项重大任务的同时,我们也发现我们必须更改我们的 IP 地址和命名,以避免混乱。我们的决定是建立一个树状结构的 DNS [footnote:域名服务] 系统,根位于我们瑞典赫尔辛堡的总部,并在每个站点设置辅助 DNS 服务器。DNS 服务器将为大约 75 台 VMS 系统、20 台 AIX 系统以及数百台其他 PC 和 NT 服务器提供服务。
一个选择是使用现有的 VMS 或 AIX 系统作为主服务器,但由于我们要求 100% 的正常运行时间,这不是很吸引人。并不是说 VMS 或 AIX 系统不可靠,而是它们被用于其他任务,这意味着它们可能会因许多不相关的原因而宕机。我们意识到我们需要一个专用系统来避免问题。
那是在我们第一台 Linux 系统一年之后;由于我已经在家和工作场所运行 Linux 一年多,并且确信它的实用性和稳定性,所以我建议使用 Linux。我的老板听取了我的论点,并同意尝试一下。
我们购买了两台 486/33 机器,每台配备 8 MB 内存,我在三月的一个雨天开始安装 1.1.91 版本。两天后,我们启动并运行了 BIND 4.3.9 [footnote:名称服务器程序],并使用第二台 PC 作为备份系统,以防第一台 PC 发生故障。在内部运行一周后,我们决定开始转型。整个技术部门花了一个周末时间更改了遍布欧洲的 300 多个 TCP/IP 系统。在星期一早上,我们有超过 50 台辅助 DNS 服务器(主要是运行 TCPware 的 VMS 系统)从主服务器 PC CYGNUS 获取信息。从第一天开始,CYGNUS 还为我们总部的约 200 个 IP 系统提供服务。
为了冗余,所有总部系统都在其解析器文件中同时配置了“主服务器”和“辅助服务器”。经验测试(拔掉网线)表明,这运行完美无缺。 另一件事是,如果 CYGNUS 完全崩溃,我们可以用第二台 PC VIRGO 替换它。为了使切换更容易一些,我们通过 cron 定期 rcp 所有 DNS、RCS 和 passwd 文件。所有 CYGNUS 特定的文件(rc.inet 等)也安全地存储在 VIRGO 上,因此如果需要,应该很容易切换身份。
正如我提到的,我们使用 GNU RCS 来维护我们的 DNS 文件。我们为所有 IP 系统设置了一个主文件,并为每个国家/地区设置了一个反向转换文件。所有被允许编辑这些文件的人都有自己的私人帐户,这使我们可以很好地了解谁做了什么,并且能够在他们做错事的情况下撤销他们的编辑。
IKEA 内部正在使用 RFC 推荐的地址 10.x.x.x。每个国家/地区都将其早期的 DECNET 区域作为第二个数字,例如,比利时的地址是 10.14.x.x,因为他们位于 DECNET 区域 14。第三部分代表位置,因此安特卫普的地址是 10.14.5.x。这为每个 LAN 或站点留下了 253 个可能的主机,并使我们能够为所有国家/地区使用 C 类子网掩码。同样,例外情况是我们的总部,它拥有超过 253 个主机。我们分配了一个特殊的“区域” 62,并在总部使用 B 类子网掩码。
主文件名为 named.neurope,反向文件名为 named.xx,其中 xx 是每个国家/地区的 ISO 代码(be、gb、dk、se、nl 和 no)。我们还有一个针对我们总部的反向文件 named.hbg,因为这是最大的“域”。例如,图 1 包含从此文件中编辑的摘录。
缓存 (named.ca) 文件包含我们中央 DNS 系统(互联网连接所在位置)以及我们姊妹组织的主 DNS 服务器的条目。
启动 (named.boot) 文件有一个“forwarders”记录,该记录将所有未知查找路由到我们连接到互联网的 DNS 服务器,以及一个声明我们是我们组织的主服务器的记录。
我们的辅助服务器(40 台 VMS 主机)具有相应的文件,其中包含指向 CYGNUS 的指针,以便它们知道从哪里“区域传输”文件和更新。这些更新在启动时和每四个小时进行一次。
如今,由于每周每天都有新的带有联网 NT 服务器和 Windows PC 的 LAN 涌现,系统规模已增加到 700 多个 IP 主机。CYGNUS 和他的伙伴(是的,他是雄性)是如何应对的? 至今为止,还没有出现任何值得一提的问题(除了导致两个系统都瘫痪的完全停电)。哦,是的:一个 大 问题是让不习惯 Unix 的人使用 RCS 和 vi 来管理我们的 DNS 文件。
Linux 的另一个问题是它太便宜了。我是认真的,因为很多人仍然在便宜/免费和坏/危险之间划等号。在 Linux(和 XFree86)的情况下,这已被证明是纯粹的无稽之谈。
瑞典这里有一些公司提供 Linux 支持。我认为这将有助于使 Linux 更容易被社会接受;如果你找到有人愿意接受你的支票,那么如果出现无法解决的问题,你总是可以对他大喊大叫。就我个人而言,我更喜欢与程序员和设计师直接联系。
一年后,该系统仍在运行 Linux 1.0 和 UUCP。出现了一些问题,所有问题都是由另一个 UUCP 合作伙伴(我不会提及任何品牌)引起的,但总而言之,每个人都很高兴。事实上,非常高兴,以至于我们的一些技术人员也在他们自己的 PC 上尝试了 Linux。有些人,像我一样,永远保留了 Linux。
Anders Östling 是一位铁杆 VMS 粉丝,在 Digital 公司工作了 10 年后,他越来越深入地研究 Unix 和网络。当不从事他受雇的工作——管理计算机和网络时——他喜欢与他的孩子、计算机、宠物和妻子依偎在一起(没有特定的顺序......)。他住在赫尔辛堡郊外的乡村,在一个名为 Gunnarstorp 的古老矿工村庄。当您在瑞典时,不要错过那里!如果您有任何问题或意见(一般性问题或 DNS),可以通过 anos@ineab.ikea.se 与他联系。