全部博文(1159)
分类: LINUX
2014-04-03 18:28:45
以下内容代表 Matt Domsch 发表,他是 Dell CTO 办公室的一名技术策略专家(也是 Linux 专家)
我长期宠爱的计划之一——(一致性网络设备命名)最终应用于 (强调Fedora 中 “F“的 2 个元素:Features(功能)和 First(第一)),并且以后所有的 Linux 发行版都将如此。你肯定会问,什么是(一致性网络设备命名)?
运行 Linux 的系统一贯将以太网设备命名为 ethX。你的桌面可能有一个以太网端口,命名为 eth0。如果你仅有一个网络端口,这样毫无问题,但如果出现戴尔 服务器的情况,四个以太网端口该怎么办?它们被命名为 eth0、eth1、eth2、eth3,分 别对应机箱背面的标签 1、2、3、4。某些时候确实如此。除了从 0 开始,而不是从 1 开始导致的明显命名混乱外,还可能出现其他混乱情况,如每个端口在每次启用时可能无法获得相同的名称,此外它们的命名顺序可能是任意的。如果将网卡添加到 PCI 插槽,情况还会更糟,主板上的端口和新添加卡上的端口命名可能相互混杂。
尽管已有多种解决方案提出(去年 Linux Plumbers Conference 会议的详情),但直至今日,仍无可行的方法。
运行biosdevname,这是 Dell 开发的工具,旨在为网络设备的命名理清思路(并且保持一致性!)。Biosdevname 是一款 udev 帮助程序,可根据系统 BIOS 提供的信息对网络接口进行重命名。
新的命名规则如下:
由此,Linux 网络接口名称与外部可见的网络端口(RJ-45 机架)之间建立了明确的对照。
从何处获取此信息?其算法相当简单:
将带来什么影响?
如果你的脚本采用硬编码的 eth0,或者假设 ethX 为特定端口,则你的脚本已存缺陷(或许你并不知道)。请开始规划在将来使用新的接口命名,并根据需要调整你的脚本。
Fedora 15 将是默认采用 biosdevname 的首个发行版。1 月 27 日星期四是测试日。欢迎大家下载实时镜像,并在你的系统上启动,检查你的网络接口是否已根据以上规则进行命名,以及是否一切的效果均如预期。你还可借此机会检查你的定制脚本,寻找硬编码的 ethX 值,为将来的命名变更做好准备。
一旦使用 Fedora获得足够的关注和验证,我希望这样的变化扩展到其他的 Linux 发行版,并逐渐覆盖其他的操作系统。请务必留意。