centos NAME DEVICE?centos镜像

其实centos NAME DEVICE的问题并不复杂,但是又很多的朋友都不太了解centos镜像,因此呢,今天小编就来为大家分享centos NAME DEVICE的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

CentOS里ifcfg的device详解

#cat ifcfg-eth0

device=eth0

...

原因:有个多节点服务器迁移机房,怕碰坏了,先把硬盘拆下来,结果放回去的时候记错顺序了,造成开机网卡对不上,原有的eth01变成eth23,知道怎么搞。

分析:

CentOS下找不到eth0设备的解决方法

经过百度,了解了一些信息,特此记录在此,以备忘。为什么eth0会变成eth1?很多Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而对于新的虚拟机,VMware会自动为虚拟机的网卡生成MAC地址,当你克隆或者重装虚拟机软件时,由于你使用的是以前系统虚拟硬盘的信息,而该系统中已经有eth0的信息,对于这个新的网卡,udev会自动将其命名为eth1(累加的原则),所以在你的系统启动后,你使用ifconfig看到的网卡名为eth1。

这里的eth0是在/etc/udev/rules.d/70-persistent-net.rules定义的

# This file was automatically generated by the/lib/udev/write_net_rules

# program, run by the persistent-net-generator.rules rules file.

#

# You can modify it, as long as you keep each rule on a single

# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f(e1000)

SUBSYSTEM==net, ACTION==add, DRIVERS==?*, ATTR{address}==xx:xx:xx:xx:xx:xx, ATTR{type}==1, KERNEL==eth*, NAME=eth0

解决:为什么eth0会变成eth1?

如何恢复到eth0? udev记录网络规则的脚本为:/etc/udev/rules.d/70-persistent-net.rules [user@localhost~]$ vi/etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the/lib/udev/write_net_rules

# program run by the persistent-net-generator.rules rules file.

#

# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x1022:0x2000(pcnet32)

SUBSYSTEM==net, ACTION==add, DRIVERS==?*, ATTR{address}==00:0c:29:5a:6c:73, ATTR{type}==1,KERNEL==eth*, NAME=eth0

SUBSYSTEM==net, ACTION==add, DRIVERS==?*, ATTR{address}==00:0c:29:a9:22:9d, ATTR{type}==1,KERNEL==eth*, NAME=eth1

CentOS下找不到eth0设备的解决方法打开该文件,这时你会发现,里面有eth0,eth1两个网卡的信息,但实际上你ifconfig时只能发现eth1一个网卡的信息,这时因为eth0根本就不存在。将其中eth0的信息删掉,并将eth1信息中的设备名改为eth0,重启系统,你看到的网卡就是eth0了,或者删掉其中所有的信息重启系统udev会帮你发现新的设备的。另外还有一个启动脚本文件/etc/sysconfig/network-scripts/ifcfg-eth0,该文件中的mac地址为原来eth0网卡的物理地址,而虚拟机为eth1分配新的物理地址,故启动脚本中的信息与实际信息时不匹配的,将MAC的地址信息修改为70-persistent-net.rules中的eth1的MAC地址,再次重启网络,就完全恢复到以前eth0网卡的状态了。

centos怎么查看hostid

天迁移以前的一个装有flexlm的虚拟机,结果发现在迁移后启动时报错

... Wrong hostid on SERVER line for license file

...

... SERVER line says 00e081787ba8, hostid is(Cannot get hostid of type 2 [])

... Invalid hostid on SERVER line1234

解决办法

从问题描述看,好像是取到hostid有问题,用lmhostid检查一下,发现取到的hostid为”“

./lmhostid

lmhostid- Copyright(c) 1989-2004 by Macrovision Corporation. All rights reserved.

The FLEXlm host ID of this machine is""123

由于FLEXlm会使用第一块网卡(eth0)的mac地址做hostid,所以用ifconfig检查网络配置,发现其中没有eth0,如下:

eth1 Link encap:Ethernet HWaddr 00:E0:81:78:7B:A8

inet addr:192.168.0.88 Bcast:192.168.0.255 Mask:255.255.255.0

inet6 addr: fe80::2e0:81ff:fe78:7ba8/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:2463804 errors:0 dropped:0 overruns:0 frame:0

TX packets:345560 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:924819172(881.9 MiB) TX bytes:34087357(32.5 MiB)

Interrupt:11

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr:::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:65536 Metric:1

RX packets:2843863 errors:0 dropped:0 overruns:0 frame:0

TX packets:2843863 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:729294023(695.5 MiB) TX bytes:729294023(695.5 MiB)123456789101112131415161718

但是在用linux自带网络配置工具和/etc/sysconfig/network-scripts/下的文件配置看,确实是用的eth0。这说明配置出现了不一致问题。

最后,检查/etc/udev/rules.d/70-persistent-net.rules文件

# PCI device 0x1af4:0x1000(virtio-pci)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*l", ATTR{address}=="00:e0:81:78:7b:a8", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10ec:0x8139(8139cp)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:81:78:7b:a8", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"12345

发现了问题,里面有两个网卡配置项,果断修改为

centos7系统重启网卡失败

当尝试在 CentOS 7系统中重启网络服务时,如果执行 service network restart命令后遇到 Job for network.service failed because the control process exited with error code.的错误提示,可以采取以下步骤解决问题:

首先,检查是否存在与 NetworkManager服务的冲突。通常,此错误可能由于服务冲突导致。可以尝试关闭 NetworkManager服务并禁止其开机启动。执行以下命令:

service NetworkManager stop

chkconfig NetworkManager off

之后,重启系统以确保更改生效。

如果问题仍未解决,检查网络配置文件与实际 MAC地址是否匹配。使用 ip addr(或 ifconfig)命令查看系统当前的 MAC地址,如 00:0c:29:5f:9e:1d。然后,修改/etc/sysconfig/network-scripts/ifcfg-xxx文件中的 HWADDR选项,确保其与查询到的 MAC地址一致。如果文件中没有 HWADDR选项,应添加它并赋值。

接下来,设定一个名为 NetworkManager-wait-online的服务,使用以下命令:

systemctl enable NetworkManager-wait-online

在/etc/sysconfig/network-scripts/目录下,删除所有与当前网络配置无关的文件,仅保留一个以 ifcfg开头的文件。确保只包含当前网络设备的配置信息,避免不必要的影响。

对/etc/sysconfig/network-scripts/ifcfg-xxx文件进行最后的调整,注释掉 DEVICE行,将 Name的值更改为与文件名一致。

完成上述步骤后,尝试再次执行 service network restart命令以重启网络服务。如果按照上述步骤操作后仍然遇到问题,建议进一步检查系统日志或寻求专业支持。

阅读剩余
THE END