Skip to Content
Arista Warrior,第二版
book

Arista Warrior,第二版

by Gary A. Donahue
May 2025
Intermediate to advanced
572 pages
8h 39m
Chinese
O'Reilly Media, Inc.
Book available
Content preview from Arista Warrior,第二版

第 7 章 SysDB 系统数据库

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

SysDB 是 Arista 可扩展操作系统 (EOS) 最令人印象深刻的功能之一,它使 Arista 在竞争中脱颖而出。简单地说,SysDB 是交换机上的系统数据库,保存所有状态、变量和其他重要信息,以便进程访问。听起来并不惊天动地,不是吗?请继续阅读。

传统上,交换机(以及其他所有网络设备)都是使用单体代码构建的。当然,当我读到monolithic 这个词时,我会想到 Stanley Kubrick 的杰作《2001:太空漫游》(2001: A Space Odyssey)中围着巨石跳舞的猿猴。除了 "人性的火花 "这一点,这个比喻其实也不错。

Network+ 设备已经存在了几十年,其中许多都是非常成熟的产品,运行着非常成熟的代码。高管们喜欢用 "成熟"这个词来形容那些已经存在了足够长的时间,可以解决所有问题的产品。开发人员并不总是同意这个词的用法。

问题是,其中一些代码也已经存在了几十年。按照我们的单体类比,想象一下 2001 年首次推向市场的交换机。现在再想象一下,12 年后这台交换机仍在生产,软件也已经到了第 13 版左右,只不过我们不叫它第 13 版,而是叫它其他的名字,比如第 15 版。要知道,在许多文化中,数字 13 是不吉利的,尤其是那些崇拜单片代码的文化。

总之,想象一下,最初为交换机编写的软件占用了大约 10 MB 的磁盘空间。现在想象一下,在接下来的 12 年里,每年都有越来越多的功能被添加到代码中。想象一下,交换机的功能变得如此之多,以至于在这 12 年之后,代码消耗的磁盘空间增加到了 100 MB。

技术进步的速度令人震惊,今天作为标准产品的预期功能在 12 年前可能还无法想象。新硬件变得越来越复杂,这就需要更复杂的代码,而所有这些代码都要添加到原始代码库中。如果最初的编码人员没有预料到 12 年后的发展,他们可能就不会让原始代码易于扩展。也许,在过去的 12 年里,内存架构发生了变化。如果你和我一样老,你可能还记得 640 K 内存超出计算机所需内存的时代。如今,我的 Mac Pro 拥有 128 GB 内存。世事无常。我无法想象今天还能运行 DOS 机器。截至本文撰写之时,Windows XP 在 12 年前还风靡一时。你想要基于 Windows XP 的交换机吗?

这还不是全部。即使代码写得很好,而且多年来添加的例程也写得很好,但事实仍然是一大段代码被塞进了内存。如果你加载了一个支持生成树协议(STP)的映像,但你并不需要 STP,那么 STP 进程仍会留在内存中,占用空间。该进程不仅会占用空间,而且如果这一段代码崩溃了会怎样?由于该代码只是一大堆单片代码中的一个例程,整个交换机都会崩溃。真扫兴。

那么,一定有更好的办法,对吗?当然有!Linux 改变了服务器领域的一切,在 Network+ 领域也是如此。在 Linux 中,交换机运行一个内核和一个进程管理器。进程管理器负责管理每个进程(这也是它名字的由来),并在进程崩溃时重新启动它们。在这种模式下,如果 STP 崩溃,也不会连累交换机的其他部分。还是会这样?

为了正确保护 Linux 系统免受行为不端进程的影响,每个进程都应被写入使用自己的用户虚拟地址空间。在不涉及服务器架构讨论的情况下,请理解这种内存是受保护的空间,只有拥有它的进程才能寻址。如果使用这种模式编写,一旦 STP 崩溃,只有 STP 受到影响;交换机的其他部分将继续运行,不受影响。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

A Practical Guide to Fedora™ and Red Hat® Enterprise Linux®, Seventh Edition

A Practical Guide to Fedora™ and Red Hat® Enterprise Linux®, Seventh Edition

Mark G. Sobell

Publisher Resources

ISBN: 9798341658967