网站做支付需要准备什么/网站快速排名推广软件
图片
CentOS/RHEL7网卡命名规则介绍
图片
传统的Linux服务器网卡的名称命名方式是从eth0,eth1,eth2....这种方式命名的,但是这个编号往往不一定准确对应网卡接口的物理顺序,常规模式下我们使用的服务器设备可能只有一张网卡,若网卡较多的情况下可能存在网卡乱序的问题。
从CentOS/RHEL7 起,可预见的命名规则变成了默认,通过这一规则,接口名称被自动基于固件,拓补结构和位置信息来确定。即使添加或者移除网络设备,接口名称仍然可以保持固定,而无需重新枚举,换掉的硬件也可以做到无缝替换。
目前新的命名规则有两种方式:Biosdevname & net.ifnames。
默认情况下,systemd 会使用以下策略,采用支持的命名方案为接口命名:
- 方案 1:如果固件或 BIOS 信息适用且可用,则使用整合了为板载设备提供索引号的固件或 BIOS 的名称(例如:eno1),否则请使用方案 2。
- 方案 2:如果固件或 BIOS 信息适用且可用,则使用整合了为 PCI 快速热插拔插槽提供索引号的固件或 BIOS 名称(例如 ens1),否则请使用方案 3。
- 方案 3:如果硬件连接器物理位置信息可用,则使用整合了该信息的名称(例如:enp2s0),否则请使用方案 5。
- 方案 4:默认不使用整合接口 MAC 地址的名称(例如:enx78e7d1ea46da),但用户可选择使用此方案。
- 方案 5:传统的不可预测的内核命名方案,在其他方法均失败后使用(例如:eth0)。
这个策略(如上所述)是默认策略。如果该系统已启用 biosdevname,则会使用该方案。注:启用 biosdevname 需要添加 biosdevname=1 作为内核命令行参数(Dell 系统除外),此时只要安装 biosdevname,就会默认使用该方案。如果用户已添加 udev 规则,该规则会更改内核设备名称,则会优先使用这些规则。
了解设备重命名过程
设备命名过程如下:
1、/usr/lib/udev/rules.d/60-net.rules 文件中的规则会让 udev 帮助工具 /lib/udev/rename\_device 查看所有 /etc/sysconfig/network-scripts/ifcfg-suffix 文件。如果发现包含 HWADDR 条目的 ifcfg 文件与某个接口的 MAC 地址匹配,它会将该接口重命名为 ifcfg 文件中由 DEVICE 指令给出的名称。
2、/usr/lib/udev/rules.d/71-biosdevname.rules 中的规则让 biosdevname 根据其命名策略重命名该接口,即在上一步中没有重命名该接口、已安装 biosdevname、且在 boot 命令行中将 biosdevname=0 作为内核命令给出。
3、 /lib/udev/rules.d/75-net-description.rules 中的规则让 udev 通过检查网络接口设备,填写内部 udev 设备属性值 ID\_NET\_NAME\_ONBOARD、ID\_NET\_NAME\_SLOT、ID\_NET\_NAME\_PATH。注:有些设备属性可能处于未定义状态。
4、 /usr/lib/udev/rules.d/80-net-name-slot.rules 中的规则让 udev 重命名该接口,优先顺序如下:ID\_NET\_NAME\_ONBOARD、ID\_NET\_NAME\_SLOT、ID\_NET\_NAME\_PATH。并提供如下信息:没有在步骤 1 或 2 中重命名该接口,同时未给出内核参数 net.ifnames=0。如果一个参数未设定,则会按列表的顺序设定下一个。如果没有设定任何参数,则不会重命名该接口。
第 3 步和第4 步采用命名规则 1、2、3,可自选方案 4 。
使用 BIOSDVNAME 保持网络设备命名一致
通过 biosdevname udev 帮助程序实施此功能,可将所有内嵌网络接口名称、PCI 卡网络接口名称、以及现有eth[0123…] 的虚拟功能网络接口名称改为新的命名规范。
biosdevname 命名惯例
图片
系统要求
biosdevname 程序使用来自系统BIOS 的信息,特别是 SMBIOS 中包含。type 9(系统插槽)和 type 41(板载设备扩展信息)字段。如果系统的 BIOS 没有 SMBIOS 版本 2.6 或更高版本和这个数据,则不会使用新的命名规则。大多数老硬件不支持这个功能,因为缺少有正确 SMBIOS 版本的 BIOS 和字段信息。
必须安装 biosdevname 软件包方可或使用这个功能。要安装这个软件包,请作为 root 用户运行以下命令:
yum install biosdevname
启用和禁用该功能
要禁用这个功能,请在安装过程中及安装后,在 boot 命令行中使用以下选项:
biosdevname=0
要启用这个功能,请在安装过程中及安装后,在 boot 命令行中使用以下选项:
biosdevname=1
除非系统达到最低要求,否则会忽略这个选项,同时系统会使用 systemd 命名方案。
如果指定 biosdevname 安装选项,那么它就必须在该系统的声明周期内作为其引导选项使用。
控制网络设备名称选择
可以如下方式控制设备命名:
根据网络接口设备识别
在 ifcfg 文件中使用 HWADDR 指令设定 MAC 地址,这样就可由 udev 识别。会从 DEVICE 指令提供的字符串中提取该名称,根据惯例,该名称应使用与 ifcfg 相同的后缀。例如:ifcfg-eth0。
通过打开或关闭 biosdevname
可使用由 biosdevname 提供的名称(如果 biosdevname 可确定)。
通过打开或关闭 systemd-udev 的命名方案
可使用由systemd-udev 提供的名称(如果 systemd-udev 可确定)。
禁用一致网络设备命名:
请选择以下方法之一禁用一致网络设备命名:
1、通过屏蔽默认策略中的 udev 规则文件,禁止分配固定名称,以便重新使用不可预期的内核名称。可为 /dev/null 生成一个符号链接完成“屏蔽”。请作为 root 用户运行以下命令:
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
2、创建自己的手动命名方案。例如:将接口命名为 “internet0”、“dmz0” 或 “lan0”。要创建自己的 udev 规则文件,并为那些设备设置 NAME 属性。确定在使用默认策略文件前使用该文件。例如:将其命名为 /etc/udev/rules.d/70-my-net-names.rules。
3、修改策略文件,使其选择不同的命名方案后。例如:默认根据接口的 MAC 地址命名所有接口。作为 root 复制默认策略文件,如下:
cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-slot.rules
4、在 /etc/udev/rules.d/ 目录中编辑文件,并根据需要修改。
在 GRUB 2 菜单的内核命令行中添加以下指令
net.ifnames=0
更新所有 GRUB 2 内核菜单条目,作为 root 用户输入以下命令:
grub2-mkconfig -o /boot/grub2/grub.cfg
PS:以上内容引用Redhat官方文章,并有做部分修改:
https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/networking_guide/ch-consistent_network_device_naming
若要使用旧的方式去命名网卡该如何处理?
图片
以上介绍了关于CentOS/RHEL7命名规则,但在某些应用场景下,客户还是需要在CentOS/RHEL7的系统下采用CentOS6的命名规则,但这种情况下CentOS/RHEL7不能很好的支持,大概率会产生乱序问题;
一般做法如下:
我们需要手动修改grub文件,增加 net.ifnames=0 biosdevname=0
GRUB_CMDLINE_LINUX="CRASHKERNEL=auto net.ifnames=0 biosdevname=0 rhgb quiet"
再执行:
grub2-mkconfig -o /boot/grub2/grub.cfg
重启系统
然后添加udev规则:
在”/etc/udev/rules.d“目录中创建一个网卡规则”70-persistent-net.rules“,并写入下面的语句:
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{type}=="1" ,KERNEL=="0000:08:00.1",NAME="eth0"
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{type}=="1" ,KERNEL=="0000:08:00.2",NAME="eth1"
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{type}=="1" ,KERNEL=="0000:58:00.1",NAME="eth2"
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{type}=="1" ,KERNEL=="0000:58:00.2",NAME="eth3"
busid的获取方式为(其他网卡同理):
ethtool -i eth0
bus-info:0000:58:00.0
但此时网卡依然乱序:
图片
我的某客户环境下,有4个网口(两个网卡,一个为intel x722,一个为博通千兆网卡),rules中无法使用eth0-eth3这几个命名(无效),目前猜测是由于系统有某些配置文件优先级高于70-persistent-net.rules(eth4之后的任何命名均不存在问题)。
从Redhat官方的解释来看,CentOS/RHEL7已经不支持这种命名方式,并不给与相关技术支持。
我们采取折中方法,根据客户实际机器网卡配置不同型号为切入口,调整驱动加载顺序,来解决客户的问题;
GRUB_CMDLINE_LINUX="CRASHKERNEL=auto net.ifnames=0 biosdevname=0 rdloaddriver=tg3 rdloaddriver=i40e rhgb quiet"
图片
综上:若客户采用CentOS/RHEL7以上的系统,我们强烈建议不采用旧的方法进行网卡命名,若一定要采用该方法,则建议使用不同品牌网卡通过调整网卡驱动加载顺序的方式规避问题。
文章转载联想TSE技术文档
更多技术文档,请查阅365文档https://www.365doc.com.cn
相关文章:

CentOS/RHEL7环境下更改网卡名称为CentOS6的传统命名规则
图片 CentOS/RHEL7网卡命名规则介绍 图片 传统的Linux服务器网卡的名称命名方式是从eth0,eth1,eth2....这种方式命名的,但是这个编号往往不一定准确对应网卡接口的物理顺序,常规模式下我们使用的服务器设备可能只有一张网卡,若网卡较多的情…...

飞书开发学习笔记(三)-利用python开发调试云文档和电子表格
飞书开发学习笔记(三)-利用python开发调试云文档和电子表格 一.建立Python飞书开发环境 首先还是进入开放平台下的API调试台 飞书开放平台:https://open.feishu.cn/app?langzh-CN 以获取"我的空间"下的文件清单为例,通过获取飞书API调试台提…...

爆火的正规号卡推广分销 流量卡分销代理平台
正规号卡推广和流量卡分销代理可以通过“聚量推客”申请 聚量推客上的号卡单价高 数据及时 结算快,你还可以搭配平台上的拉新产品各种推广场景,更值得拥有哦...

Gin框架入门实战系列教程之Gin环境搭建 Gin程序的热加载 Gin路由 GET POST PUT DELETE
Gin框架入门实战系列教程之Gin环境搭建 Gin程序的热加载 Gin路由 GET POST PUT DELETE 主讲教师:(大地) 在线文档见网盘下载: 百度网盘 请输入提取码 提取码:abcd 一、Gin介绍 Gin 是一个 Go (Golang) 编写的轻量级…...

浏览器自动播放音视频-前端实现方案
目录 前言 浏览器自动播放策略 策略详情: 实现方案 方案1: 互动后播放 方案2: 互动后出声 总结 前言 在开发中可能有遇到这样的需求,当用户打开页面后,需要自动播放视频或音频,按理说那就打开页面…...

HttpUtils工具类
作为Java开发程序员,需要我们经常写一些工具类来简化开发过程,我们自己肯定写过或者用过HttpUtils用来发送http请求,但是每次手写太繁琐了,于是就按照标准写了一个Http工具类,现在分享出来。 1.HTTP请求简介 HTTP(Hy…...

AI:59-基于深度学习的行人重识别
🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…...

TCP编程及基础知识
一、端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区分TCP端口号与UDP端口号独立端口用两个字节来表示 2byte(65535个) 众所周知端口:1~1023(1~255之间为众所周知端口ÿ…...

二百零一、Flink——Flink配置状态后端运行后报错:Can not create a Path from an empty string
一、目的 在尚硅谷学习用Flink配置状态后端的项目中,运行报错Exception in thread "main" java.lang.IllegalArgumentException: Can not create a Path from an empty string 二、Flink的状态后端(state backend)类型 (一)Memo…...

Python 爬虫基础
Python 爬虫基础 1.1 理论 在浏览器通过网页拼接【/robots.txt】来了解可爬取的网页路径范围 例如访问: https://www.csdn.net/robots.txt User-agent: * Disallow: /scripts Disallow: /public Disallow: /css/ Disallow: /images/ Disallow: /content/ Disallo…...

亚马逊云科技大语言模型的创新科技
陈老老老板🤴 🧙♂️本文专栏:生活(主要讲一下自己生活相关的内容)生活就像海洋,只有意志坚强的人,才能到达彼岸。 🧙♂️本文简述:亚马逊云科技大语言模型的创新科技 🧙♂️上…...

Qt 各种数据类型
目录 1. 基础类型 2. log 输出 3. 字符串类型 3.2 QByteArray 构造函数 数据操作 子字符串查找和判断 遍历 查看字节数 类型转换 3.3 QString 4. QVariant 4.1 标准类型 4.2 自定义类型 5. 位置和尺寸 5.1 QPoint 5.2 QLine 5.3 QSize 5.4 QRect 6. 日期和…...

电动车展示预约小程序的作用如何
电动车可以说是现在出行常见的方法,覆盖年龄广几乎是每家必备,也有不小大小品牌和经销商,市场需求较高,但在实际经营中,对经销商来时也面临着一些痛点: 1、品牌传播产品展示难 不同品牌竞争很大ÿ…...

「随笔」浅谈2023年云计算的发展趋势
在2023年,云计算的发展趋势将受到政治、经济、社会和科技四个维度的影响。以下是对这些维度的具体分析: 1.1 政治维度: 全球政策推动: 随着全球各国政策对云计算的重视程度不断提高,云计算服务将获得更广泛的市场准入…...

高性能三防工业平板电脑 防摔防爆电容屏工控平板
HT1000是一款高性能工业三防平板,10.1英寸超清大屏,厚度仅14.9mm,超薄机身,可轻松插入袋中,方便携带,搭载8核2.0GHz高性能CPU,行业领先的Android 11.0,设备性能大幅提升,…...

mac flutter pb解析报错:protoc-gen-dart: program not found or is not executable
在mac对pb文件转dart文件的时候报错:protoc-gen-dart: program not found or is not executable 原因是没有安装protoc-gen-dart或者protoc-gen-dart没有设置到环境变量中 解决办法: 1、安装protoc-gen-dart flutter pub global activate protoc_plu…...

PostgreSQL 连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?
开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(…...

Linux驱动开发——USB设备驱动
目录 一、 USB 协议简介 二、 Linux USB 驱动 三、 USB 设备驱动实例 一、 USB 协议简介 USB(Universal Serial Bus,通用串行总线)正如它的名字一样,是用来连接PC外设的一种通用串行总线,即插即用和易扩展是它最大的特点。所谓即插即用&am…...

微服务使用指南
微服务使用指南 1.初识微服务 微服务可以认为是一种分布式架构的解决方案,提供服务的独立性和完整性,做到服务的高内聚、低耦合。 目前服务架构主要包含:单体架构和分布式架构。 1.1 单体架构 单体架构:把所有业务功能模块都…...

MYSQL运维篇(已完结)
一、日志 1. 错误日志 2. 二进制日志 😎 介绍 😎 日志格式 😎 日志查看 😎 日志删除 3. 查询日志 4. 慢查询日志 二、主从复制 1. 概述 2. 原理 3. 搭建 4. 总结 三、分库分表 1. 介绍 🍤 问题分析 🍤…...

MapReduce性能优化之小文件问题和数据倾斜问题解决方案
文章目录 MapReduce性能优化小文件问题生成SequenceFileMapFile案例 :使用SequenceFile实现小文件的存储和计算 数据倾斜问题实际案例 MapReduce性能优化 针对MapReduce的案例我们并没有讲太多,主要是因为在实际工作中真正需要我们去写MapReduce代码的场…...

面向萌新的数学建模入门指南
时间飞逝,我的大一建模生涯也告一段落。感谢建模路上帮助过我的学长和学姐们,滴水之恩当涌泉相报,写下这篇感想,希望可以给学弟学妹们一丝启发,也就完成我的想法了。拙劣的文笔,也不知道写些啥,…...

基于 golang 从零到一实现时间轮算法 (二)
Go实现单机版时间轮 上一章介绍了时间轮的相关概念,接下来我们会使用 golang 标准库的定时器工具 time ticker 结合环状数组的设计思路,实现一个单机版的单级时间轮。 首先我们先运行一下下面的源码,看一下如何使用。 https://github.com/x…...

【系统架构设计】架构核心知识: 5 系统安全性与保密性设计
目录 一 信息安全基础 1 信息安全的基本要素 2 信息安全的范围 3 网络安全...

无人零售奶柜:革新牛奶购买体验
无人零售奶柜:革新牛奶购买体验 无人零售奶柜的投放地点覆盖了社区、写字楼等靠近居民的场所,大大提升了消费者购买牛奶的体验。这一创新不仅令消费者能够享受到与电商平台相媲美的直供价格优势,还让他们能够购买更多、更丰富的知名品牌牛奶。…...

【Mybatis小白从0到90%精讲】15: Mybatis配置打印SQL日志
文章目录 前言配置日志实现前言 日志(Log)是每个程序都不可或缺的一部分,它可以帮助开发人员诊断和调试问题。Mybatis,作为一款备受赞誉的ORM框架,自然也提供了强大的日志功能。 它不仅提供了内置的标准实现,还支持集成各种主流的日志框架,让我们可以轻松地查看最终执行…...

vue3-video-play视频播放组件
安装: npm i vue3-video-play --save使用说明: https://codelife.cc/vue3-video-play/guide/install.html...

vue项目中页面遇到404报错
vue页面访问正常,但是一刷新就会404的问题解决办法: 1.解决方法: 将vue的路由模式 mode: history 修改为 mode: hash模式 //router.js文件 const router new Router({//mode: history, mode: hash,routes: [{ path: /, redirect: /login …...

快手直播弹幕websocket protobuf序列化与反序列化
系列文章目录 websocket训练地址:https://www.qiulianmao.com,正在搭建中 基础-websocket逆向基础-http拦截基础-websocket拦截基础-base64编码与解码基础-python实现protobuf序列化与反序列化基础-前端js实现protobuf序列化与反序列化基础-protobufjs实现protobuf序列化与反…...

viple入门(三)
(1)条件循环活动 条件循环活动中,必须给定条件,条件成立,则执行条件循环的后续程序。 条件不成立,则不执行后续程序。 从报错信息来看,程序提示:条件循环要和结束循环活动一起使用。…...