eth1配置不生效
⑴ 虛擬機復制或備份導致 eth0 網卡丟失
前段時間安裝centos的虛擬機,安裝好後,為了怕以後麻煩,所以備份了一個虛擬機的鏡像,昨天把虛擬機鏡像導到 VmWare 中,發現原來安裝的 eth0 網卡消失不見了。
初始以為網卡被卸載了,使用 ifconfig eth0 up 命令准備激活 eth0 網卡,結果系統提示無法識別的設備,輸入 ifconfig -a 查看網卡設備,發現原來的 eth0 變成了 eth1,使用 ls /etc/sysconfig/network-scripts/ 查看,發現該目錄下沒有出現 ifcfg-eth1 的文件,只有一份原來鏡像里安裝的ifcfg-eth0 的文件,用 more /etc/udev/rules.d/70-persistent-net.rules 查看該文件,發現裡面多了一個 eth1的配置。
於是從網上搜了下,說要把 70-persistent-net.rules 文件中的 eth0 配置全部刪除,把 eth1 的配置中有關 eth1 的字眼全部改成 eth0,然後把eth1 配置中的網卡 mac 地址記下,填入 /etc/sysconfig/network-scripts/ifcfg-eth0 中,重啟服務即可。結果仍沒有生效。
萬般無奈下,重啟了虛擬機,然後又查看了下 eth0 網卡,竟然生效了。現把我的操作步驟歸納如下:
a、vim /etc/udev/rules.d/70-persistent-net.rules,把此文件中關於 eth0 的配置刪除,把 eth1 配置中有 eth1 的字眼全部換成 eth0,記下配置文件中的網卡 mac 地址
b、vim /etc/sysconfig/network-scripts/ifcfg-eth0,修改 eth0 的配置文件,把 HWADDR 後面的網卡 mac 地址換成剛才記下的 mac 地址
c、重啟 centos 虛擬機
⑵ 求助centos7網卡問題
解決CentOS7網卡埠出現紊亂的問題
最近項目上,遇到一個問題,讓我們很是沒辦法,就是Dell R920 安裝上CentOS7的系統,做完Bonding後,發現埠重啟系統後會紊亂,過程如下:
埠紊亂情況
伺服器上一共配置了兩張萬兆兩口的網卡和一張千兆四口的網卡,其中不同萬兆卡上,兩埠做Bonding,同時千兆卡上也挑了間隔的兩口做Bonding,大概如下情況:、
eth0,eth1,eth2,eth3千兆埠,eth4,eth5,eth6,eth7是萬兆埠,這時經常紊亂是eth3,eth4的埠,兩埠變更,使得做了bonding的埠無法生效
CentOS7的埠命名規則
原來CentOS6之前的網卡埠命名都是eth的,CentOS7之後千兆網口已經變更成隨機的em0...emN或是ens01(N=整數),萬兆網口則變成p1p2等形式,要修改為eth的模式步驟如下:
a.編輯文件
vi /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 net.ifnames=0 biosdevname=0 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
「以上標紅色的值是修改為eth的基礎」
b.執行命令生效
grub2-mkconfig -o /boot/grub2/grub.cfg
c.增加規劃文件
vi /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="78:2b:cb:xx:xx:01", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="78:2b:cb:xx:xx:02", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="78:2b:cb:xx:xx:03", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="78:2b:cb:xx:xx:04", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:21:xx:xx:a1", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:21:xx:xx:a0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth5"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:60:6e:xx:xx:f6", ATTR{type}=="1", KERNEL=="eth*", NAME="eth6"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:60:6e:xx:xx:f7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth7"
「以上MAC地址與網卡埠對應」
總結:以上方法並不能解決網口紊亂問題,因為官方文檔都要求bond的網卡都不需要寫MAC地址,所以最後我們嘗試使在每個/etc/sysconfig/network-scripts/ifcfg-eth*網卡配置文件上寫上HWADDR,重啟有7-8遍,做ethtool檢查幾次,發現在沒有問題,所以建議遇到同樣問題同學,可以嘗試一下這種方法
⑶ 虛擬機linux添加的新網卡沒有發現其配置文件eth1和eth2。
首先,有沒有發現這個配置文件都沒有什麼所謂的
先查看vi /etc/udev/rules.d/70-persistent-net.rules
這里能看到你的網卡信息,找到你對應網卡的NAME
例如
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:89:9
7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
這里網卡名定義為eth0
然後vi /etc/sysconfig/network-sprict/ifcfg-eth0 新建並編輯這個網卡配置文件,名字其實隨意
內容
DEVICE=eth0 對應上面找到的網卡名,這個是關鍵,其他的按照默認的設置就可以了
設置完之後重啟下服務即可識別使用了
跟你說一件事吧,在VM裡面,你添加了網卡,就算使用了 ifconfig -a也有時候查看不到任何網卡的,但是你的網卡又確實存在。。。。